Word & Character Counter
Words, characters, sentences and reading time, live as you type.
Text & Writing
Zero-width and blank Unicode characters, with a detector.
| Character | Code | Purpose |
|---|---|---|
| Zero-width space | U+200B | A line-break opportunity with no visible gap |
| Zero-width non-joiner | U+200C | Prevents a ligature forming |
| Zero-width joiner | U+200D | Forces a join — builds compound emoji |
| Word joiner | U+2060 | Prevents a line break |
| Hangul filler | U+3164 | Renders blank; widely used as a "blank" name |
| Non-breaking space | U+00A0 | Visible 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.
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.
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.
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.
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.
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.
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.
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.