Invisible text
Invisible text: copy characters that show nothing
Invisible text is made of real characters that show nothing on screen. For an empty-looking name or message, copy the Braille blank (U+2800) or the Hangul filler (U+3164); for text that should take no room at all, use a zero-width character. Every row below names the character, and the notes explain what each one does and where it causes trouble.
40 to copy · Updated 6 October 2026
Characters that look empty · 6
- Braille pattern blankU+2800
- Hangul fillerU+3164
- Three Braille blanksU+2800 × 3
- Three Hangul fillersU+3164 × 3
- Ten Braille blanksU+2800 × 10
- Ten Hangul fillersU+3164 × 10
Zero-width characters · 7
- Zero-width spaceU+200B
- Word joinerU+2060
- Zero-width non-joinerU+200C
- Zero-width joinerU+200D
- Combining grapheme joinerU+034F
- Soft hyphenU+00AD
- Mongolian vowel separatorU+180E
Style selectors and invisible maths · 6
- Text style selector (VS15)U+FE0E
- Emoji style selector (VS16)U+FE0F
- Function applicationU+2061
- Invisible timesU+2062
- Invisible separatorU+2063
- Invisible plusU+2064
Direction controls · 10
- Left-to-right markU+200E
- Right-to-left markU+200F
- Arabic letter markU+061C
- Left-to-right isolateU+2066
- Right-to-left isolateU+2067
- First strong isolateU+2068
- Pop directional isolateU+2069
- Left-to-right embeddingU+202A
- Right-to-left embeddingU+202B
- Pop directional formattingU+202C
Emoji with invisible characters inside · 11
- Heart on fireU+2764 U+FE0F U+200D U+1F525
- Woman technologistU+1F469 U+200D U+1F4BB
- Rainbow flagU+1F3F3 U+FE0F U+200D U+1F308
- Black catU+1F408 U+200D U+2B1B
- Polar bearU+1F43B U+200D U+2744 U+FE0F
- People holding handsU+1F9D1 U+200D U+1F91D U+200D U+1F9D1
- Family of threeU+1F468 U+200D U+1F469 U+200D U+1F467
- Keycap hashU+0023 U+FE0F U+20E3
- Heart in text styleU+2764 U+FE0E
- Smiling face in text styleU+263A U+FE0E
- Scotland flagU+1F3F4 U+E0067 U+E0062 U+E0073 U+E0063 U+E0074 … (7 characters)
Ready-made lines for bios and captions
Dashed boxes mark the invisible characters. They are copied with the line.
Three kinds of invisible character
| Kind | Examples | What it does | Typical use |
|---|---|---|---|
| Blank characters | U+2800 Braille blank, U+3164 Hangul filler | Shows nothing but takes up room, and isn’t treated as a space | Empty-looking names, messages and lines |
| Zero-width characters | U+200B, U+2060, U+200C, U+200D | Takes no room; changes where a line may break or whether letters join | Hidden break points, joining emoji, spelling in some scripts |
| Style selectors | U+FE0E, U+FE0F | Asks for the text look or the emoji look of the symbol before it | ❤︎ in your text colour, or ❤️ in red |
| Direction controls | U+200E, U+200F, U+2066 to U+2069 | Tells the phone which way a run of text reads | Bios that mix English with Arabic, Hebrew or Urdu |
| Invisible maths | U+2061 to U+2064 | Marks how maths symbols relate, for software and screen readers | Maths writing; almost never social posts |
What we verified, on 6 October 2026 against Unicode 16.0: none of the invisible characters here counts as white space, so code that trims spaces leaves them in place, and every one except the Braille blank is default-ignorable, which allows software to draw it with no width at all. We haven’t tested each character in every app. Instagram and Facebook don’t document how they treat them, and an app update can change it.
The invisible characters inside your emoji
Many emoji are several characters stuck together by invisible ones. 👩💻 is 👩, a zero-width joiner (U+200D) and 💻. ❤️🔥 is ❤, a variation selector (U+FE0F) that asks for the emoji style, a joiner and 🔥. If a phone doesn’t know the combination, or the joiner gets lost while copying, you see the pieces side by side: 👩💻 instead of a woman at a laptop.
The flags of England, Scotland and Wales use another trick. 🏴 is a black flag followed by invisible tag characters that spell gbsct, then a closing tag. A phone that doesn’t support those flags ignores the tags and shows a plain black flag.
What each zero-width character is for
- Zero-width space (U+200B): a place where a line may break, with no visible gap. Handy inside a very long link or word, and a common stowaway in copied text.
- Word joiner (U+2060): the opposite. It stops a line breaking between the characters on either side of it.
- Zero-width non-joiner (U+200C): stops two letters joining up. Persian uses it in everyday spelling, and Indian scripts use it to control how consonants combine.
- Zero-width joiner (U+200D): makes characters join that otherwise wouldn’t, from emoji sequences to particular letter shapes in Indian scripts.
- Soft hyphen (U+00AD): stays hidden unless the word breaks at the end of a line, where it appears as a hyphen.
- Combining grapheme joiner (U+034F): despite the name, it joins nothing on screen. It exists to keep accent marks in a set order and is otherwise ignored.
- Mongolian vowel separator (U+180E): used in Mongolian script. Unicode classed it as a space until 2013, so some older software still treats it as one.
Fixing a mixed-direction bio
Arabic, Hebrew and Urdu run right to left, while English and numbers run left to right, and a phone works out the order of a mixed line by itself. Punctuation, brackets and emoji belong to neither direction, so they often land on the wrong side: a full stop at the start of a line, or a bracket facing the wrong way.
- Spot the character that has jumped, usually a full stop, bracket, colon or emoji at the edge of a phrase.
- Paste a right-to-left mark (U+200F) straight after it if the line is mostly right-to-left, or a left-to-right mark (U+200E) if it is mostly left-to-right.
- If that doesn’t settle it, wrap the stray phrase in an isolate: U+2068 before it and U+2069 after it.
- Save, then check the line on another phone, because apps can lay out mixed text slightly differently.
When hidden characters cause trouble
- Codes and passwords: a zero-width space copied along with a discount code or password makes it a different string, so it fails even though it looks right. Retype it instead of pasting.
- Hashtags and mentions: an invisible character inside #summer or @name can cut the tag short, so it points somewhere else or nowhere.
- Search: a name with a hidden character in the middle may not match when someone types it the normal way.
- Filters: slipping zero-width characters into banned words to dodge filters is a known spam trick, and platforms look out for it.
- Overrides: we left out U+202D and U+202E, which force text into one direction whatever the letters are. The right-to-left one is used to disguise file names, such as making a program look like a photo.
Questions people ask
How do I type an invisible character?
No keyboard has a key for one, so copying is the usual way. In Microsoft Word on Windows you can type a character’s code and press Alt+X: 200B followed by Alt+X gives a zero-width space. Elsewhere, copy it from a page like this one.
What is the best invisible character for a blank name or message?
One that takes up room, such as the Hangul filler (U+3164) or the Braille blank (U+2800). Zero-width characters are a poor fit: with nothing to draw, some apps treat the name or message as empty and won’t accept it.
Can other people see invisible characters in my text?
Not on screen, but they are still there. Code editors and Unicode inspectors show them, and in the ready-made lines on this page each one is drawn as a dashed box. They also count towards limits such as the 150 characters of an Instagram bio.
Why did my emoji split in two after I pasted it?
It was built from several emoji joined by an invisible zero-width joiner (U+200D). If the joiner is lost on the way, or the phone is older than that emoji, the parts appear side by side, as in 👩💻 instead of 👩💻. Insert it again from your emoji keyboard instead of copying it from another app.
How do I remove hidden characters from copied text?
Paste the text into a code editor or a Unicode inspector that shows invisible characters, delete them, then copy the text again. For something short, such as a link or a code, retyping it is quicker and safer.
Are invisible characters allowed on Instagram and Facebook?
In captions, comments, DMs and posts they are ordinary text and usually go through. Instagram usernames can’t contain them, since usernames take only letters, numbers, full stops and underscores, and Facebook’s name rules don’t allow symbols or a mix of languages in a profile name. Using them to slip past filters can still get content removed.
Related pages
- Blank spaceBlanks that aren’t spaces · Spaces by width, wrapped to survive trimming · 2 more sets
- Instagram caption spacing that survives postingGap lines between paragraphs · Blanks for empty lines and indents · 2 more sets
- Text symbols
- Keyboard symbols
- Instagram bio symbols
- Facebook symbols and special characters
More symbols and text art
Styled your caption? Let DMFast answer the comments
When someone comments a word like LINK, DMFast replies under the comment and sends them a DM, on Instagram and Facebook. Free plan, no card.
Start free