Copy blank characters and empty space that paste cleanly into usernames, bios, captions and chat. Five tested Unicode characters, verified before you publish.
Method 1
Copy an empty character
One click puts a single blank character on your clipboard. Select the box and press Ctrl+Cto copy it manually.
Method 2
Bulk blank text generator
Generate up to 500 invisible characters for long caption gaps, section breaks and blank messages.
Paste anything here to count its invisible characters before you publish it. A count of zero means the destination stripped them.
Total
0
Invisible
0
Visible
0
200+
Unicode codepoints
40+
Platforms tested
0
Accounts required
100%
Client-side only
01
What it is
Five Unicode characters, what separates them, and why the terminology varies.
What is invisible text?
Answer
Invisible text is a real Unicode character that carries no visible glyph. Apps store it as ordinary text and count it against character limits, yet the screen shows nothing.
Five characters do almost all the work. They come from 4 different Unicode General Categories — Zs (Space Separator), Cf (Format), Lo (Other Letter) and So (Other Symbol). The shared property is an empty glyph, not a shared category, which is why validators that block one character often still accept another.
Copy one now:
Invisible text is not an image, a font trick or a modified client. Copy the empty character once and it travels through any field that accepts text, which is why blank text behaves identically on desktop and mobile.
Invisible text, blank text and empty character
Short answer
The three terms describe the same characters at different widths, so the choice of term rarely changes what you need.
How the common terms for invisible characters differ
Term
What it means
Width
Invisible text
The umbrella term, covering blank-space and zero-width characters alike
Any
Blank text
Occupies width but draws nothing, for fields that cannot stay empty
Wide
Empty character
A single codepoint with no glyph, most often U+3164
Wide
Blank space
A wider gap, usually U+2800 or several characters stacked
Wide
Width is the only distinction that affects your result. U+200B occupies zero width, U+00A0 occupies one space, and U+2800 occupies a full blank block.
02
How it works
The two systems that strip ordinary spaces, and why blank characters survive both.
I
Choose the character
Start with Hangul Filler — it clears the most validators. Switch to Braille Blank for wider gaps, or a zero-width character when you need no visible width at all.
II
Set the amount
One character for a username. Five to ten for a caption break. Twenty or more when you want a full section of blank between paragraphs.
III
Copy, paste, verify
Your clipboard now holds valid Unicode that shows nothing. Drop it into the test field to confirm the count survived the round trip before you publish.
Why a blank character beats a space
Almost every platform trims leading, trailing and repeated spaces before it saves a field, and CSS collapses runs of whitespace at render time. A regular space rarely survives both.
Characters like Hangul Filler and No-Break Space sit outside those rules. The platform reads valid text and stores it; the renderer draws nothing.
Plain spacecollapsed
"Phantom Warriors"
↳ Phantom Warriors
U+3164 fillerpreserved
"Phantom▫▫Warriors"
↳ Phantom Warriors
U+200B zero-widthpreserved
"Phantom▫Warriors"
↳ PhantomWarriors
Why a blank character works where a space fails
Answer
Two separate systems remove ordinary spaces, and Unicode blank characters sit outside both. Knowing which system removed your space tells you which character to use next.
System 1
Platforms trim before saving
Almost every platform runs a trim operation on submitted fields, cutting leading and trailing spaces and collapsing repeats. Three spaces reach the database as an empty string and fail the required-field check.
U+3164 and U+2800 are not in the space class those functions target, so the stored value keeps every character you typed.
System 2
CSS collapses before rendering
Browsers apply the CSS white-space property, reducing any run of spaces, tabs and newlines to one. Five spaces in HTML render as one.
No-Break Space (U+00A0) is excluded from collapsing by the CSS specification, which is why it holds spacing in HTML, email templates and rich-text editors.
The result is the same across both systems: the platform reads valid text and stores it, and the renderer draws nothing. That gap between the stored value and the drawn output produces every effect on this page.
How rendering produces nothing
A rendering engine performs 4 steps on every character: it reads the codepoint, looks up the General Category, requests a glyph from the active font, then draws that glyph at the advance width the font reports. Invisible characters complete all 4 steps normally. Zero-width characters report an advance width of 0 and draw nothing, while space characters report a positive advance width and draw nothing inside it.
Text selection confirms the character exists. Dragging the cursor across invisible text highlights a region and moves the caret one position per character, because the layout engine assigned each character a position even though the font painted no ink.
Try it on a real field
Copy a character, paste it into a username, then paste it back into the tester to confirm it survived.
Set the amount above 20 and copy once. The generator produces up to 500 characters per copy, and repeating the copy extends any run beyond that.
5–10
Caption break
Instagram caption, YouTube description
20–50
Section gap
Between blocks of text
100+
Blank wall
Discord message, WhatsApp status
Wide characters build length faster. A run of 20 Braille Pattern Blank characters spans roughly the width of 20 spaces, while 20 Zero-Width Space characters span 0 pixels and produce no visible gap at all. Destination limits cap the useful length: Instagram accepts 2,200 characters in a caption, X accepts 280 in a post, and most username fields stop between 16 and 32 characters.
03
Characters
Width, codepoint and acceptance for every character worth using.
Comparison of the five generator characters by codepoint, width, Unicode category and best destination
Character
Codepoint
Width
Category
Best destination
Hangul Filler
U+3164
Wide
Lo
Gaming names, Instagram bios
Braille Pattern Blank
U+2800
Wide
So
Discord, wide spacing
Zero-Width Space
U+200B
Zero
Cf
Hiding text, word breaks
No-Break Space
U+00A0
Narrow
Zs
Forms, HTML, email
En Quad
U+2000
Narrow
Zs
Typography, precise alignment
Three rules cover most cases. Use U+3164 for any name field. Use U+00A0 for anything that will be rendered as HTML. Use U+200B when a visible gap would break the layout.
Width, codepoint and tested acceptance for the characters that matter. Copy any one of them directly from the table.
Character
Codepoint
Width
Best used for
Copy
▫
Hangul Filler
U+3164
U+3164
Wide
Gaming names, Instagram bios
98%
▫
Braille Pattern Blank
U+2800
U+2800
Wide
Discord, wide spacing
90%
▫
Zero-Width Space
U+200B
U+200B
Zero width
Hiding text, word breaks
95%
▫
No-Break Space
U+00A0
U+00A0
Narrow
Forms, HTML, email
99%
▫
En Quad
U+2000
U+2000
Narrow
Typography, precise alignment
85%
▫
Zero-Width Non-Joiner
U+200C
U+200C
Zero width
Breaking ligatures
88%
▫
Word Joiner
U+2060
U+2060
Zero width
Preventing line breaks
86%
▫
Hair Space
U+200A
U+200A
Narrow
Micro-kerning captions
92%
▫
Em Quad
U+2001
U+2001
Wide
Wide indentation
84%
▫
Invisible Separator
U+2063
U+2063
Zero width
Mathematical notation
74%
Ten of more than two hundred blank and zero-width codepoints.
Blank display names across the five biggest name-change screens.
Blank display names across the five biggest name-change screens.
Platform
Status
Character
Field notes
PUBG / BGMI
Confirmed
U+3164
Stack 2–3 characters for a first-try save
Free Fire
Confirmed
U+3164
Needs a rename card before any edit
Fortnite
Confirmed
U+3164
Epic account name — carries across all devices
Roblox
Confirmed
U+3164
Display name only, never the login username
Steam
Confirmed
U+3164
Clean on Source engine titles and CS2
Minecraft
Confirmed
U+2800
Works in signs, books and command blocks
Call of Duty Mobile
Confirmed
U+3164
Accepted in the standard rename flow
Valorant
Conditional
U+2800
Riot ID filtering often needs multiple characters
Bios, captions, highlight names and blank comments.
Bios, captions, highlight names and blank comments.
Platform
Status
Character
Field notes
Instagram
Conditional
U+3164
Bios and highlights pass; comments need 2–3 chars
TikTok
Confirmed
U+3164
Clean bios, captions and blank display names
X / Twitter
Confirmed
U+2800
Profile and display-name formatting
Facebook
Conditional
U+00A0
Behaviour changes by field type
Snapchat
Confirmed
U+3164
Display-name spacing
LinkedIn
Conditional
U+00A0
Headline fields filter more aggressively
YouTube
Limited
U+2800
Descriptions and comments only — not channel names
Reddit
Confirmed
U+200B
Zero-width space survives markdown parsing
Sending an empty message, or spacing one that isn't.
Sending an empty message, or spacing one that isn't.
Platform
Status
Character
Field notes
WhatsApp
Confirmed
U+00A0
The most reliable blank-message character
Discord
Confirmed
U+2800
Widest spacing for aesthetic server layouts
Telegram
Confirmed
U+3164
Empty messages and blank usernames
Signal
Confirmed
U+00A0
Blank sends go through unmodified
Slack
Conditional
U+200B
Depends on the workspace's message validation
Microsoft Teams
Conditional
U+00A0
Tenant admin policy can strip it
Where whitespace collapsing and validators get in the way.
Where whitespace collapsing and validators get in the way.
Platform
Status
Character
Field notes
HTML rendering
Confirmed
U+00A0
Exempt from CSS whitespace collapsing by spec
Google Forms
Confirmed
U+3164
Satisfies a required-field check
WordPress editor
Confirmed
U+00A0
Survives the block editor's sanitiser
Email signatures
Confirmed
U+00A0
Holds spacing that HTML email strips
Contact forms
Confirmed
U+3164
Standard validators accept it as text
Registration forms
Conditional
U+200B
Security filters may reject non-ASCII
05
In practice
Where it works, what it costs against character limits, and how to clean it up.
Where invisible text works
The character is the same everywhere. The name field, the validator and the number of characters you need are not.
01
Gaming names
Games reject an empty username but accept Unicode that renders blank.
PUBG / BGMI
20-character cap; often needs 2–3 stacked characters to save first time
Free Fire
Requires a rename card before any edit
Roblox
Changes the display name, never the login username
Fortnite
Stored on the Epic Games account, so one change covers PC, console and mobile
Steam
Clean on Source-engine titles and CS2
02
Social bios and captions
Platforms strip ordinary spaces from bios, captions and display names.
Instagram
150-character bio; every invisible character consumes one
Highlights
Icon-only covers with no title beneath them
Comments
Stricter than bios — usually needs 2–3 stacked characters
TikTok
Blank display names and caption spacing survive publishing
03
Messaging apps
Clients block an empty send but accept an invisible character as valid text.
Discord
3 field types: channel names take U+2800, display names U+3164, messages any
WhatsApp
Occasionally rejects one character and accepts two
Telegram
Transmits a blank message unmodified
Signal
Blank sends go through unchanged
04
Web, forms and email
Where whitespace collapsing and validators get in the way.
HTML
U+00A0 survives rendering; the entity is the same codepoint
Email signatures
Holds spacing that HTML clients strip
Form validation
A field accepting U+00A0 but rejecting empty checks length, not content
QA fixtures
Proves a sanitiser handles non-ASCII blank input
Quality-assurance work uses invisible characters as test fixtures. A field that accepts U+00A0 but rejects an empty string proves the validator checks length rather than content, which is a defect if the field requires meaningful input. Sanitising input with a Unicode-aware regular expression closes that gap.
How invisible characters count against limits
Answer
Every invisible character counts as one character, and as 1 to 3 bytes. Fields measure length in characters, storage measures it in bytes, and the two numbers differ.
UTF-8 byte cost of the most-used invisible characters
Character
Codepoint
UTF-8 size
What that means
Hangul Filler
U+3164
3 bytes
A 20-character PUBG name costs 60 bytes
Zero-Width Space
U+200B
3 bytes
Splits words at 0px width
No-Break Space
U+00A0
2 bytes
Cheapest per character
Two consequences follow. Stacking characters to pass validation costs limit space, so a name needing 3 stacked characters leaves 17 of its 20 for the visible part. Fields that measure bytes rather than characters reject invisible text sooner than expected.
Why your invisible text shows a box
Diagnosis
A box (□) means the destination's font has no glyph for that codepoint, not that the copy failed. The character is intact in the stored value.
Rendering engines draw a .notdef glyph, usually an empty rectangle or a question mark, whenever font fallback finds no glyph for the character in any installed font. The character is intact in the stored value — three fixes resolve it.
1
Switch character
U+3164 and U+00A0 carry the broadest font coverage.
2
Reduce the count
Some renderers draw only the first missing glyph.
3
Test on the device
Coverage differs across Android, iOS, Windows and macOS.
Which character for which job
IfA name field
Clears the widest range of validators
IfAnything rendered as HTML
Exempt from whitespace collapsing
IfA gap that must not show
Occupies zero width
How to remove invisible characters
To remove invisible characters, run a regular-expression replace over the two Unicode categories that hold them. Run a replace across the relevant codepoints.
Two situations call for removal. Pasted text from a large language model (LLM) sometimes carries zero-width characters that break code, corrupt diffs and produce mismatched string comparisons. User-submitted content containing invisible characters passes length validation while displaying as blank, so moderation systems sanitise input before storing it.
Audit a string right now
Paste anything into the tester to see exactly how many invisible characters it carries.
Invisible characters are permitted on every major platform. Unicode blank characters belong to the same category as emoji and accented letters, so no platform treats the character itself as a violation.
Account actions follow behaviour rather than character choice: impersonating another player, evading a ban or harassing someone breaks the rules regardless of the name. One exception applies — esports tournaments and sponsorship agreements often require a visible, identifiable name, which is a competition rule rather than a platform rule.
Screen readers and accessibility
Screen readers including NVDA, JAWS and VoiceOver skip zero-width characters, and long runs of blank characters produce silence or irregular pauses. Keep invisible characters out of headings, link text and body content that must be read aloud. Decorative spacing in a bio or a username carries no accessibility cost, because assistive technology announces the surrounding visible text normally.
06
Tools & guides
The rest of the suite, and the per-platform walkthroughs.
Instant copy
Invisible Text Generator
One click copies a tested blank character straight to your clipboard. Nothing to configure, nothing to sign up for.
No. A space (U+0020) belongs to the class that `trim()` removes and CSS collapses, while U+3164, U+2800 and U+00A0 sit outside that class and survive both operations.
02
Can I type an invisible character with my keyboard?
No standard keyboard has a key for these codepoints. On Windows, Alt codes cover a limited range; on macOS, the Unicode Hex Input source accepts a codepoint directly. Copying from this page is faster and avoids input-method errors.
03
Why is my invisible text not working?
Three causes account for most failures: the field strips non-ASCII input, the font lacks a glyph and draws a box, or the platform enforces a minimum visible-character count. Test with U+00A0 first, since it carries the widest support.
04
How many invisible characters can I copy at once?
The generator produces 1 to 100 characters per copy. Repeat the copy for longer runs, though most destinations reject names above 20 to 30 characters.
05
Does invisible text affect SEO?
No. Search engines normalise whitespace before indexing, so a small number of blank characters is inert. Using invisible characters to hide keywords or cloak text is treated as manipulation and carries a ranking penalty.
06
Can invisible characters be detected?
Yes. Any text editor with a "show invisible characters" setting reveals them, and a regular-expression search across the zero-width range finds every occurrence. The verify box above counts them without installing anything.
07
Which invisible character works on the most platforms?
No-Break Space (U+00A0) carries the broadest support, because HTML, email clients, document editors and most form validators all accept it. Hangul Filler (U+3164) wins specifically on name fields, where U+00A0 is sometimes trimmed.
08
Do invisible characters work in Microsoft Word and Google Docs?
Yes. Both editors store and display U+00A0 and U+3164 correctly, and both preserve them through copy, paste and export to PDF. Word displays them as spacing marks when you enable Show Formatting.
09
Will invisible text break my code?
Yes, if a zero-width character reaches a source file. U+200B and U+FEFF inside a string produce failed comparisons, broken JSON parsing and diffs that show no visible change. Strip invisible characters from any text pasted out of a chat client or an LLM before committing it.
10
Do invisible characters work on iPhone and Android?
Yes. Copying and pasting invisible characters works identically on iOS and Android, since the clipboard carries the codepoint rather than a rendered image. Font coverage differs between the two, so a character that renders blank on Android occasionally draws a box on iOS.
11
Is this tool free?
Yes. Every function runs in your browser, nothing you type is transmitted, and no account is required.
12
What is the difference between U+3164 and U+200B?
U+3164 occupies visible width and satisfies fields requiring a non-empty value, while U+200B occupies zero width and splits text without producing a gap. Use U+3164 for names and U+200B for word boundaries.
13
Where can I copy and paste invisible text?
Copy it from the generator at the top of this page. Invisible text copy and paste, blank space copy and paste and empty character copy and paste all describe the same operation, and one click puts the character on your clipboard.
14
How do I get long invisible text to copy and paste?
Set the amount in the bulk field and copy the block. Long invisible text copy and paste means a repeated run of one codepoint, so 100, 1000 or 10000 invisible characters is the same character multiplied. Each one counts against the target field's character limit.
15
How do I copy blank space that platforms keep?
Use U+3164 or U+2800 rather than the spacebar. Copy and paste blank space made of ordinary spaces gets trimmed on save, because U+0020 has the Unicode property White_Space=Yes. The two characters above do not.
16
Is there an invisible font?
No. There is no invisible font — the effect comes from the character, not the typeface. What people call an invisible font or blank font is one of the Unicode codepoints listed here, and it renders as nothing in every font that supports it.
17
How do I make text invisible or turn text invisible?
You replace the text rather than transform it. To make invisible text, clear the field and paste an invisible character in its place. Nothing converts existing letters into invisible ones — a converter would have to delete them, which is what clearing the field already does.
Free forever · No sign-up
Say nothing, beautifully.
One click puts a tested blank character on your clipboard. Everything happens in your browser — nothing you type ever leaves this page.