Invisible Character

Copy a character that shows nothing, or find the ones already hiding in your text.

Most likely to work

Hangul Filler · U+3164

A blank character with a real width, which is what forms that reject an empty value usually accept.

Blank width

These take up space but show nothing. Use one where an empty value would be rejected.

  • Hangul FillerU+3164

    A Hangul syllable placeholder that renders as blank space with a real width. Often accepted where a truly empty value is rejected.

    Some systems normalise or strip it, and it is a Hangul letter rather than a space, so search and sorting can treat it oddly.

  • Braille Pattern BlankU+2800

    The empty braille cell. It has a visible width but no ink, so it reads as a blank block of space.

    Screen readers may announce it as a braille character rather than skipping it. Avoid it in text that matters for accessibility.

  • No-Break SpaceU+00A0

    A space that prevents a line break. Web pages and word processors insert it constantly.

    It looks exactly like a normal space but does not match a space in search, regex or exact comparisons.

  • Narrow No-Break SpaceU+202F

    A narrower non-breaking space, common in French typography and unit spacing.

    Same matching problem as the regular no-break space, and easier to miss.

  • Figure SpaceU+2007

    A space as wide as a digit, used to align numbers in tables.

    Width varies by font, so alignment is not guaranteed everywhere.

  • Thin SpaceU+2009

    A narrow space used for fine typographic spacing.

    Often collapsed or converted by editors and content management systems.

  • Ideographic SpaceU+3000

    A full-width space matching the width of a CJK character. Standard in Japanese and Chinese text.

    Very wide in Latin contexts, and not equal to a normal space in comparisons.

Zero width

These occupy no space at all. They control joining, line breaking and direction rather than creating a gap.

  • Zero Width SpaceU+200B

    A word-break opportunity with no width. Useful for breaking long strings without adding visible space.

    Because it has no width, forms that trim whitespace or require visible content often still treat the field as empty.

  • Word JoinerU+2060

    Prevents a line break between the characters on either side, without adding width.

    Invisible in editors, so it is easy to leave behind when copying text.

  • Zero Width Non-JoinerU+200C

    Stops two characters from forming a ligature or joined shape. Meaningful in Arabic, Persian and several Indic scripts.

    Removing it changes how words render in those scripts, so it should never be stripped automatically.

  • Zero Width JoinerU+200D

    Joins characters together. It is what holds multi-part emoji such as family sequences together.

    Deleting it splits emoji into their separate parts and breaks joined scripts.

  • Zero Width No-Break SpaceU+FEFF

    Also used as a byte order mark at the start of a file. Inside text it is a no-break joiner with no width.

    A leading one frequently breaks CSV imports, JSON parsing and code files in ways that are hard to see.

  • Soft HyphenU+00AD

    Marks where a word may be hyphenated. It only appears if the line actually breaks there.

    Text copied from PDFs and print layouts is full of these, and they silently corrupt search and comparison.

  • Combining Grapheme JoinerU+034F

    Affects how neighbouring characters are treated as a unit. Renders as nothing.

    Rarely intentional in pasted text; usually an artefact.

  • Left-to-Right MarkU+200E

    Sets text direction to left-to-right without displaying anything.

    Mixing direction marks into data fields can reorder how text is displayed.

  • Right-to-Left MarkU+200F

    Sets text direction to right-to-left without displaying anything.

    Same as above — invisible, but it changes how a whole line renders.

Find hidden characters in your text

Processed in your browser. No signup.

Two different jobs

People arrive here for one of two reasons. Either they need a character that looks like nothing — to leave a bio line blank, to space something out, to satisfy a field that will not accept an empty value — or something has broken and they suspect an invisible character is to blame. This page does both.

Zero width versus blank width

A zero width character takes up no space at all. It exists to control how text behaves: where a line may break, whether two letters join, which direction the text runs. Because it has no width, a form that requires visible content will usually still consider the field empty.

A blank width character does occupy space — it simply has nothing drawn in it. That is why Hangul Filler and Braille Pattern Blank are the ones that tend to work when you need a field to accept something that looks like nothing.

How to use it

  1. Press Copy invisible character for the one that works most often.
  2. Or pick a specific character from the tables and copy that.
  3. To investigate a problem, paste your text into the box and tick Reveal.
  4. Each hidden character is marked in place with its Unicode name and code point.

Why invisible characters break things

  • Search stops matching. A username or product code with a zero-width space in it will not be found by anyone typing the visible characters.
  • Comparisons fail. Two values look identical on screen and are not equal, which produces duplicates in a database and mismatches in a spreadsheet.
  • Imports break. A byte order mark at the start of a file breaks the first column of a CSV, the first key of a JSON document, or the first line of a script.
  • Text copied from PDFs carries soft hyphens. They are invisible until the line wraps somewhere else, and then a hyphen appears in the middle of a word.

Removing them safely

Remove them here strips every invisible character, which is what you want when you are cleaning up data. It is deliberately blunt: zero-width joiners hold multi-part emoji together and matter in Arabic, Persian and several Indic scripts, so removing them changes how that text renders. For a version that separates safe removals from ones that could change meaning, useText Cleaner.

Where these work — and where they may not

No one can promise a given platform will accept a given character. Services normalise input, strip unusual characters and change those rules without announcing it, and a character that worked in a bio last month may be rejected today. If a field refuses one, try another from the blank-width table.

Accessibility

Assistive technology handles these characters inconsistently. Braille Pattern Blank may be announced as a braille character, and Hangul Filler as a Korean letter. Use them for spacing, not in text that has to be read aloud accurately.

Privacy

The text you paste into the checker stays in your browser. Nothing is uploaded.