Invisible Character

Copy a real Unicode blank — not a normal space — and paste it where an app refuses an empty message, username, or bio.

loading...

What is an invisible character?

An invisible character is a Unicode code point that takes up a slot in a string but draws little or no ink. You can copy it, paste it and send it, but you cannot see it. Your computer can: select the text with your cursor and the highlight will stretch over the blank.

Some of these characters are ordinary spaces with an unusual width, like Ideographic Space (U+3000). Others have zero width and only affect joining, line breaks or text direction, like Zero Width Space (U+200B). A third group is invisible by accident rather than by design — Hangul Filler (U+3164) is a Korean letter with no shape, and Braille Pattern Blank (U+2800) is the Braille cell with no raised dots.

That last group is why any of this works. An invisible character is not “nothing”. A form that rejects an empty field will often accept Hangul Filler, because Unicode files it as a letter rather than as whitespace. That is the whole trick behind a blank WhatsApp message or a hidden Fortnite name.

How to generate an invisible character

Everything happens in your browser. Nothing is uploaded, and there is no signup, captcha or download.

  1. Copy the blank. Press Copy to clipboard in Method 1. That copies one Hangul Filler (U+3164), the blank that survives the most input filters. If your browser blocks clipboard access, use Method 2: click Select Text, then press Ctrl+C or ⌘+C.
  2. Check that it copied. Paste into the Test it box. The gray placeholder should vanish and the counter should read 1 while the box still looks empty. If the counter stays at 0, the copy did not take — try the other method.
  3. Repeat it if you need more width. One blank is thin. Paste two or three times in a row for a wider gap, or in the table below pick Ideographic Space (U+3000), which is about as wide as a full character on its own.
  4. Paste it where you need it. Drop it into the message box, the username field or the bio, then save or send. Check the result in the app before you rely on it — see the platform table below for which character to try first.
Why a space is rejected and a blank character is acceptedDiagram comparing two form submissions. A normal space is trimmed to an empty string and rejected. Hangul Filler is classified as a letter, so it passes validation and saves.What you typeWhat the app doesResultSpace bar (U+0020)trim() → ""Rejected: “field is empty”Hangul Filler (U+3164)trim() → "ㅤ"Accepted, saved as text
Most apps trim whitespace before they check whether a field is empty. Hangul Filler is not whitespace, so there is nothing to trim.

What is a zero-width character?

A zero-width character is an invisible character that also advances the cursor by zero pixels. It adds no gap at all. Zero Width Space (U+200B), Zero Width Non-Joiner (U+200C), Zero Width Joiner (U+200D) and Word Joiner (U+2060) are the common ones.

They exist for typesetting, not for blank names. U+200B marks a spot where a long word may break across lines. U+200C stops two letters from forming a ligature, which matters in Arabic, Persian and Indic scripts. U+200D does the opposite and welds them together — it is also the glue inside multi-part emoji.

Because they carry no width, zero-width characters are the wrong tool when you want a visible gap in a bio and the right tool when you want to sneak a character past an “empty field” check without changing the layout. They are also the first characters an input sanitizer strips, which is why a paste sometimes looks like it worked and then vanishes on save.

Which invisible character should I use?

Four characters do almost all the useful work. The General Category column is the Unicode class each one belongs to, and it is the single best predictor of whether a field will accept it: Lo is a letter, So is a symbol, Cf is an invisible formatting code, and Zs is whitespace. Filters usually target Cf and Zs, and leave Lo and So alone.

  • Hangul Filler

    Unicode
    U+3164
    General category
    Lo — letter
    Width
    Full-width
    Best for
    Usernames, display names, required form fields. The default on this page and the safest first try.
  • Braille Pattern Blank

    Unicode
    U+2800
    General category
    So — symbol
    Width
    Narrow
    Best for
    Blank chat messages and empty-looking bios. The best backup when Hangul Filler is filtered.
  • Zero Width Space

    Unicode
    U+200B
    General category
    Cf — format
    Width
    Zero
    Best for
    Invisible line-break hints and passing an “empty field” check without adding any gap.
  • Zero Width Non-Joiner

    Unicode
    U+200C
    General category
    Cf — format
    Width
    Zero
    Best for
    Blocking ligatures in joining scripts. Rarely the right pick for a blank name.

Need a plain wide gap rather than a trick? Ideographic Space (U+3000) is a Zs whitespace character the width of a CJK character — it works well inside a name but will be trimmed from the ends of a field.

How wide each invisible character rendersFour labelled bars showing rendered width: Zero Width Space has no width, Braille Pattern Blank is narrow, Hangul Filler is full width, and Ideographic Space is full width.width of one lowercase “n”U+200B Zero Width Space0U+2800 Braille Pattern BlankU+3164 Hangul FillerU+3000 Ideographic Space
Same invisibility, different footprints. Pick by the gap you want, then check the general category in the table above.

Character table

Each row is one Unicode blank. Click Copy to copy that character. The brackets in the Example column are only there so you can see where the blank sits — they are not copied. Names follow the Unicode Standard, including the ones that circulating copy-paste lists get wrong: U+2061 is Function Application, U+2062 is Invisible Times, and U+2029 is the real Paragraph Separator.

Why use an invisible text generator?

You should not have to look up a code point or install an app just to get a blank that paste will keep. This page gives you a copy button, a manual fallback, and a test box so you know it worked before you send it.

  • No installation. It runs in the browser. There is no signup, no captcha and nothing to download.
  • Copy-paste empty text. Use it wherever a site or phone keyboard will not let you submit a field that looks empty.
  • A real test, not a guess. Paste into the test box. If the gray hint disappears and the count rises, the copy worked. The counter reads real Unicode characters, so one blank counts as 1.
  • Two copy methods. The button uses the clipboard API. When a browser blocks that — common in iOS in-app browsers — the dashed field and Select Text give you a manual Ctrl+C.
  • A hundred characters to choose from. The reference table covers every practical blank with its Unicode point, HTML entity and a bracketed width preview, each with its own copy button.
  • Free to use. Use it for a blank chat, a name, or a bio. The button copies Hangul Filler (U+3164), which usually survives chat and username fields better than a normal space.

Where people use invisible characters

These are the common, practical uses. They all depend on the app still accepting the character, and that can change with any update.

  • Game names (Fortnite, PUBG, Free Fire, Roblox). A Hangul Filler or Braille blank can hide most of a display name. Roblox still enforces a 3-to-20-character minimum, so you need several blanks rather than one, and a blank name is not officially supported. Several titles now filter these outright, so test in-game after you paste.
  • Discord display names, not usernames. Discord usernames have been restricted to lowercase letters, numbers, underscore and period since 2023, so no invisible character will pass there. Display names and per-server nicknames still take full Unicode, which is where a blank works.
  • Instagram, X, TikTok and other bios. A gap in a bio, or a name that looks empty in a mention, needs a character with width — Hangul Filler or Ideographic Space — not a zero-width space.
  • Line breaks in captions. Instagram and TikTok caption boxes often collapse blank lines. Putting one invisible character on the otherwise empty line gives it content, so the break survives when you post.
  • Empty WhatsApp, iMessage and Telegram messages. These apps reject a message made only of normal spaces. Paste Hangul Filler or Braille Pattern Blank instead and the send button activates. This is a character, not a space-bar press.
  • Required fields that should look blank. A field marked required only checks for an empty string, so any invisible character satisfies it. Useful for an optional-in-practice question on a form; do not use it to falsify a record that someone relies on.
  • HTML and code. A no-break space or word joiner keeps a phrase, a number and its unit, or a price from splitting across two lines where a plain space would allow the break.

Which invisible character works on each platform

Start with the character in the middle column, and fall back to the next one in the notes if it is stripped. Platforms change their input filters without announcing it, so treat this as a starting point and confirm with the test box and with the app itself.

  • WhatsApp message

    Try first
    Braille Pattern Blank (U+2800)
    Notes
    Sends as an empty bubble. Hangul Filler also works. Zero-width characters are often dropped.
  • iMessage

    Try first
    Braille Pattern Blank (U+2800)
    Notes
    Accepted in the message body; Zero Width Space may be stripped before sending.
  • Telegram

    Try first
    Hangul Filler (U+3164)
    Notes
    Accepts blanks in messages, bios and channel descriptions.
  • Instagram bio

    Try first
    Hangul Filler (U+3164)
    Notes
    Use a width-carrying blank for a visible gap, and one blank per empty line to keep line breaks.
  • TikTok bio or caption

    Try first
    Hangul Filler (U+3164)
    Notes
    Braille Pattern Blank works too. Zero-width characters are commonly sanitized on save.
  • X (Twitter) bio

    Try first
    Hangul Filler (U+3164)
    Notes
    Use sparingly; the profile save step may collapse runs of blanks.
  • Snapchat

    Try first
    Braille Pattern Blank (U+2800)
    Notes
    Stricter than most. Zero Width Space and Non-Joiner are frequently removed.
  • Discord display name or nickname

    Try first
    Hangul Filler (U+3164)
    Notes
    Not the username: usernames allow only a–z, 0–9, underscore and period.
  • Roblox display name

    Try first
    Hangul Filler (U+3164)
    Notes
    Needs at least 3 characters, so paste the blank three times. Braille Pattern Blank is the usual fallback.
  • Fortnite display name

    Try first
    Hangul Filler (U+3164)
    Notes
    Filtered on and off across patches. Verify in-game; a rejected name change may still cost you the change.
  • Free Fire name

    Try first
    Hangul Filler (U+3164)
    Notes
    If you get “name already taken”, paste it two or three times. Halfwidth Hangul Filler (U+FFA0) and Braille Pattern Blank are the next fallbacks.
  • PUBG or Mobile Legends name

    Try first
    Hangul Filler (U+3164)
    Notes
    Usually accepted, sometimes shown as a placeholder box on other players’ devices.
  • HTML form field marked required

    Try first
    Zero Width Space (U+200B)
    Notes
    Satisfies the browser’s required check without changing the field’s apparent width.
  • Google Forms required question

    Try first
    Hangul Filler (U+3164)
    Notes
    Passes checks that reject a plain space.

No invisible character is guaranteed anywhere. If a paste vanishes, the destination sanitized it — switch to a different Unicode class rather than trying the same character again.

Invisible character vs. a regular space

A regular space is U+0020, the character your space bar sends. It is real text, but almost every input treats it as disposable: forms, chat apps and username validators trim leading and trailing whitespace, and a string of nothing but U+0020 trims down to an empty string. That is why holding the space bar never gets you a blank message.

The characters on this page are different code points with different Unicode classes. Nothing trims a letter or a symbol, so Hangul Filler and Braille Pattern Blank arrive intact. They are also not interchangeable with a space anywhere it matters: a search index, a password field or a CSV column will treat them as content, not as a separator.

Using invisible characters in code

Pasting a blank straight into a source file works but leaves an unreadable line for whoever edits it next. Escape it instead, so the character is obvious in review.

  • HTML. Use a numeric reference: ㅤ for Hangul Filler, ​ for Zero Width Space,   (or  ) for No-Break Space. The Html column in the table above gives the reference for every row.
  • CSS. In a content value, escape it as a hex code point with a trailing space: content: "\3164 ".
  • JavaScript, TypeScript, JSON. Use the Unicode escape: "\u3164" for Hangul Filler, "\u200b" for Zero Width Space. Above U+FFFF use the braced form, "\u{e0020}".
  • Keyboard entry. On Windows, type 3164 and press Alt+X in Word or WordPad. On Linux and most GTK apps, press Ctrl+Shift+U, type 3164, then press Enter or Space. macOS has no direct hex entry, so copy from this page instead.

Can invisible characters be detected?

Yes, easily. An invisible character has no glyph, but it is an ordinary Unicode code point in the stored text, so anything that reads the raw string sees it. Input sanitizers, spam filters, moderation tools, plagiarism and AI-text detectors, database queries and a simple search for U+200B all find them without effort.

Invisible does not mean hidden, and it does not mean private. Do not use these characters to watermark text you would not want traced, to smuggle content past a filter, or to make a message read differently to a person than it does to a machine.

Screen readers and accessibility

Most screen readers skip Zero Width Space and Zero Width Non-Joiner entirely, because they are formatting codes with nothing to announce. Hangul Filler is a letter, so some screen readers announce it as a Korean character or read out its name, and Braille Pattern Blank may be rendered as an empty Braille cell.

A blank display name is worse for assistive technology than a short one: there is nothing meaningful to announce, so a screen reader falls back to reading the account ID or says nothing at all. Keep invisible characters out of navigation labels, headings, alt text and link text, and use CSS for spacing in anything you publish.

Troubleshooting

What each failure usually means, and what to change.

  • The copy button does nothing

    Likely cause
    The browser blocked clipboard access, common in in-app browsers on iOS.
    What to do
    Use Method 2: click Select Text, then press Ctrl+C or ⌘+C.
  • The test box counter stays at 0

    Likely cause
    Nothing was copied, or the paste went somewhere else.
    What to do
    Click into the box first, then paste again. Try the other copy method.
  • The paste works, but the field is empty after saving

    Likely cause
    The app sanitized the character on submit.
    What to do
    Switch Unicode class: try Hangul Filler (Lo) or Braille Pattern Blank (So) instead of a zero-width Cf character.
  • A box, dot or question mark appears instead of a blank

    Likely cause
    The font on that device has no glyph for the character.
    What to do
    Use Hangul Filler or Ideographic Space, which are covered by most system fonts.
  • The name is rejected as too short

    Likely cause
    The platform enforces a minimum length, as Roblox does with 3 characters.
    What to do
    Paste the blank as many times as the minimum requires.
  • A “name already taken” warning appears

    Likely cause
    Millions of players use the same single blank, so the one-character name is gone.
    What to do
    Paste the same character two or three times. It looks identical, but the server reads it as a different name.
  • The surrounding text reorders itself

    Likely cause
    A bidirectional control such as U+202E was copied from the table.
    What to do
    Remove it and use a standalone blank. Bidi controls are listed for reference, not for blank names.

Limitations — please read this

An invisible character is still a character. It is not a magic empty string, and it is not invisible to software that checks for it.

Many apps, games, and websites now strip zero-width characters from names and messages. If copy “works” here but disappears after paste, the destination removed it. Try Hangul Filler (U+3164) or Braille Pattern Blank (U+2800) before giving up.

Some communities and moderation systems treat blank names or empty spam as evasion. Use this for fun messages and layout, not to hide identity or break a service’s rules.

Bidirectional controls can scramble surrounding text. Combining marks and tag characters do almost nothing alone. The copy button uses Hangul Filler, which is a standalone blank.

If you want movement rather than a blank, try the scrolling text tool on the homepage.

scrolling text time waster

Indonesian version

The same page is available in Indonesian, with the same copy tool, character table and platform table: Teks Kosong — salin karakter tak terlihat & spasi kosong

Frequently asked questions

Why does the test box look empty but the count is not zero?

The characters have no ink (or almost none). The string still contains a real character, so the count increases. That is how you know the copy worked.

Which invisible character should I use?

Start with Hangul Filler (U+3164). Unicode classifies it as a letter, so it survives whitespace trimming and it has width, which means bios and usernames keep the gap. Use Braille Pattern Blank (U+2800) as a backup, and Zero Width Space (U+200B) only when you want no extra gap at all. Avoid control characters and combining marks.

Why does my invisible text disappear after I paste it?

The destination sanitized it. Zero Width Space and Zero Width Non-Joiner are Cf format characters and are the first things an input filter removes. Switch to Hangul Filler or Braille Pattern Blank, which Unicode classes as a letter and a symbol, so the same filter usually leaves them alone.

Is this the same as a regular space?

No. A regular space is U+0020, and most forms trim it, so a field holding only spaces counts as empty. The characters in the table are different code points in different Unicode categories, which is exactly why they are not trimmed.

How do I type an invisible character without copying it?

On Windows, type the code point and press Alt+X in Word or WordPad — 3164 then Alt+X gives Hangul Filler. On Linux, press Ctrl+Shift+U, type 3164 and press Enter. macOS has no hex input, so copying from this page is the practical route.

Will this send a blank WhatsApp message?

Usually yes, if you paste Braille Pattern Blank or Hangul Filler instead of hitting the space bar. WhatsApp can change this at any time, so test with a message to yourself first.

Can I use these for a blank Discord username?

No. Since the 2023 username change, Discord usernames allow only lowercase letters, numbers, underscore and period. Your display name and per-server nickname still accept full Unicode, so paste the blank there instead.

How do I get a blank name in Roblox?

Roblox display names must be at least 3 characters, so paste Hangul Filler three times into the display name field in account settings. A single blank is rejected as too short, and a blank display name is not something Roblox officially supports.

Can invisible text be detected?

Yes. The character is stored in the text like any other, so sanitizers, spam filters, moderation tools and anyone inspecting the raw string can see it. Treat these as invisible to the eye, not hidden from software.

Is it against a platform’s terms of service?

It depends on the platform and what you are doing. A blank display name or a gap in a bio is generally tolerated. Using invisible characters to dodge a spam filter, fake engagement, evade a moderation action or misrepresent content can breach the terms and get an account restricted.

Will screen readers read them out?

Zero-width characters are normally skipped. Hangul Filler is a letter, so some screen readers announce it as a Korean character. Keep invisible characters out of link text, headings and alt text.

Why do some sites show “Character: 2” for one paste?

They count UTF-16 code units. Characters above U+FFFF are stored as a surrogate pair, so their length is 2. This test box counts real Unicode characters, so one Hangul Filler is 1.

Is there a limit on how many I can copy?

No. Paste the blank as many times as you need. There is no cap, no account and no rate limit — though most fields have their own character limit.

Is it free?

Yes, the whole page is free and runs entirely in your browser. Nothing you copy or paste is sent to a server.

Can I use these to hide my name everywhere?

No. Games and social apps increasingly filter blank names, and using them to evade moderation can get an account restricted. Treat this as a text toy, not a disguise.