Unicode character directory

Blank & Invisible Characters

Search by name or code point, copy the exact character, and understand whether it adds width, changes line breaking or controls joining.

Find a character

Try “zero width,” “3164,” “no-break” or a Unicode name.

15 characters shown.

Space

U+0020
Spacing

Ordinary word space; Unicode White_Space.

No-Break Space

U+00A0
Spacing

Visible gap that usually prevents a line break.

En Quad

U+2000
Spacing

Typographic space with font-dependent width.

En Space

U+2002
Spacing

Typographic space around one en wide.

Em Space

U+2003
Spacing

Typographic space around one em wide.

Thin Space

U+2009
Spacing

Narrow typographic spacing.

Narrow No-Break Space

U+202F
Spacing

Narrow spacing that resists line breaks.

Zero Width Non-Joiner

U+200C
Zero-width & format

Prevents joining in scripts where joining matters.

Zero Width Joiner

U+200D
Zero-width & format

Encourages joining in scripts and emoji sequences.

Word Joiner

U+2060
Zero-width & format

Prevents a break without adding visible width.

Zero Width No-Break Space

U+FEFF
Zero-width & format

Deprecated as spacing; may serve as a byte-order mark.

Braille Pattern Blank

U+2800
Blank-looking

Blank Braille symbol that can occupy width.

Ideographic Space

U+3000
Spacing

Wide spacing used in East Asian typography.

Use the directory when you know the name. Use the guide when you need to choose.

This page is a lookup and copy tool. The comparison guide starts from the effect you want and explains why two empty-looking characters can behave differently.

Space, zero-width and blank-looking are not synonyms in Unicode.

Spacing characters

Characters such as U+0020, U+00A0 and U+2003 are used as space separators and normally occupy width.

Zero-width format controls

U+200B, U+200C, U+200D and U+2060 do not create a wider visual gap. They influence breaking or joining.

Blank-looking symbols or letters

U+2800 and U+3164 may appear empty, yet their Unicode categories are a Braille symbol and a Hangul letter.

Rendering depends on context

Fonts, browsers and target applications can display, normalize, remove or reject the same code point differently.

Search by name or code point, then copy the exact character.

  1. Search when you already know something about the character.

    Type part of a name such as “no-break”, a code point such as “3164” or a decimal reference such as “8203”. Both upper and lower case work.

  2. Filter when you only know the behaviour you need.

    Spacing, zero-width and format, or blank-looking. The filter groups characters by what they do rather than by what they look like, because two empty-looking characters can behave differently.

  3. Copy from the row, or open the full reference.

    Every listed character can be copied directly. The two characters with a full page — U+200B and U+3164 — also have demonstrations, representations and comparisons.

  4. Verify anything you paste somewhere that matters.

    Use the checker on the saved value. The directory guarantees which code point you copied; it cannot guarantee what another app stores.

Why these characters, and not every Unicode space.

This is a working list, not a Unicode encyclopaedia. It contains the characters this site can explain precisely, demonstrate in a browser and help you remove again.

Spacing characters

U+0020, U+00A0, U+2000, U+2002, U+2003, U+2009, U+202F and U+3000. These carry visible or measurable width and differ mainly in how wide they are and whether they allow a line break.

Zero-width and format controls

U+200B, U+200C, U+200D, U+2060 and U+FEFF. These normally render with no width; they influence line breaking or joining instead of spacing.

Blank-looking letters and symbols

U+2800 Braille Pattern Blank and U+3164 Hangul Filler. They are not whitespace, yet they often appear empty, which is why they are the most confusing group.

What was left out

Characters that cannot be described accurately here, or that only exist for a single obscure use, are not listed. A longer list would make the directory harder to use without making it more correct.

Character directory FAQ

What is the difference between this directory and the blank character guide?

The directory is for lookup: you know a name, a code point or a behaviour filter and you want the character. The guide is for choosing: you know the result you want and need to compare two or more characters before picking one.

Which characters can I copy directly from here?

All of the listed ones. The copy action gives you the bare code point with no brackets, labels or explanation text, so nothing else is pasted along with it.

Why is a character missing from the list?

Because it has not been verified well enough to describe, or because it duplicates a purpose already covered. If a character you need is absent, the checker can still show it to you by code point if it appears in your text.

Do these characters work in my app?

That depends on the app. Neither this directory nor a code point reference can promise what a platform keeps, trims or rejects. Copy the character, save it in the destination, then verify the stored value.

Where do the names come from?

Official Unicode character names, pinned to Unicode Character Database 18.0.0. Short labels such as ZWSP or NBSP are common abbreviations shown alongside the official name, not replacements for it.