Toolkit
All tools
Blank text desk · Free

Invisible Character Generator

Copy blank and invisible Unicode characters with their code points and where they tend to work, build a string of up to 1,000, and paste any text to find the hidden characters already inside it.

Runs in your browser · Nothing uploaded

Generator

Choose what to copy

Typical uses

Everything is built and checked in this tab. Nothing you copy or paste here is sent anywhere.

Ready to copy
1

copy of Hangul Filler (U+3164) in one string

Width between the markers
Visible gap
Paste it anywhere with Ctrl or Cmd and V.
Length

How platforms will count it

A string you cannot see still has a length, and different systems measure it differently.

Characters
1
UTF-16 units
1
UTF-8 bytes
3

Many web forms and JavaScript counters measure UTF-16 units, while databases and byte limits measure UTF-8. UTF-8 uses 1 byte below U+0080, 2 below U+0800, 3 below U+10000, and 4 above, so Hangul Filler costs 3 bytes per copy.

Code forms for U+3164
HTML entity
ㅤ
JavaScript or JSON
\u3164
CSS content
\3164
URL encoded
%E3%85%A4
Character library

25 blank and invisible characters, labelled

Each card shows the code point, the group it belongs to, whether it leaves a visible gap, and whether software treats it as whitespace. The preview draws it between two markers in your own font.

25 of 25 shown

Filler characters

Fillers are letters or symbols with an empty glyph. They are not whitespace, so they often get past checks that trim spaces, which is why blank names usually use one. They are also the characters apps most often block by code point, and a font without the right coverage may draw a box.

Zero width characters

Zero-width characters take up no space at all. They are often stripped, and a field holding nothing else is usually treated as empty, so they work better hidden inside text than as blank text on their own.

Space characters

Unicode spaces show a real gap and count as whitespace, so most fields trim them from the start and end. Between visible characters they usually survive, and web pages do not collapse a run of them the way they collapse ordinary spaces.

  • Hangul Filler

    U+3164
    In generator
    FillerVisible gapNot whitespace
    Your font

    A Korean placeholder letter carried over from an older encoding standard, where it marked an empty slot in a syllable.

    In practice: The best-known blank name character. It is a letter, not whitespace, so it often gets past fields that trim spaces; it is also the one most often blocked by code point.

  • Hangul Choseong Filler

    U+115F
    FillerWidth varies by fontNot whitespace
    Your font

    Fills the empty leading-consonant slot when Korean syllables are built from separate jamo.

    In practice: Often tried when the Hangul Filler is refused. How wide it looks depends on the font, and a font without Korean jamo support may show a box.

  • Hangul Jungseong Filler

    U+1160
    FillerWidth varies by fontNot whitespace
    Your font

    Fills the empty vowel slot when Korean syllables are built from separate jamo.

    In practice: Usually drawn with no width or merged into the character before it. After the choseong filler, the pair forms one empty syllable block in fonts that support it.

  • Halfwidth Hangul Filler

    U+FFA0
    FillerVisible gapNot whitespace
    Your font

    The half-width form of the Hangul Filler, kept for compatibility with older East Asian character sets.

    In practice: A narrower blank that tends to behave like the Hangul Filler. A font without the half-width forms may draw a box.

  • Braille Pattern Blank

    U+2800
    FillerVisible gapNot whitespace
    Your font

    The braille cell with no dots raised: a real symbol that prints as an empty cell.

    In practice: A symbol rather than whitespace, so it often survives trimming. A common pick for empty messages and blank lines; screen readers may announce it.

  • Zero Width Space

    U+200B
    Zero widthNo gapNot whitespace
    Your font

    Marks a place where a line may break without showing a space, for languages written without spaces between words.

    In practice: Often stripped, or treated as empty on its own. Inside text it still counts as a character, so a word containing one no longer matches an exact search.

  • Zero Width Non-Joiner

    U+200C
    Zero widthNo gapNot whitespace
    Your font

    Stops two neighbouring letters from joining into a ligature or connected form. Persian and several Indian scripts depend on it.

    In practice: Real languages need it, so it is less likely to be filtered out of text, but a field holding nothing else is usually still treated as empty.

  • Zero Width Joiner

    U+200D
    Zero widthNo gapNot whitespace
    Your font

    Asks its neighbours to join. It is the glue inside combined emoji such as the family and profession sequences.

    In practice: Removing it splits combined emoji back into their parts. Alone in a field it is invisible and often treated as empty.

  • Word Joiner

    U+2060
    Zero widthNo gapNot whitespace
    Your font

    Prevents a line break at its position without adding any space. It took over this job from the zero width no-break space.

    In practice: Handy for keeping a number and its unit, or two words, on one line. Alone in a field it is usually treated as empty.

  • Zero Width No-Break Space

    U+FEFF
    Zero widthNo gapTrimmed as whitespace
    Your font

    Best known as the byte order mark at the start of a file. Its word-joining role inside text passed to the word joiner.

    In practice: A frequent hidden cause of a broken first column or a failed comparison after a file saved with a byte order mark is pasted. JavaScript trims it as whitespace.

  • Mongolian Vowel Separator

    U+180E
    Zero widthNo gapNot whitespace
    Your font

    Separates a final vowel in Mongolian script. It counted as a space until Unicode 6.3 reclassified it as a format character.

    In practice: Older software may still treat it as whitespace and newer software usually does not, so it behaves less consistently than most characters here.

  • Combining Grapheme Joiner

    U+034F
    Zero widthNo gapNot whitespace
    Your font

    An invisible combining mark that keeps accents in a set order and stops two letters being treated as one unit when sorting.

    In practice: It attaches to the character before it, so it cannot stand alone in an empty field. It is better at hiding inside text than at making blank text.

  • No-Break Space

    U+00A0
    SpaceVisible gapTrimmed as whitespace
    Your font

    A space of normal width that stops a line from breaking at it.

    In practice: Trimmed like any space at the ends of most fields, but a run of them between words is not collapsed by web pages, so it holds a gap.

  • En Space

    U+2002
    SpaceVisible gapTrimmed as whitespace
    Your font

    Half an em wide, where an em is the current font size.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Em Space

    U+2003
    SpaceVisible gapTrimmed as whitespace
    Your font

    One em wide, equal to the current font size.

    In practice: A common way to indent or space out a line in a bio, because a run of them is not collapsed the way ordinary spaces are.

  • Three-Per-Em Space

    U+2004
    SpaceVisible gapTrimmed as whitespace
    Your font

    A third of an em, often close to an ordinary word space.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Four-Per-Em Space

    U+2005
    SpaceVisible gapTrimmed as whitespace
    Your font

    A quarter of an em.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Six-Per-Em Space

    U+2006
    SpaceVisible gapTrimmed as whitespace
    Your font

    A sixth of an em, a narrow typographic space.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Figure Space

    U+2007
    SpaceVisible gapTrimmed as whitespace
    Your font

    As wide as one digit in fonts with equal-width digits, for lining up columns of numbers. It does not allow a line break.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Punctuation Space

    U+2008
    SpaceVisible gapTrimmed as whitespace
    Your font

    As wide as a full stop, for spacing beside punctuation.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Thin Space

    U+2009
    SpaceVisible gapTrimmed as whitespace
    Your font

    About a fifth of an em, used between groups of digits and beside some punctuation.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Hair Space

    U+200A
    SpaceVisible gapTrimmed as whitespace
    Your font

    The thinnest of the Unicode spaces, narrower than a thin space.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Narrow No-Break Space

    U+202F
    SpaceVisible gapTrimmed as whitespace
    Your font

    A thin space that does not allow a line break. French punctuation and some number formats use it.

    In practice: A frequent hidden cause of failed date and time parsing, since some software places it before AM and PM in formatted times.

  • Medium Mathematical Space

    U+205F
    SpaceVisible gapTrimmed as whitespace
    Your font

    Four eighteenths of an em, for spacing in mathematical formulas.

    In practice: Treated as whitespace, so it is usually trimmed from the ends of a field, but kept between words without being collapsed.

  • Ideographic Space

    U+3000
    SpaceVisible gapTrimmed as whitespace
    Your font

    As wide as one Chinese, Japanese, or Korean character; the space East Asian input methods type.

    In practice: A wide, obvious gap. It is whitespace, so it is usually trimmed from the ends of a field.

Every platform filters these differently and the rules change, so the notes describe what often happens rather than what any one app does. An invisible character is still a character: it can break searches and code, and some services treat blank names as spam. Use them responsibly.

Hidden character detector

Find and remove invisible characters

Paste text that misbehaves: a search that never matches, a password that fails, a column that will not sort. Every invisible or unusual space is marked with its code point and position.

Ordinary spaces, tabs, and line breaks are never flagged.0 / 100,000
What is hiding in it

Paste text above, or load the example, and every invisible character appears here as a labelled marker in the place it sits.

How it works

Three groups of blank, and why it matters which one you use.

Invisible characters are not one thing. Fillers such as the Hangul Filler are letters with an empty glyph, so the trim step most forms run leaves them in place. Zero-width characters are formatting controls that take no space at all, and many apps strip them. Unicode spaces show a real gap but count as whitespace, so they vanish from the ends of a trimmed field while surviving between words. Knowing which group a character is in predicts most of how it behaves, and the detector works backwards from the same knowledge to find characters you never meant to paste.

  1. 01

    Pick a character or a typical use

    Choose from 25 labelled characters, or start from a preset for a blank name, an empty message, spacing in a bio, or a blank line. Each card shows the code point, the group, and whether it leaves a gap.

  2. 02

    Set the count and copy

    Build 1 to 1,000 copies as one string. The panel draws its width between two markers and gives the length in characters, UTF-16 units, and UTF-8 bytes before you copy it in one click.

  3. 03

    Check text you were sent

    Paste anything that behaves strangely into the detector. Every hidden character is marked with its code point, line, and column, and one button removes them so you can copy the cleaned text.

Built for names, messages, and messy text

Copy the right blank, and catch the ones you did not want.

Labelled, not mystery boxes

Every character comes with its Unicode name, code point, group, width, and whether software treats it as whitespace. When a blank name stops working, you know exactly what you pasted and what to try next.

Counts the way platforms count

Blank text can be empty to the eye and 30 bytes to a database. The generator shows characters, UTF-16 units, and UTF-8 bytes side by side, because a form limit, a database column, and a social network may each measure a different one.

Code forms for developers

Copy the HTML entity, the JavaScript escape, the CSS escape, or the percent-encoded form. Writing \u200B instead of pasting the raw character keeps a deliberate invisible character visible to the next person who reads the code.

A detector for characters you did not add

Byte order marks, zero width spaces, narrow no-break spaces, direction controls, variation selectors, tag characters, and control codes each get a marker in place, a name, and a line and column.

Cleaning that does not break emoji

Removal keeps the joiners and selectors that hold a combined emoji or a character variant together, and turns unusual spaces into ordinary ones rather than gluing words together. Undo puts the original back.

Honest about what works where

Notes say what often works and what is often stripped, never which app accepts what. Every platform filters these characters its own way, and the rules change without notice.

Invisible character questions

Hangul Filler, zero width space, blank names, and cleanup.

How do I type an invisible character?+

Copying is the dependable way, which is what the buttons on this page are for. A few can be typed: on Windows, holding Alt and typing 0160 on the numeric keypad gives a no-break space, and on a Mac, Option and Space does the same on many keyboard layouts. Many Linux desktops accept Ctrl, Shift, and U followed by a hex code such as 200b. In Microsoft Word you can type a code such as 3164 and press Alt and X to convert it. In source code, write an escape such as \u200B or ​ instead, so the next reader can see it is there.

What is the Hangul Filler?+

U+3164 is a character from the Hangul Compatibility Jamo block, carried over from an older Korean encoding standard where it marked an empty slot in a syllable. Unicode classifies it as a letter, not as a space, so software that trims whitespace leaves it alone. That one detail is why it became the best-known blank name character, and also why some apps now block it by code point. A font without Korean coverage may draw it as a box instead of a blank.

What is a zero-width space?+

U+200B marks a point where a line may break without showing any space. It exists for languages such as Thai and Khmer that are written without spaces between words, and it is also used to let long URLs wrap. It has no width, so you cannot see it, but it is still a character: a word containing one will not match a search for the same word without it. Inside a URL it appears as %E2%80%8B.

How do I make a blank name in games or apps?+

Start with the blank name preset, which copies one Hangul Filler, and paste it into the name field. If the field needs a minimum length, raise the count to match. If it is refused, try another filler such as the Halfwidth Hangul Filler or the Braille Pattern Blank, since each app filters its own list. Spaces rarely work on their own because almost every form trims them. A blank name can be against a service's rules or flagged as spam, so check the terms of the app you are using first.

Why do some invisible characters not work?+

Because every app decides for itself what to accept. Most forms trim whitespace from the ends of a field, which removes the Unicode spaces. Many strip zero-width characters on purpose. Some keep a list of blank characters they reject outright, often including the Hangul Filler. Fonts matter too, since a character the font cannot draw may appear as a box. The rules change over time, so a character that worked last year may be filtered today. Trying a character from a different group (filler, zero width, or space) is the quickest way to find one that is accepted.

Why does my blank text still count as characters?+

Because each invisible character is a real character. A Hangul Filler is one character to a person, one UTF-16 unit to JavaScript, and three bytes in UTF-8, so ten of them fill a 30-byte limit. The generator shows all three counts, because a form, a database, and a social network may each measure something different.

How do I find hidden characters in text?+

Paste the text into the detector on this page. Every invisible or unusual whitespace character is replaced on screen by a marker showing its code point, and the table lists each kind with how often it occurs and the line and column of the first few. It catches zero-width characters, byte order marks, no-break and narrow no-break spaces, direction controls, variation selectors, tag characters, soft hyphens, and control codes. Ordinary spaces, tabs, and line breaks are left unmarked.

How do I remove zero-width spaces?+

Paste the text into the detector, press Remove invisible characters, and copy the result. Unusual spaces such as the no-break space become ordinary spaces so words do not run together, and line and paragraph separators become normal line breaks; both can be switched off. Joiners and selectors that hold an emoji together are kept by default, so a family or profession emoji is not split into pieces. In JavaScript, text.replace(/[\u200B-\u200D\u2060\uFEFF]/g, "") removes the common zero-width characters.

Why does a date or number fail to parse when it looks fine?+

A frequent cause is a space that is not U+0020. Some software places a narrow no-break space before AM and PM in formatted times, some locales use one as the thousands separator, and no-break spaces arrive from web pages and word processors. They look identical to a normal space, but a parser expecting U+0020 rejects them. Paste the value into the detector to see exactly which space it contains.

Is using invisible characters allowed?+

Using a Unicode character is not wrong in itself; these characters exist for real typesetting and language needs. Whether a particular use is allowed depends on the platform. Some services forbid blank or misleading names, some treat invisible text as spam or as an attempt to get around filters, and hiding characters to slip past moderation can get an account restricted. Read the rules of the service, and do not use invisible characters to mislead people or to dodge safety systems.

More focused tools, ready when you are.

Explore the growing collection for calculations, documents, writing, and everyday work.

Browse all tools