All tools run in your browser — your files never leave your device.
All tools154

Text & Writing

Invisible Character Generator

Zero-width and blank Unicode characters, with a detector.

What it does. Several Unicode characters render as nothing: the zero-width space U+200B, the zero-width joiner U+200D, the word joiner U+2060 and the Hangul filler U+3164. They are legitimate typographic tools, and they are also the reason text sometimes fails a validation check for no visible reason.
Runs in your browserNothing uploadsNo signupWorks offline

How to use Invisible Character Generator

  1. Copy the character you need from the list.
  2. Or paste text into the detector to see what invisible characters it contains.
  3. Use the strip button to remove them.

What each one is actually for

What each one is actually for
CharacterCodePurpose
Zero-width spaceU+200BA line-break opportunity with no visible gap
Zero-width non-joinerU+200CPrevents a ligature forming
Zero-width joinerU+200DForces a join — builds compound emoji
Word joinerU+2060Prevents a line break
Hangul fillerU+3164Renders blank; widely used as a "blank" name
Non-breaking spaceU+00A0Visible space that will not wrap

The zero-width joiner is the interesting one: the family emoji and many profession emoji are several emoji joined by U+200D. What looks like one character is often five or more.

The detector is the more useful half

Invisible characters cause a specific, maddening class of bug. A password that is definitely correct is rejected. A form field fails validation with nothing visibly wrong. Two strings that look identical do not compare equal.

Copying from a web page, a PDF or a chat client is the usual source — a zero-width space or a non-breaking space comes along for the ride.

If something that should match does not, paste both values into the detector before assuming the system is broken. This is one of the highest-yield five-second checks in software.

Legitimate uses, and one to avoid

Genuine uses: allowing a long URL or code string to wrap at a sensible point without inserting a visible break; preventing an unwanted ligature in typography; keeping a number and its unit on the same line.

They are also used to defeat filters and to fingerprint copied text — inserting invisible characters in a shared document to identify who leaked it.

That last one is worth knowing about from the receiving side. If you are handling a document that might carry a hidden watermark, stripping invisible characters before redistributing it is a reasonable precaution.

Frequently asked questions

Why is my password rejected when it looks right?

Very often an invisible character was copied with it — a zero-width space or a non-breaking space from a web page or PDF. Paste it into the detector to check before assuming the system is at fault.

What is a zero-width joiner for?

It forces characters to join. Compound emoji are built with it — a family emoji is several individual emoji connected by U+200D, so one apparent character can be five or more.

Are invisible characters allowed in usernames?

It varies. Some platforms strip them, some allow them, and the Hangul filler U+3164 is commonly used to make an apparently blank name. Many services now block them for exactly that reason.

Can invisible characters be used to track a document?

Yes. Inserting a distinctive pattern of zero-width characters fingerprints a copy so a leak can be traced. Stripping them before redistributing a sensitive document is a reasonable precaution.

How do I remove them from my text?

Paste into the detector and use strip. It removes zero-width characters and normalises non-breaking spaces to ordinary ones, leaving the visible text unchanged.