Copy a blank character

The blue box in each card shows how wide the character really is, and a thin line means no width at all.

Hangul FillerU+3164
Wide blank, 1 em
Survives space trimming
Braille Pattern BlankU+2800
Medium blank, about 0.65 em
Survives space trimming
Zero Width SpaceU+200B
No width at all
Survives space trimming
Ideographic SpaceU+3000
Wide space, 1 em
Trimmed like a space

Turn text into invisible text

Every character you type becomes one blank, so the result keeps the length and the lines of your message.

Invisible text

Generate blank text

Pick a character and how many you need, up to 10,000.

Reveal hidden characters

Paste any text to see the invisible characters inside it, then copy a clean version.

What the text contains
Paste text to see every character in it, including the ones you cannot see. Hidden characters show up as labeled chips with their Unicode code point.

About the Invisible Text Generator

What is invisible text?

Invisible text is text made of Unicode characters that apps store like letters but show as blank.

Each invisible character has its own Unicode code point, such as U+3164 for the Hangul Filler or U+200B for the Zero Width Space. Software stores and sends these characters like any letter, so a name or message made only of them is not empty, even though you see nothing on screen.

People also call it blank text, empty text, invisible letters, an invisible character or an invisible font. No special font is involved, only characters that have no visible shape.

What should you know about invisible characters?

Invisible characters are real text, so apps count and store them like letters.

  • Space trimming keeps three blanks and drops two. JavaScript's trim() and Python's strip() keep the Hangul Filler, the Braille Pattern Blank and the Zero Width Space, but they remove the Ideographic Space and the No-Break Space from the ends of text.
  • Width depends on the character. In Chrome on Windows at 16px, the Hangul Filler is 16 pixels wide, the Braille Pattern Blank about 10 and the Zero Width Space 0, and other fonts can change those numbers.
  • Four common blanks take 3 bytes each. The Hangul Filler, the Braille Pattern Blank, the Zero Width Space and the Ideographic Space each count as one character in JavaScript and take 3 bytes in UTF-8, where a plain letter takes 1.
  • Emoji and some languages need invisible characters. The family emoji 👨‍👩‍👧 is three emoji joined by two Zero Width Joiners (U+200D), and Persian puts a Zero Width Non-Joiner (U+200C) inside many words, so the reveal box leaves joiners alone inside emoji and in scripts that need them.
  • Tag characters can hide whole sentences. The Unicode tag characters from U+E0020 to U+E007E mirror the printable ASCII characters without drawing anything, and security researchers have used them to hide instructions in text sent to AI chatbots.

Which invisible character should you use?

Use the Hangul Filler for most blank names and messages.

The Hangul Filler is a wide blank that survives space trimming. Switch to the Braille Pattern Blank if an app refuses it, and keep the Zero Width Space, an invisible space with no width, for splitting words or links with no visible gap.

Invisible characters compared by width and by whether JavaScript trim() removes them from the ends of text
CharacterCode pointWidth at 16pxRemoved by trim()Best for
Hangul FillerU+316416pxNoBlank names and empty messages
Braille Pattern BlankU+2800about 10pxNoA backup blank when an app refuses the Hangul Filler
Zero Width SpaceU+200B0pxNoSplitting words or links with no visible gap
Ideographic SpaceU+300016pxYesWide gaps inside a line of text
SpaceU+0020about 4.5pxYesOrdinary spacing between words

We measured the widths in Chrome on Windows with the Inter font at 16px. The trim() column follows JavaScript's String.prototype.trim, and Python's str.strip() gives the same result for all five.

How do you type invisible text?

You copy invisible text and paste it, because keyboards have no key for it.

  1. Copy a blank character. Press Copy on the Hangul Filler card, or on another card when you need a different width.
  2. Or turn a message invisible. Type it in the converter and copy the result, which has one blank for every character you typed.
  3. Or generate a run of blanks. Choose how many you need, up to 10,000, and copy them in one go.
  4. Paste it where it goes. Use Ctrl+V on Windows, Cmd+V on a Mac, or press and hold on a phone and tap Paste.
  5. Check it if something looks wrong. Paste the text into the reveal box to see every hidden character by name.

Example

This message will be converted to 11 Hangul Fillers and one line break. The options are the defaults, Hangul Filler with Keep line breaks on:

Input: your text
Hi 👋
see you
Output: invisible text as code points
U+3164 U+3164 U+3164 U+3164
U+3164 U+3164 U+3164 U+3164 U+3164 U+3164 U+3164

The wave emoji becomes one blank, not two, because the converter counts characters the way you see them. Copied out, the result is 12 characters and 34 bytes, the line break included.

The reveal box finds invisible characters instead of making them. Press its Sample button and it finds 30 hidden characters in one short message, a No-Break Space, a Zero Width Space and 28 tag characters that spell out a hidden instruction to reply only in pirate speak.

Common mistakes

Invisible text fails for a few predictable reasons.

  • Using a normal space. The message will not send or the name is refused, because an app that trims spaces finds nothing left. Copy a Hangul Filler instead of pressing the space bar.
  • Using the Ideographic Space on its own. It looks like a wide blank, but trim() removes it just like a space, so a name made only of it counts as empty. Keep it for gaps inside a line.
  • Expecting the Zero Width Space to make a gap. It is 0 pixels wide, so two words joined by it look glued together. Use the Hangul Filler or the Braille Pattern Blank for visible space.

Common Use Cases

People use invisible text for names, messages, spacing and checking copied text.

  • Blank usernames in games and apps. Google's search suggestions for invisible names include Discord, Roblox, Fortnite, Xbox and Steam. Each sets its own name rules, so test a blank name before you rely on it.
  • Empty messages. Put a Hangul Filler in the box when a chat app will not send an empty message, then press send.
  • Spacing in bios and captions. Put a Hangul Filler or a Braille Pattern Blank on an empty line of an Instagram or TikTok caption, so an app that drops blank lines keeps it.
  • Cleaning copied text. Find and remove zero-width characters that break a password, a search, a link or a line of code after copy and paste.
  • Checking text before an AI reads it. Look for tag characters in an email, a web page or a document before you paste it into a chatbot.

The Zero Width Space page covers that one character in depth. For tiny letters instead of blank ones, use the Small Text Generator, and to trim lines and collapse stray spaces in pasted text, use the Text Cleaner. To copy blank space in one click or build long blank text over many lines, use Blank Text Copy and Paste.

Frequently Asked Questions

Is an invisible character the same as a space?

No, an invisible character is a different Unicode character from the space. JavaScript's trim() and Python's strip() remove the space (U+0020) from the ends of text but keep the Hangul Filler (U+3164), which Unicode classes as a letter.

How do you send a blank message?

Copy a Hangul Filler, paste it into the chat box and press send. If the send button stays gray, that app does not accept the Hangul Filler, so try the Braille Pattern Blank instead.

How do you make an invisible name in a game or on Discord?

Paste a Hangul Filler into the name field instead of typing a name. Discord, Roblox, Fortnite and Steam each set their own name rules, so a blank name that one of them accepts can be refused by another.

Why do I see a box instead of a blank space?

A box appears when the font on that device has no drawing for the invisible character. Copy a different invisible character, such as the Braille Pattern Blank, and paste it again.

Can invisible text be detected?

Yes, invisible text can be detected, because every invisible character is still stored in the text. Our reveal box lists each one by name and code point and decodes hidden tag text.

Can you type invisible text on a keyboard?

Not directly, because keyboards have no key for the Hangul Filler or the Zero Width Space. On Windows, Alt+0160 types a No-Break Space, but trim() removes that just like a normal space, so copying and pasting is the reliable way.