Utilumo
LightDarkSystem

Updated September 15, 2026

Invisible Unicode characters

These characters can be blank, non-printing, or easy to overlook. Many carry meaningful formatting. Use their code points to identify them; visual appearance alone is unreliable.

Spacing and line breaking

Code pointNameRole / removal impact
U+00A0NO-BREAK SPACEA space that prevents an ordinary line break. Deleting it can join words.
U+202FNARROW NO-BREAK SPACEA narrow nonbreaking space.
U+200BZERO WIDTH SPACEProvides a line-break opportunity without ordinary visible spacing.
U+2060WORD JOINERPrevents a break at its position; different from an emoji or letter joiner.
U+00ADSOFT HYPHENMarks a possible intraword break. It may become visible when the line breaks.
U+2000–U+200AQuad and space charactersSpaces with different widths or purposes; deletion changes spacing.
U+0009 / U+000A / U+000DTAB / LINE FEED / CARRIAGE RETURNLayout controls used in text and data. Removal can merge columns or lines.
U+2028 / U+2029LINE / PARAGRAPH SEPARATORExplicit line and paragraph boundaries.

Joining, variants, and script information

Code pointNameRole / removal impact
U+200CZERO WIDTH NON-JOINERCan prevent letter joining or ligatures. Preserve in meaningful script text.
U+200DZERO WIDTH JOINERInfluences letter joining and connects components of some emoji sequences.
U+FE0E / U+FE0FVARIATION SELECTOR-15 / -16Request text or emoji presentation in supported sequences.
U+FE00–U+FE0F; U+E0100–U+E01EFVariation selectorsRequest defined glyph variants. Selectors do not have ordinary standalone glyphs.
U+034FCOMBINING GRAPHEME JOINERBlocks canonical reordering of combining marks; it does not join letters like ZWJ.
U+180EMONGOLIAN VOWEL SEPARATORA script-specific formatting character; preserve unless its role is understood.
U+E0020–U+E007FTag characters and CANCEL TAGCan form part of emoji tag sequences, including certain flags.

Writing direction

Code pointNameRole / removal impact
U+200E / U+200F / U+061CLEFT-TO-RIGHT / RIGHT-TO-LEFT / ARABIC LETTER MARKDirection marks influence mixed-direction layout.
U+202A–U+202EEmbeddings, overrides, and POP DIRECTIONAL FORMATTINGSet directional formatting scopes or overrides.
U+2066–U+2069Directional isolates and POP DIRECTIONAL ISOLATEIsolate a text span's direction from surrounding text.
Inspect direction controls in contextThese controls have legitimate uses. Removing a paired control independently can alter the layout of the remaining text. The inspector offers individual code-point choices, not a bidirectional-layout repair operation.

Byte order mark

Code pointNameRole / removal impact
U+FEFFZERO WIDTH NO-BREAK SPACE / BOMAt the start of an encoded stream it can be a signature. Inside text it has a legacy no-break role. Pasted text cannot establish the original file's encoding.

Read an inspector result

The emoji occupies one code point and two UTF-16 code units. Positions count the original text, including marked characters.

Source code points: U+1F600 U+0061 U+200B U+0062
Marked text:        😀a⟦U+200B⟧b
U+200B position:    3 (one-based code points)
UTF-16 offset:     3 (zero-based code units)
Remove U+200B:     😀ab
Tool behavior and coverageThe Invisible Character Inspector preserves everything by default. Selecting a code point deletes all its occurrences only in the preview. It does not normalize text, insert spaces, identify look-alike letters, or issue a safety verdict. Common names are listed explicitly; other format and default-ignorable entries use generic labels based on the browser's Unicode data. This reference is a practical selection, not a complete Unicode character database.

References

Questions

Are all zero-width characters interchangeable?

No. Zero width space concerns breaks; zero width joiner and non-joiner affect joining. Variation selectors choose variants. Use the code point and context to identify the role.

Are invisible characters always unwanted?

No. They can preserve intended typography, script forms, emoji, and writing direction. Inspection alone is useful; removal should follow a specific need.

Does a code-point position count visible characters?

No. One visible character can contain several code points. The inspector's positions count code points from 1 and its UTF-16 offsets count code units from 0.