Invisible Character
Copy a blank Unicode character with one click — a zero-width space, a Hangul filler or a no-break space — to send an empty-looking message or fill a field that will not accept a space. Paste it into the test area to confirm the character count went up, even though nothing shows. Free, no sign-up.
Zero-width space U+200B
The most popular invisible character. Zero width, no glyph — the go-to choice for blank messages and hidden separators.
Zero-width non-joiner U+200C
Prevents adjacent characters from joining in cursive scripts. Renders as nothing in Latin text.
Word joiner U+2060
An invisible character that also prevents line breaks at its position. Survives some filters that strip zero-width spaces.
Hangul filler U+3164
Has visible width but no glyph, so it looks like a blank block of space. A favorite for invisible usernames.
No-break space U+00A0
Looks like a normal space and prevents line breaks, but JavaScript trim() and Python strip() remove it, so it is a weak choice for a blank name or message.
Copy multiple invisible characters
Characters in test area: 0
What people use invisible characters for
- Sending empty messages on Discord and WhatsApp
- Making a blank Instagram name or bio line
- Blank Fortnite or gamer-tag style usernames
- Adding hidden separators or padding inside text
Honest caveat: some platforms strip zero-width and formatting characters from usernames and messages to prevent abuse, so an invisible character that works in one app may be removed by another. Invisible characters can also confuse screen readers and text processing, so use them sparingly.
How to Use the Invisible Character Tool
- Pick a character. Each card names it, gives its code point and says what it is best for. Start with the zero-width space, or the Hangul filler for names.
- Press Copy. To copy several at once, set a quantity from 1 to 1,000 and a character in the multiple-copy box.
- Test it. Paste into the test area. The count goes up although nothing appears — the proof that the character reached your clipboard.
- Paste it where you need it, and check that the app has not removed it.
The Five Characters and How They Differ
| Character | Code point | Unicode category | Counts as a space? | Best for |
|---|---|---|---|---|
| Zero-width space | U+200B | Cf (format) | No | Blank messages and hidden separators |
| Zero-width non-joiner | U+200C | Cf (format) | No | Stopping letters from joining in cursive scripts such as Persian |
| Word joiner | U+2060 | Cf (format) | No | A zero-width break-blocker; may survive a filter that strips U+200B |
| Hangul filler | U+3164 | Lo (letter) | No | Blank-looking names; it has width but draws nothing |
| No-break space | U+00A0 | Zs (space) | Yes | Keeping words together; a space that does not wrap |
The reason these work comes down to one check. Forms and chat apps usually refuse input that is empty or only whitespace, and they test that by trimming whitespace first. The first four characters are not whitespace in Unicode's definition, so the trim leaves them alone and the field counts as non-empty — U+3164 is even classed as a letter. The no-break space is whitespace: JavaScript's trim() and Python's strip() both remove it, so it is the least reliable of the five for a blank name or message and is better kept for its real job of holding words together. (Two others that also survive trim() are U+2800, the braille pattern blank, and U+180E, the Mongolian vowel separator; this page does not offer them.) If one character is rejected, try another.
All of U+200B, U+200C, U+2060 and U+3164 carry Unicode's Default_Ignorable_Code_Point property, meaning software is meant to draw nothing for them even when a font lacks them. The Hangul filler is the one that takes up room: in most fonts it leaves a blank cell about as wide as a full-width character, which is why it makes a name or bio line look visibly empty while the zero-width characters collapse to nothing.
Legitimate Uses
- Line-break hints. A zero-width space tells a text engine it may break a long URL, file path or compound word here, without changing how it looks.
- Joiner control. In Persian, Hindi and other scripts the zero-width non-joiner is part of correct spelling.
- Keeping things together. A no-break space stops "10 km" or "Dr Smith" being split across two lines.
- Padding and templates. Hidden separators and fixed-width padding in plain-text fields where a normal space would be trimmed.
What Can Go Wrong
Platforms change what they accept. Many strip zero-width characters from usernames and messages, treat blank names as an abuse signal, or limit blank profile fields, so something that works one month can stop the next. A blank name is also hard for other people to mention or find. Pasted by accident into code, a file name, a password or a spreadsheet cell, an invisible character is a classic source of puzzling failures: a command that looks right but is not found, or two names that look identical and do not match. If something behaves oddly, paste it into the Hidden Character Detector, which shows every invisible character in place and removes the ones you choose.
Which Tool Do You Need?
| You want | Use |
|---|---|
| To copy a blank character | This page |
| To find invisible characters hiding in text you already have | Hidden Character Detector |
| To see the code point and name of any single character | Unicode Character Inspector |
| To strip ordinary spaces, tabs and blank lines | Whitespace Remover |
A note on accessibility
Invisible characters are silent to most readers but not to assistive technology. A screen reader may announce them as "blank", pause for them or skip them, and a blank display name gives a listener nothing to hear in a member list or a mention. Text containing them also behaves differently in search, copy-and-paste and spell check. Use them sparingly, and never to hide meaningful information.
Frequently Asked Questions
- What is an invisible character?
- A real Unicode character that draws nothing, such as the zero-width space (U+200B), the word joiner (U+2060) or the Hangul filler (U+3164). Software treats it as content, so a field containing only an invisible character is not empty, even though you cannot see anything in it.
- How do I send a blank or empty message?
- Copy the zero-width space, paste it as your whole message and send it. Chat apps usually reject messages that are empty or only spaces, but a single zero-width space is neither. Some apps now strip it, in which case try the word joiner or the Hangul filler.
- How do I know the copy worked?
- Paste into the test area on this page. Its character count goes up even though nothing visible appears, which confirms that an invisible character is on your clipboard.
- Which invisible character should I use?
- The zero-width space is the usual first choice for a blank message. The Hangul filler is the usual choice for a blank-looking name, because it takes up space and is a letter rather than whitespace. The no-break space is the weakest choice for blanks because it counts as whitespace and is often trimmed.
- Why does an invisible character not work on some platforms?
- Some sites remove zero-width and formatting characters, or reject blank names, to prevent abuse and impersonation. There is no universal workaround; try another character from the list, and accept that a platform may remove all of them.
- Can invisible characters be found and removed?
- Yes. They are ordinary characters, so a tool that lists code points will show them, and the Hidden Character Detector finds them in pasted text and strips the ones you pick.