What file formats can I upload for email verification?
Upload a CSV (.csv) or a plain-text list (.txt or .tsv) — in practice, almost any spreadsheet export works as it comes out of the app that made it. You do not need a column named “email”, you do not need to delete your other columns, and you do not need to rearrange anything: we read every column of every row and pick out the addresses wherever they happen to sit. Commas, semicolons, tabs and pipes are all recognised and detected for you. One file can hold up to 5,000 addresses and be up to 7 MB. Duplicates are removed automatically, so the same address is never checked — or charged — twice.
The email verifier cleans your list before you send, so more of your messages reach the inbox and your sender reputation stays strong. It sits alongside the rest of WarmySender — cold email campaigns, email warmup, LinkedIn outreach, Instagram, and multichannel sequences that combine them — and you can use it entirely on its own without ever sending a message from WarmySender.
What we accept, at a glance
| What works | |
|---|---|
| File type | .csv, .txt or .tsv — upper or lower case. LEADS.CSV is as welcome as leads.csv. |
| Column layout | Anything. One column or sixty, in any order. No column needs to be named “email”. |
| Header row | Optional. With one or without one, both read correctly — and a title line above the real header is skipped. |
| Separator | Comma, semicolon, tab or pipe. Detected automatically; you never have to tell us which one you used. |
| Letters and accents | Accented and non-English characters come through correctly, including Excel’s “Unicode Text” save. |
| Addresses per file | Up to 5,000. Larger lists split into several files — every one lands in the same place. |
| File size | Up to 7 MB per file. |
| Duplicates | Removed automatically. You are never charged twice for the same address. |
If your list is already a spreadsheet, the whole job is: File → Save As (or Download) → choose CSV → upload that file. Nothing else needs doing to it.
You do not need a column called “email”
This is the single most common worry, so here is the plain version: we look in every column of every row. If an address is in there, we find it — whatever the column above it is called, and wherever it sits in the file.
- Any column name works. Work Email, Corporate Email, Primary Email, Email 1, E-Mail-Adresse, Correo, Courriel — or a column with no name at all. A recognisable name is a small helpful hint when a row contains more than one address, never a requirement.
- Any position works. The addresses do not have to be in the first column, or in a tidy one. A file where the address sits in column forty-one, between a phone number and a description, reads exactly as well as a single-column list.
- Extra columns are fine. Company, job title, city, notes, tags, scores, whatever your export includes — leave them in. There is nothing to strip out first.
- No header row? Still fine. If your file starts straight in on the data, the first row is treated as data, not thrown away. And if there is a title line sitting above the real header (“Leads export — March”), that is recognised and skipped.
- Odd formatting is handled. Addresses written as
Jane Doe <[email protected]>, wrapped in quotes, followed by a note in brackets, or two addresses inside one cell all read correctly.
This changed, and if you tried before it may be why it failed. Earlier, only a handful of exact column names were recognised, so a list whose column was named anything else could be refused even though the addresses were right there. Every column is read now. If a list was refused in the past, upload it again exactly as it is — there is a good chance it goes straight through.
Commas, semicolons, tabs and pipes — all detected for you
Semicolons are the one that catches people out, and it is not their doing: in much of Europe, saving as CSV in Excel produces a semicolon-separated file rather than a comma-separated one. It still says “CSV”, it still opens perfectly in Excel, and the difference is invisible unless you open it in a text editor.
You never have to know or care. We look at how your file is laid out and work out which character is separating the columns — comma, semicolon, tab or pipe — before reading anything.
- Commas — the standard export from Google Sheets and from Excel in the UK, the US and most English-language settings.
- Semicolons — the standard export from Excel in Germany, France, Spain, Italy, the Netherlands and much of Europe. Upload it exactly as Excel saved it.
- Tabs — what you get from “Save as Text (tab delimited)”, and from pasting a spreadsheet into a text file. Save it as
.txtor.tsv. - Pipes (
|) — produced by some older systems and by bulk exports from in-house tools.
Commas inside your data are not mistaken for separators either, so a company written as "Acme, Inc." does not break the row it lives in.
Exports we handle
Because we read every column and work out the layout ourselves, an export does not have to be tidied up first. These all upload as they come:
| Where the list came from | What to do |
|---|---|
| Excel | File → Save As → CSV. Comma or semicolon, either is fine. “Unicode Text” saves read correctly too. |
| Google Sheets | File → Download → Comma-separated values. |
| Numbers (Mac) | File → Export To → CSV. |
| Apollo, Lusha, Clay and similar tools | Export the list and upload it as-is. The wide exports with long description columns and line breaks inside cells are read correctly. |
| HubSpot, Salesforce, Pipedrive, Zoho, any CRM | Export contacts to CSV and upload. Every column is scanned, so the address is found whatever the CRM named it. |
| A plain list of addresses | One address per line in a .txt file works perfectly. No header, no commas, nothing else needed. |
Two details worth knowing, because both used to silently lose rows and no longer do:
- Line breaks inside a cell. Prospecting exports often carry a long description or keyword field with paragraph breaks in it. Those breaks stay inside the cell where they belong rather than being read as the start of a new row, so no contact is quietly dropped.
- Accented and non-English names. Names like Zoë, Müller or François, and lists written in non-Latin alphabets, are read as saved — including Excel’s “Unicode Text” export, which some systems produce by default.
Size limits, and what to do with a bigger list
| Limit | Value | What happens if you go over |
|---|---|---|
| Addresses per file | 5,000 | We tell you how many addresses your file actually contains and ask you to split it. Nothing is charged. |
| File size | 7 MB | We say so before the upload finishes, so you are not left waiting on a file that cannot be accepted. |
| Files at once | One | Upload them one after another. There is no limit on how many you run in total. |
Got more than 5,000 addresses? Split the list into files of 5,000 or fewer and upload them one at a time. Every file lands in the same place — you get a result for each one, they sit together in your verification history, and you can download each set of results or turn the good addresses into a ready-to-use list. Nothing is lost by splitting, and keeping each file to that size is what keeps results quick and accurate.
A file that is inside the address limit but over the size limit is almost always carrying a lot of extra columns. You can either delete every column except the addresses and export again, or simply split it — both work.
A file runs in full on the day you upload it, or not at all. Before anything is charged, we check the whole file against what you can verify today — your plan’s remaining daily allowance plus any verification credits you hold. If the file is bigger than that, we refuse it and tell you exactly how many addresses you can verify today; nothing is charged and nothing is stored. Trim the file to that number, or add verification credits (they never expire and skip the daily pace) and run the whole thing straight away. If it fits, the whole file runs.
Duplicates are removed for you
If the same address appears more than once in your file — twice in a column, once in a “work email” column and again in a “contact” column, or across rows you merged from two sources — we check it once.
- You are never charged twice for the same address. Repeats are collapsed before anything is checked, so a list padded with duplicates costs you no more than a clean one.
- Upper and lower case are the same address.
[email protected]and[email protected]count as one. - You do not need to de-duplicate first. Merging two exports into one file is a perfectly good way to work.
This is also why the number of addresses we report can be lower than the number of rows in your spreadsheet — that is duplicates being removed and rows without an address being skipped, not anything going missing.
If it says no addresses were found
The message tells you how many rows we read — for example, “we read 4,312 rows and checked every column in each one”. That number is the fastest way to work out what happened, because it says exactly how far we got:
| What the message says | What it usually means | What to do |
|---|---|---|
| A row count, but no addresses | We read your file fine, but the addresses were not in it — commonly an export where the email column came out empty, or a file where you meant to include the addresses and the column did not make it in. | Open the file and check the addresses are actually there. If they are, re-export it as a CSV from your spreadsheet app and upload that. |
| The file looks empty | No rows at all. Usually a file that did not finish saving, an empty export, or the wrong file picked by mistake. | Open it to confirm it saved correctly, then upload it again. |
| We cannot read that file type | It is not a spreadsheet or text file — most often a workbook (.xlsx), a document or a PDF rather than an export of one. |
Open it in your spreadsheet app, choose Save As or Export, pick CSV, and upload the file that produces. |
One thing this message will never tell you any more is to “add an email column”. We check every column, so a missing column name is never the problem — and telling you it was would be blaming your file for something we had not looked at.
If something goes wrong, you get a reference code
Every message about an upload that did not work ends with a short reference — something like Reference EV-7Q4K2M. It is not a secret and there is nothing to do with it in the app.
It matters for one reason: if you email us and quote it, we can look up that exact attempt — the specific upload, at the specific moment, with what we read from your file — instead of asking you to describe what happened and try again while we watch. Copy the code (or a screenshot of the whole message) into your email to [email protected] and we can go straight to the answer.
Two things are always true when you see one of these messages: nothing has been charged, and your list is untouched. If the message says we are busy, or asks you to try again in a moment, there is nothing to fix on your file — simply uploading it again a few seconds later usually works.
What happens after your file is accepted
- Your file is read first. A file that is empty, unreadable or over the limits is caught straight away — before anything is checked and before anything is charged. You then see exactly how many addresses were picked up and queued.
- Results fill in as they come. Each address comes back as valid, risky, unknown or invalid. You can watch the list fill in and leave the page whenever you like.
- You are only charged for a confirmed answer. An unknown result is always free. Stop a list partway through and anything not yet checked comes straight back to your balance.
- Take the clean list. Download the results as a spreadsheet, or turn the good addresses into a ready-to-use list in one click if you also want to send from WarmySender.
What each result means, and who is safe to email, is covered in what your verification results mean.
Frequently asked questions
What file formats can I upload to the email verifier?
CSV files (.csv) and plain-text lists (.txt or .tsv), in upper or lower case — LEADS.CSV works exactly like leads.csv. In practice that covers almost any spreadsheet export: save or download your list as CSV from Excel, Google Sheets, Numbers, or any CRM or prospecting tool, and upload the file it produces. A plain text file with one address per line works too. Spreadsheet workbooks (.xlsx), documents and PDFs cannot be read directly — open one in your spreadsheet app, choose Save As or Export, pick CSV, and upload that instead.
Does my file need a column called “email”?
No. We read every column of every row and pick out the addresses wherever they are, so the column can be called Work Email, Corporate Email, Primary Email, Email 1, something in another language, or nothing at all. It does not have to be the first column, and you do not need to delete your other columns first. A recognisable column name is only used as a tie-breaker when one row happens to contain more than one address. This is a change — earlier only a handful of exact column names were recognised, so if a list was refused in the past, it is well worth uploading it again as it is.
My Excel export uses semicolons instead of commas. Will it work?
Yes, and you do not have to change a thing. Saving as CSV in Excel produces a semicolon-separated file in Germany, France, Spain, Italy, the Netherlands and much of Europe — it is still a CSV and it is still correct. We detect which character separates your columns before reading anything, and we handle commas, semicolons, tabs and pipes. Commas inside your data are not confused with separators either, so a company name like “Acme, Inc.” does not break its row.
How many email addresses can I upload at once?
Up to 5,000 addresses in a single file, and the file can be up to 7 MB. If your list is larger, split it into files of 5,000 or fewer and upload them one after another — there is no limit on how many files you run in total, only on how big each one is. Every file lands in the same place, so your results sit together and nothing is lost by splitting. Keeping each file to that size is what keeps results quick and accurate. A file runs in full on the day you upload it, or not at all: before anything is charged we check the whole file against what you can verify today — your plan’s remaining daily allowance plus any verification credits you hold — and if it does not fit we refuse it, tell you the exact number you can verify today, and charge nothing and store nothing, so you can trim the file to that number or add credits and run it straight away.
What happens to duplicate addresses in my file?
They are removed automatically before anything is checked, so the same address is verified once and you are never charged twice for it. Upper and lower case count as the same address. That means you do not need to de-duplicate before uploading, and merging two exports into one file is a perfectly good way to work. It also explains why the number of addresses we report can be lower than the number of rows in your spreadsheet: that is duplicates being collapsed and rows without an address being skipped, not contacts going missing.
Why does it say no email addresses were found in my file?
The message tells you how many rows we read, which is the quickest way to tell what happened. If it names a row count, we read your file properly but the addresses were not in it — usually an export where the email column came out empty, so open the file and check they are actually there. If it says the file looks empty, no rows were read at all: the file may not have finished saving, or the wrong one was picked. Either way, re-exporting the list as a CSV from your spreadsheet app and uploading that fixes almost every case. What it will never tell you is to add an “email” column — we check every column, so that is never the problem.
Do I need to delete my other columns first?
No. Leave your export exactly as it is — company, job title, city, notes, tags, scores, all of it. We scan every column and take only the addresses. The one time it is worth trimming columns is when a file is inside the 5,000-address limit but still over 7 MB, which usually means a very wide export; then you can either remove the columns you do not need and export again, or simply split the list into smaller files. Both work.
Will accented characters and non-English names read correctly?
Yes. Names like Zoë, Müller and François, and lists written in non-Latin alphabets, are read exactly as they were saved — including Excel’s “Unicode Text” save, which some systems produce by default and which used to come out unreadable. Long description fields with line breaks inside them are handled too: the break stays inside the cell where it belongs instead of being read as a new row, so no contact is quietly dropped from a wide prospecting export.
What is the reference code in the error message for?
It is a short code — something like EV-7Q4K2M — that identifies that one upload attempt. There is nothing to do with it in the app. Its only purpose is that if you email us and quote it, we can look up exactly that attempt and see what happened, instead of asking you to reproduce the problem while we watch. Paste it (or a screenshot of the whole message) into an email to [email protected]. Whenever you see one of these messages, nothing has been charged and your list is untouched.
Can I upload an Excel workbook (.xlsx) directly?
Not directly — a workbook is a different kind of file from a list, and it can hold several sheets, formulas and formatting. Open it in Excel (or Google Sheets, or Numbers), choose File → Save As or Download, pick CSV, and upload the file that produces. It takes a few seconds and everything else about your list stays exactly as it is: you do not need to rearrange columns, rename anything, or remove the columns you are not verifying.
Related reading
- Email Verifier — upload a list, or run a free single check
- What your verification results mean — valid, risky, unknown and invalid explained, and who is safe to email
- Email verification limits & credits — how the monthly allowance, the daily pace and credits fit together
- Can I use the email verifier without a plan? — the free daily check and buying credits with no subscription
- Can I verify a big list all at once? — clearing a large list today
- Use your verified list in a campaign — turn results into a clean, ready-to-send audience with no duplicates
- Full documentation — cold email, warmup, LinkedIn, Instagram and multichannel guides
Still stuck on a file that will not upload? Email [email protected] with the reference code from the message and we’ll look up that exact attempt — we respond within 24 hours on business days. For instant answers, you can also open warmysender.com/documentation, click “Copy Prompt to Clipboard,” and paste it into an AI assistant like Claude or ChatGPT along with your question.