Invisible Text Generator
Your text
Type or paste your text below
0 characters · demo preview active
Output preview
Live preview updates as you type
Your text
Type or paste your text below
Output preview
Live preview updates as you type
0 characters · demo preview active
Copy buffer holds real invisible characters. Preview shows boxed placeholders unless raw mode is on.
Copy buffer holds real invisible characters. Preview shows boxed placeholders unless raw mode is on.
An invisible text generator replaces visible letters with Unicode code points that take up little or no space on screen: braille blank, zero-width space, hangul filler, and related characters you copy like ordinary text. This tool maps each typed letter to the type you select, keeps regular spaces as spaces, and shows boxed placeholders in the preview so you know the string isn't empty. Type `blank` to fill the preview with five braille blanks, or paste visible words when you only need invisible separators between them. Your clipboard holds real code points. The profile field decides what survives.
Last updated · Built by Alex Morgan, a front-end engineer specializing in Unicode text tools since 2019.
What is an invisible text generator?
An invisible text generator outputs Unicode characters with no visible glyph, or with a blank cell that still occupies line height, so you can copy strings that look empty. You pick a type like braille blank U+2800 or zero-width space U+200B, type visible source text, and each letter becomes that invisible code point. Regular spaces stay as spaces. You paste the result into bios, chat boxes, or forms when you want hidden spacing, not when you need readable body copy.
Invisible characters are layout glue, not a cloak. Unicode assigns real code points to zero-width and format characters for typography, script shaping, and emoji joiners. This tool exposes six of them: braille blank, zero-width space, zero-width non-joiner, zero-width joiner, word joiner, and hangul filler. Each behaves differently when a renderer measures width or when a server normalizes profile input.
Example: typing blank with braille blank selected produces five invisible cells. In Discord they read as an empty message that still occupies a line. In a bio counter they consume five character slots while showing nothing. Inserting zero-width space between two visible words keeps the sentence on one row while splitting tokenization. Trying to hide an entire username in hangul filler fails on most signup forms because mention indexes strip non-printing code points on save.
How do you copy invisible Unicode characters?
Choose a character type, type or paste source text, preview the invisible output with boxed code point labels or switch to raw mode, then copy. Each letter becomes the selected invisible character. Spaces stay visible gaps. Paste into your target field and save to see whether that platform keeps non-printing Unicode.
- Type visible text into the input box. The demo fills it with `blank` if you want to see braille cells immediately.
- Choose the character type: braille blank for line-height gaps, zero-width space for token breaks, or hangul filler for leaderboard-style blanks.
- Toggle the raw preview to see the actual invisible string versus the boxed placeholder view.
- Click Copy to place the real Unicode on your clipboard.
- Save the field on the target platform and reopen it to confirm the characters survived the server.
Which invisible character fits which trick?
Braille blank holds vertical space where a truly zero-width character would collapse. Zero-width space splits words inside a visible sentence. Hangul filler targets blank display names when a client treats U+3164 as a lone glyph; confirm after logout. Word joiner pins long tokens together across line breaks. Pick the type that matches whether you need height, width, or a name-field workaround.
| Character Type | Code Point | On-Screen Effect | Best Use |
|---|---|---|---|
| Braille blank | U+2800 | Empty cell with line height, reads as a blank row in chat | Discord messages that need to look empty without collapsing the thread layout |
| Zero-width space | U+200B | No visible box, invisible break between tokens on the same line | Caption spacing between visible words where a normal space feels too wide |
| Hangul filler | U+3164 | Blank Korean filler slot, sometimes accepted as a lone display glyph | Test leaderboards where a blank name is allowed and reappears after logout |
| Word joiner | U+2060 | Invisible glue that stops line wraps at a chosen spot | Long hashtags or handles in narrow bio columns that should not break mid-token |
| Zero-width joiner | U+200D | Invisible glue that merges adjacent emoji or script glyphs into one cluster | Emoji stacks where the joiner must sit between specific code points, not for substituting Latin letters |
| Zero-width non-joiner | U+200C | Blocks ligatures in Arabic and Indic scripts, invisible in Latin text | Mixed-script usernames where a joiner would merge glyphs you wanted separate |
Where do invisible characters survive pasting?
Invisible Unicode survives in fields that store full UTF-8 and skip aggressive normalization: chat messages, some bio lines, and permissive game clients. It fails in searchable handles, login forms, and anywhere moderation strips format characters. Paste, save, log out, and log back in before you assume a blank trick has stuck.
Why does Instagram strip invisible characters from bios?
Instagram bios are indexed for search and @mentions. Non-printing characters break tokenization, so the bio editor normalizes many zero-width and format code points on save or drops them on iOS while leaving the visible words intact. A line that looked spaced in the composer can collapse to plain text after you refresh. Invisible gaps between emojis sometimes persist longer than gaps between Latin letters, but blank-name tricks fail outright.
Do blank PUBG-style usernames still work?
Hangul filler U+3164 became the classic one-character blank name on mobile battle royales when those clients counted it as a valid display glyph. Titles that sanitize signup strings typically reject lone format characters, and names built on them often revert on the next login. A blank name that saves once can disappear when the client revalidates the string. Treat empty leaderboard names as temporary, not a permanent identity.
Why do signup forms delete zero-width spaces?
Registration pipelines trim control and format characters to stop homoglyph attacks, duplicate accounts, and mention spoofing. Zero-width space inside an email field or username box gets stripped before the value hits the database because the server needs a canonical plain-text key for login and search. That's the same reason invisible strings work as visual separators in a caption but vanish from a handle you wanted to hide.
What shouldn't you expect from blank Unicode?
Searchable fields strip them on save.
Invisible characters are useful as visual separators between visible words and useless as hiding places in profiles people can search or mention. Platforms remove zero-width code points from handles, emails, and public names because lookup tables need plain text. Screen readers may announce format characters by name or skip them unpredictably, which makes invisible bios rough for accessibility even when sighted users see the spacing.
The clipboard holds real Unicode. The server keeps whatever passed validation. That gap is the whole tool: copy freely, confirm on save, and don't build an account identity out of characters a moderation pipeline was built to delete.
What do people get wrong about zero-width text?
How is braille blank different from a zero-width space?
Braille blank is U+2800, a visible-width blank cell in Braille typography that many editors treat as a real glyph with line height. Zero-width space is U+200B, which adds no box width and only breaks word boundaries invisibly inside a line. Braille blank is better when you want an empty-looking line that still occupies vertical space. Zero-width space is better when visible words should stay on one row but need a hidden gap between them.
Can invisible text hide a username from search?
No. Platforms that allow public search strip non-printing characters from handles and display names on save because mentions and lookup tables rely on plain text. Invisible Unicode can still work as a separator between two visible words in a bio caption, but it won't keep a profile name blank or untraceable once the server normalizes the string.
Why do @mentions break when you add zero-width characters?
Mention parsers tokenize usernames on plain ASCII boundaries. Insert U+200B or U+2060 inside a handle and the platform no longer matches the string to an account ID even though it looks identical on screen. The same normalization that protects search also breaks hidden spacing tricks inside tags. Keep mentions plain and use invisible characters only outside handles.
Which invisible type works for an empty Discord message?
Braille blank U+2800 is the usual choice because Discord accepts messages that contain only that character and renders them as a blank line in the channel. Zero-width-only messages often collapse to nothing in the sidebar preview. Moderators can still see message metadata, so treat empty posts as a layout joke, not a way to bypass rules.
Why did my copied string look empty but paste anyway?
The characters are real code points with no visible glyph in most fonts. Your clipboard holds them even when the preview looks blank in raw mode. If paste appears to do nothing, the target field may have rejected non-printing input silently or collapsed the string on save. Reopen the field after saving to see what the platform actually stored.
Can you detect invisible Unicode in pasted text?
Yes. Paste into this tool's input with raw preview on, or run the string through any Unicode inspector that lists code points. Zero-width and format characters show up as U+200B, U+200C, U+2060, and similar entries even when the line looks empty. That's why moderation pipelines strip them from public names.
Where do you go when blank is not enough?
- Zalgo Text GeneratorCombining marks when you want visible corruption, not blank space.
- Wide Text GeneratorThin-space separators you can actually see between words.
- Strikethrough Text GeneratorVisible combining strokes when blank tricks feel too fragile.
- Username GeneratorReadable handles when invisible names keep getting scrubbed on save.
- Mirror Text GeneratorUpside-down letters for playful bios that stay searchable.
- Fancy Text GeneratorCircled and squared Unicode when you want flair without hiding.
Who Built This Tool?
Built by Alex Morgan, a front-end engineer specializing in Unicode text tools since 2019. Last updated: .
About Graffiti Generator