Zero Width Space takes up no room on the page. Its entire purpose is to tell the text layout engine "you may break the line here" without adding any visible gap - which also makes it the character most often used to hide information inside text.
Click the button above to copy Zero Width Space, then paste it wherever you need it. Nothing will appear on your clipboard preview - that is expected, because the character is blank.
| Unicode code point | U+200B |
|---|---|
| Character name | Zero Width Space |
| Unicode category | Cf (Format) |
| Rendered width | Zero - it occupies no horizontal space at all |
| Line breaking | Breaking - it marks a point where a line may wrap |
| Collapses in HTML | No |
| Survives trim() | Usually yes |
| HTML entity | |
| JavaScript escape | '\u200B' |
| CSS escape | \200B |
Need these values in another format? The HTML space characters converter turns any Unicode whitespace character into HTML entities, JavaScript escapes and CSS escapes.
U+200B ZERO WIDTH SPACE is a formatting character, not a space separator. It renders with zero width, so it is genuinely invisible rather than merely blank. What it contributes is a line-break opportunity: a long unbroken string such as a URL or a German compound noun can be made to wrap neatly by inserting ZWSP at sensible points.
That invisibility has a second life. Because ZWSP survives copy and paste but shows nothing, it is commonly used for text watermarking and for hiding data in documents, and it is a frequent cause of bugs when it gets pasted into code or configuration files. If you are debugging a string that looks correct but does not match, ZWSP is a prime suspect.
The same character can be preserved in one place and silently removed in another. Here is what actually happens to Zero Width Space in the three contexts that matter most.
Does not collapse, but renders as nothing. It only affects where lines are allowed to wrap.
Mixed. It is not ASCII whitespace so trim() leaves it alone, but many sanitisers specifically target zero-width characters and strip them for security reasons.
Unreliable for blank text. Instagram and several other platforms strip zero-width characters from names and comments precisely because they were being used to evade moderation.
Not sure what is in a string you already have? Paste it into the invisible character detector to see every hidden character with its code point, or use remove invisible characters to strip them out.
Controlling where long strings wrap, and for invisible markers in text. For blank messages and empty usernames, Hangul Filler is far more dependable because it is treated as a letter rather than a formatting character.
If what you actually need is text that looks completely empty - a blank WhatsApp message, an empty Instagram highlight name, a blank comment or a Free Fire name space - then Hangul Filler is the character to use, because it is not classified as whitespace and survives the trimming that removes Zero Width Space.
Different apps prefer different Unicode characters. Start with these combinations.
Best first choice: Hangul Filler (U+3164). Alternatives: Zero Width Space and No-Break Space.
Best first choice: Hangul Filler. Alternative for tighter formatting: Zero Width Space.
Start with Hangul Filler. If the game rejects it, try Space or No-Break Space.
Use No-Break Space for preventing line breaks, EN Space and EM Space for wider spacing, and Thin Space or Hair Space for finer adjustments. For code-ready values and conversion, see HTML Space Characters.
Width is the fastest way to choose between these characters. If Zero Width Space is not right for your use case, one of these probably is.
| Character | Unicode | Width |
|---|---|---|
| EN Space | U+2002 | Exactly 1/2 em - half the current font size |
| EM Space | U+2003 | Exactly 1 em - equal to the current font size |
| Three-Per-Em Space | U+2004 | Exactly 1/3 em |
| Four-Per-Em Space | U+2005 | Exactly 1/4 em |
| Six-Per-Em Space | U+2006 | Exactly 1/6 em |
| Figure Space | U+2007 | Exactly the width of a digit in the current font |
| Punctuation Space | U+2008 | Exactly the width of a period in the current font |
| Thin Space | U+2009 | About 1/5 em, though the exact width is left to the font |
| Hair Space | U+200A | The narrowest visible space - typically about 1/10 em or less |
| Narrow No-Break Space | U+202F | Narrow, similar to Thin Space |
See all 18 Unicode space and invisible characters compared →
No. They are different characters with different Unicode categories, and that difference is what matters. ZWSP is a format character that many platforms strip on sight; Hangul Filler is classified as a letter, so it passes filters that remove invisible formatting.
Paste the text into the invisible character detector, which highlights every zero-width and invisible character with its code point. To strip them out, use the remove invisible characters tool.
Because it is a real character that your editor does not draw. Pasted into a string literal, a variable name or a JSON file, it makes values that look identical compare as different. It is one of the most common causes of "but the strings are the same" bugs.
Explore the most useful guides on BlankText.Net for blank messages, Instagram, gaming nicknames, and Unicode spaces.