Invisible and Blank Unicode Characters
A blank character is any Unicode character that draws nothing. The most useful ones for blank text are not in the space category, like Hangul Filler (U+3164) and Braille Pattern Blank (U+2800), because trim() doesn't remove them.
Invisible character list
Filter by what you need and copy straight from the table.
| Name | Code | Width | Type | Kept by trim() | |
|---|---|---|---|---|---|
| Space | U+0020 | Space Zs | Removed | ||
| No-Break Space | U+00A0 | Space Zs | Removed | ||
| Soft Hyphen | U+00AD | Format Cf | Kept | ||
| Combining Grapheme Joiner | U+034F | Mark Mn | Kept | ||
| Hangul Choseong Filler | U+115F | Letter Lo | Kept | ||
| Hangul Jungseong Filler | U+1160 | Letter Lo | Kept | ||
| Mongolian Vowel Separator | U+180E | Format Cf | Kept | ||
| En Quad | U+2000 | Space Zs | Removed | ||
| Em Quad | U+2001 | Space Zs | Removed | ||
| En Space | U+2002 | Space Zs | Removed | ||
| Em Space | U+2003 | Space Zs | Removed | ||
| Three-Per-Em Space | U+2004 | Space Zs | Removed | ||
| Four-Per-Em Space | U+2005 | Space Zs | Removed | ||
| Six-Per-Em Space | U+2006 | Space Zs | Removed | ||
| Figure Space | U+2007 | Space Zs | Removed | ||
| Punctuation Space | U+2008 | Space Zs | Removed | ||
| Thin Space | U+2009 | Space Zs | Removed | ||
| Hair Space | U+200A | Space Zs | Removed | ||
| Zero Width Space | U+200B | Format Cf | Kept | ||
| Zero Width Non-Joiner | U+200C | Format Cf | Kept | ||
| Zero Width Joiner | U+200D | Format Cf | Kept | ||
| Left-To-Right Mark | U+200E | Format Cf | Kept | ||
| Right-To-Left Mark | U+200F | Format Cf | Kept | ||
| Narrow No-Break Space | U+202F | Space Zs | Removed | ||
| Medium Mathematical Space | U+205F | Space Zs | Removed | ||
| Word Joiner | U+2060 | Format Cf | Kept | ||
| Braille Pattern Blank | U+2800 | Symbol So | Kept | ||
| Ideographic Space | U+3000 | Space Zs | Removed | ||
| Hangul Filler | U+3164 | Letter Lo | Kept | ||
| Zero Width No-Break Space | U+FEFF | Format Cf | Removed | ||
| Halfwidth Hangul Filler | U+FFA0 | Letter Lo | Kept |
Unicode categories worth knowing
Zs is a space and is usually removed by trim(). Cf is a zero-width format character, like U+200B. Lo is a letter, which includes Hangul Filler. So is a symbol, which includes Braille Pattern Blank. The category decides whether a character survives in an app.
How to pick the right character
For blank text in apps, pick a blank letter or symbol (Lo or So). For spacing in documents, pick a fixed-width space (Zs). To split words with no gap, pick a zero-width character (Cf). The table filters above group the characters this way.
The key characters
En Quad
U+2000En Quad, half the width of the letter M.
Braille Pattern Blank
U+2800Empty braille cell (category So). The best backup and great for blank lines.
Hangul Filler
U+3164Korean filler letter (category Lo). The one that works most often for blank text.
Zero Width Space
U+200BNo width (category Cf). Splits words without a gap; many apps strip it.
No-Break Space
U+00A0A space that won't break across lines ( ).
Space
U+0020The normal space-bar space. trim() always removes it.
HTML, CSS and JS codes
Frequently asked questions
How many space characters does Unicode have?
There are 17 characters in the space category (Zs), plus several format and filler characters that render blank. This table lists the 31 most useful ones.
Which characters have truly zero width?
Zero width space (U+200B), word joiner (U+2060) and the direction marks U+200E and U+200F.