1. Home
  2. Free tools
  3. Email list tools
  4. Invisible character remover for emails

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

Runs in your browser. Nothing is uploaded.
Sample result from the Invisible character remover for emails
Show the sample result as

Sample result

[email protected] had a zero-width space (U+200B) after jane.

Removed
U+200B zero-width space

What this means for you

The address looked right but couldn't import. The cleaned copy can.

Next step:Check the syntax of the rest
  • 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?

  1. Paste the addresses or upload the CSV that won't import. The email column is found automatically and read exactly as written.
  2. Keep "lower-case the domain" on unless you need the original capitals.
  3. Press Find hidden characters. Each changed row is shown with the hidden characters made visible as [U+200B] markers.
  4. 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.io and “[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 toolExcel CLEAN + TRIM
Zero-width and bidi charactersRemovedKept (CLEAN removes codes 0-31 only)
No-break and other Unicode spacesRemovedKept
Full-width @ and .ConvertedKept
Shows what was thereBy code pointNo

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.

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