1. Home
  2. Free tools
  3. Email list tools
  4. CSV encoding fixer

CSV encoding fixer: turn é back into é before you import

In short: Reverses UTF-8 text that was read as Windows-1252 (José to José, O’Brien to O’Brien), re-reads Excel ANSI files as Windows-1252 so accents aren't lost as �, strips zero-width and no-break spaces from addresses, and saves UTF-8 with an optional BOM for Excel. Limit: Letters already replaced by � can't be recovered from that copy; you need the original file.

To fix garbled characters in a CSV, upload the original file or paste its text. Text like é and ’ is UTF-8 read with the wrong encoding, and is turned back into é and ’; a file saved as Windows-1252 is re-read correctly; hidden characters are removed from email addresses. You download the file as UTF-8, with every cell changed listed.

Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. See pricing

Runs in your browser. Nothing is uploaded.
Sample result from the CSV encoding fixer
Show the sample result as

Sample result

7 rows fixed: José is José again, a hidden character is gone from an address, 2 cells can't be recovered.

Encoding
Repaired
Cells repaired
12
Addresses cleaned
1

What this means for you

Import the fixed UTF-8 file so names merge right; re-export the rows that show �.

Next step:Verify the cleaned list
  • é and ’ turned back
  • Excel ANSI files re-read
  • Hidden characters stripped
  • BOM for Excel optional
  • CSV
  • Excel
  • Encoding

By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us

How do I check the addresses once the file reads right?

  1. Download the fixed CSV here.
  2. Upload it at /verify. Every address gets a live mailbox check, and valid, risky and invalid download as separate files. The first 100 email checks are free with a Google sign-in, no card.
  3. Import the valid file into your sending tool.
Check the addresses

How do I fix garbled characters in a CSV file?

  1. Upload the CSV as it came out of the system that made it. The original file is best: once a program has replaced a letter with �, the letter is gone.
  2. Leave the byte-order mark option on if you'll open the result in Excel; untick it for tools that reject a BOM.
  3. Press Fix characters. Each changed cell is listed before and after, and cells that can't be recovered are counted.
  4. Download the fixed UTF-8 CSV and import that.

Example

You enter
A 7-row CSV with email as the first header, names like José, Müller and O’Brien, an address ending in a zero-width space, and one row already showing Gonz�lez.
You get
The header becomes email, the names become José, Müller and O’Brien, and the hidden character is stripped from the address. The 2 cells holding � are counted as not recoverable from this copy.
Limits
Runs in your browser with no row cap; an uploaded file can be up to 25 MB.

Why does é show as é in my CSV?

The file is UTF-8, where é is two bytes, and something read it as Windows-1252, where each of those bytes is its own character: à and ©. The same happens to curly quotes and dashes, so ’ becomes ’ and – becomes –. Every original byte is still there, so the text can be turned back: each run of such characters is converted back to bytes and read as UTF-8, and only kept when that is valid UTF-8, which real accented text almost never is by chance.

This is common when a UTF-8 export is opened in Excel by double-clicking, then saved. A UTF-8 byte-order mark at the start of the file tells Excel the encoding, which is what the BOM option adds.

Why does é show as � instead?

The opposite fault: the file was saved as Windows-1252 (Excel's "CSV (Comma delimited)" on Windows) and read as UTF-8. A single é byte isn't valid UTF-8, so the reader puts in �, the replacement character, and the letter is lost from that copy.

Upload the original file and it is read correctly: a file that isn't valid UTF-8 is read as Windows-1252 and saved as UTF-8. If you only have a copy that already shows �, re-export it from the source, or in Excel choose Save As > CSV UTF-8.

What hidden characters break email addresses?

Zero-width spaces, byte-order marks and no-break spaces copied from web pages, PDFs or chat apps. They are invisible in a spreadsheet, but an address holding one fails a sending tool's import or a syntax check. They are removed from the email column; other columns are left as they are.

Who uses this tool, and for what?

Cold emailers
Fix "Hi José" in a lead file before it goes into a sequence with first-name personalisation.
Marketers
Repair a CRM export that was opened and saved in Excel before re-importing it into the email platform.
International teams
Move contact lists with German, French, Spanish or Nordic names between Mac and Windows without losing letters.
Ops teams
Remove the invisible characters that make a sending tool reject addresses that look correct.

What can’t this tool tell you?

  • Letters already replaced by � can't be recovered from that copy; you need the original file.
  • Text garbled through an encoding other than Windows-1252 or Latin-1 (for example Cyrillic code pages) isn't reversed.
  • Hidden characters are only removed from the email column.
  • It can't tell whether the addresses still work.

Common questions

Which systems does this happen with?
Any: CRM and e-commerce exports opened in Excel, Mac and Windows files moved between each other, and copy-paste between browsers and spreadsheets. The fix depends on the bytes, not on where the file came from.
Will it change names that are already right?
No. Only runs of characters that turn into valid UTF-8 are changed, and correct accented names don't. Every changed cell is listed so you can check.
Can it fix Excel .xlsx files?
An .xlsx stores text as Unicode, so it doesn't have this fault unless garbled text was pasted in. Save the sheet as CSV and run it through here if it does.
Is my file uploaded?
No. It is read and fixed in your browser, and nothing is sent unless you choose to check the addresses afterwards.

Sources

A tidy list can still be full of dead addresses.

Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.

  • Upload the cleaned file as it is: CSVs up to 100,000 rows
  • A real SMTP mailbox check on every row, with catch-all detection
  • Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime

Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.

Clean your next list before it bounces

100 free email checks when you sign in with Google, no card. Then monthly plans from $9, or one flat price with fair use, never cut off.

100 free checks, no card Cancel anytime Secure payment by Stripe