Invisible
character
26 blank and invisible characters with their code points, properties and the caveat for each.
26 blank and invisible characters with their code points, properties and the caveat for each.
How to use this list
Tap Copy under a character, then paste it where you need blank space. None of these is guaranteed to work in every app: apps trim, filter or reject different characters, and they change their rules. Paste one into the target field and check the result before you rely on it. If you want a blank-looking name, start with the first one on the list, which our notes mark as the most reliable.
-
Braille Pattern Blank U+2800
Visible-width blank; not whitespace and not ignorable, so most apps keep it. The most reliable 'blank name' character.
- Category
- So
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Hangul Filler U+3164
Hangul filler; a letter (Lo) that is Default_Ignorable: some renderers draw a wide blank, others draw nothing. Often accepted in names.
- Category
- Lo
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Halfwidth Hangul Filler U+FFA0
Halfwidth Hangul filler; same caveats as U+3164, narrower.
- Category
- Lo
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Hangul Choseong Filler U+115F
Hangul choseong filler; Default_Ignorable, used inside Korean syllable sequences; behaviour varies.
- Category
- Lo
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Hangul Jungseong Filler U+1160
Hangul jungseong filler; Default_Ignorable, behaviour varies.
- Category
- Lo
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Zero Width Space U+200B
Zero width space; ignorable format character. Frequently stripped by apps and trimmed in names.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Zero Width Non-Joiner U+200C
Zero width non-joiner; ignorable format character; often stripped.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Zero Width Joiner U+200D
Zero width joiner; joins emoji sequences; can change how emoji next to it look.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Word Joiner U+2060
Word joiner; ignorable; prevents line breaks; often stripped.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 no, latest Android no
-
Zero Width No-Break Space U+FEFF
Zero width no-break space / byte order mark; ignorable; may be removed at the start of text.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Combining Grapheme Joiner U+034F
Combining grapheme joiner; ignorable combining mark; attaches to the previous character.
- Category
- Mn
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Soft Hyphen U+00AD
Soft hyphen; invisible unless the line breaks there; ignorable.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
No-Break Space U+00A0
No-break space; whitespace, normal width; some apps trim it like a space.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Figure Space U+2007
Figure space; whitespace, width of a digit.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Punctuation Space U+2008
Punctuation space; whitespace, narrow.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Thin Space U+2009
Thin space; whitespace, narrow.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Hair Space U+200A
Hair space; whitespace, very narrow.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Narrow No-Break Space U+202F
Narrow no-break space; whitespace.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 no, latest Android no
-
Medium Mathematical Space U+205F
Medium mathematical space; whitespace.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Ideographic Space U+3000
Ideographic space; whitespace, full width (as wide as a CJK character).
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
En Space U+2002
En space; whitespace.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Em Space U+2003
Em space; whitespace.
- Category
- Zs
- Counts as
- 1 UTF-16 unit, X weight 1
- Whitespace
- yes
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Mongolian Vowel Separator U+180E
Mongolian vowel separator; no longer whitespace since Unicode 6.3; ignorable; inconsistent support.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Musical Symbol Null Notehead U+1D159
Musical symbol null notehead; a symbol with an empty glyph in many fonts; not ignorable.
- Category
- So
- Counts as
- 2 UTF-16 units, X weight 2
- Whitespace
- no
- Usually ignored
- no
- Has a glyph
- Windows 10 yes, Android 10 yes, latest Android yes
-
Invisible Times U+2062
Invisible times; ignorable math operator; usually stripped.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 no, latest Android no
-
Invisible Separator U+2063
Invisible separator; ignorable math operator; usually stripped.
- Category
- Cf
- Counts as
- 1 UTF-16 unit, X weight 2
- Whitespace
- no
- Usually ignored
- yes (Default_Ignorable)
- Has a glyph
- Windows 10 yes, Android 10 no, latest Android no
Platform notes from our checks
- Discord: Docs: 'We limit some zero-width and non-rendering characters' and names are 'sanitized and trimmed of leading, trailing, and excessive internal whitespace'. Which code points are blocked is not published.
- X: twitter-text marks posts containing these as invalid; zero-width spaces U+200B-U+200D are counted, not rejected.
- Every invisible character still counts toward a limit. The Counts as line on each card shows its length in UTF-16 units and its X weight.
Find hidden characters in your text
Paste text that looks blank or that an app rejects. Every character is listed with its code point, so you can see what is really inside.
How to choose
There are two kinds of blank character. Some are whitespace, which means they are spaces of different widths. Apps usually trim or collapse those. The others are default-ignorable characters, which have no picture, and apps often strip them or refuse them. A few are neither, and they are the ones that survive best. The first card, the Braille blank, is a visible-width blank that is neither whitespace nor ignorable, so our notes call it the most reliable blank-name character.
Every card lists the Unicode category, how many UTF-16 units it uses, its weight on X, whether it is whitespace, whether it is ignorable and whether the system fonts we checked have a glyph for it.
Why a blank name can still be rejected
Platforms change their rules, and most do not publish them. Discord says it limits some zero-width and non-rendering characters and trims space at the edges, but it does not say which characters. X marks a post invalid if it contains certain characters, and counts zero-width spaces without rejecting them.
The box at the bottom of the page lists every character in a piece of text with its code point. Paste text there when a name looks blank but an app complains, and you can see what is hiding in it.
Blank text can confuse people who use screen readers. Use it for design, such as spacing, and not to trick others.
Questions
Which invisible character works best?
Our notes mark the Braille pattern blank, U+2800, as the most reliable blank-name character, but no character is guaranteed. Test it in the target app.
Why is my blank name not accepted?
The app may strip default-ignorable characters or trim whitespace. Try a different character from the list.
Do invisible characters count?
Yes. Each one counts toward the limit, and each card shows its length.
Is a zero-width space the same as a blank?
No. A zero-width space has no width at all and is usually stripped. A Braille blank has a visible width.