Remove invisible characters from email addresses
In short: Shows and removes the characters you can't see in a pasted list or CSV: zero-width spaces, no-break spaces, bidi marks, full-width @ and dots, smart quotes and mailto: wrapping, naming each one by code point. Limit: It removes characters; it can't tell you the cleaned address has a mailbox behind it.
An address that looks right but fails an import usually hides a character you can't see: a zero-width space (U+200B), a non-breaking space (U+00A0), a full-width @ or a curly quote, picked up from a web page, PDF or chat. Paste the list or upload the CSV and this tool names every such character by code point, removes it and gives back clean addresses.
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
Sample result
[email protected] had a zero-width space (U+200B) after jane.
- Address
- [email protected]
- Removed
- U+200B zero-width space
What this means for you
The address looked right but couldn't import. The cleaned copy can.
- Zero-width and bidi characters
- No-break and Unicode spaces
- Full-width @ and .converted
- mailto:, quotes and brackets stripped
- Unicode
- Import fix
- CSV
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
How do I remove hidden characters from an email list?
- Paste the addresses or upload the CSV that won't import. The email column is found automatically and read exactly as written.
- Keep "lower-case the domain" on unless you need the original capitals.
- Press Find hidden characters. Each changed row is shown with the hidden characters made visible as [U+200B] markers.
- Download the cleaned CSV, with the address fixed in place and a column naming what was removed, or copy the clean addresses.
Example
- You enter
- A CSV that failed an import, with rows such as
jane[U+200B]@northwind-example.com, a no-break space around[email protected],ana@fabrikam-example.ioand“[email protected]”. - You get
- 6 of 7 rows fixed: U+200B zero-width space removed from jane's address, U+00A0 no-break spaces trimmed from bob's, the full-width @ (U+FF20) in ana's turned into @, curly quotes removed from lee's, a mailto: prefix and a trailing full stop removed. The CSV has the clean address in place and a characters_removed column.
- Limits
- Runs in your browser with no row cap; an uploaded file can be up to 25 MB.
What are invisible characters in an email address?
They are Unicode characters with no visible shape. The usual ones are the zero-width space (U+200B), zero-width joiner and non-joiner (U+200D, U+200C), the word joiner (U+2060), the byte order mark (U+FEFF) and the soft hyphen (U+00AD), all "format" characters in the Unicode Character Database, plus the left-to-right and right-to-left marks used for bidirectional text. Web pages, PDFs, Word and chat apps insert them for line breaking and layout, and copy-paste carries them into a spreadsheet, where [email protected] with a U+200B inside looks identical to the real thing.
An email address can't contain any of them. RFC 5321 limits an address to ASCII unless both servers support SMTPUTF8 (RFC 6531), and even then format characters aren't valid. So the import, the syntax check or the mail server rejects the row, or worse, accepts a different address from the one you meant.
What else does the tool fix?
Characters that look like address punctuation but aren't: the full-width @ (U+FF20) and full stop . (U+FF0E) that East Asian keyboards type, the ideographic full stop 。 (U+3002), and en dashes in place of hyphens. Unicode spaces such as the no-break space (U+00A0) and thin space (U+2009), at the ends or in the middle. And copy-paste wrapping: Name <address>, a mailto: prefix, quotes, URL-encoded %40, and a trailing full stop or comma from the end of a sentence.
Rows that still aren't an address after cleaning are counted separately. They need a person to look at them, or the bulk email syntax checker to say what's wrong.
Is this better than CLEAN and TRIM in Excel?
| This tool | Excel CLEAN + TRIM | |
|---|---|---|
| Zero-width and bidi characters | Removed | Kept (CLEAN removes codes 0-31 only) |
| No-break and other Unicode spaces | Removed | Kept |
| Full-width @ and . | Converted | Kept |
| Shows what was there | By code point | No |
Who uses this tool, and for what?
- List managers
- Fix the rows an ESP import rejected as invalid when the addresses look fine on screen.
- Event teams
- Clean attendee addresses copied out of PDFs, badges and chat before the follow-up send.
- Developers
- Find out why a form or API rejects an address a user pasted from a web page.
- Sales teams
- Clean addresses scraped or copied from LinkedIn and websites before they go into a sequence.
What can’t this tool tell you?
- It removes characters; it can't tell you the cleaned address has a mailbox behind it.
- Real accented letters and non-Latin scripts are left as they are.
- It doesn't fix misspelt domains; use the email typo corrector for gmial.com and the like.
Common questions
- How do I find a zero-width space in Excel?
=LEN(A2)returns one more than the characters you can see.=SUBSTITUTE(A2,UNICHAR(8203),"")removes U+200B, but each character needs its own SUBSTITUTE; this tool removes them all at once.- Why doesn't TRIM fix it?
- Excel's TRIM removes ordinary spaces (character 32) only. No-break spaces, zero-width spaces and the other Unicode spaces survive it.
- Does it change the name before the @?
- Only to remove hidden characters, spaces and look-alike punctuation. Capital letters there are kept; the domain is lower-cased unless you untick it.
- Can it fix accented letters?
- It leaves real letters alone. For addresses with accents or non-Latin letters, see the international email checker.
- Is anything uploaded?
- No. It runs in your browser, and files can be up to 25 MB.
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.