Invisible Character Copy Paste
Copy truly invisible and blank Unicode characters with one click — for usernames, spacing, and formatting tricks. Free and instant.
Twenty code points, in three different families
Not every blank character behaves the same way, and the differences are the whole reason this page lists twenty of them rather than one. They fall into three groups.
Real spaces. U+0020 is the ordinary space bar. U+00A0 is the non-breaking space. U+2000, U+2003, U+2004, U+2005, U+2006, U+2007, U+2008, U+2009 and U+200A are typographic spaces of decreasing width, from an em down to a hair. U+2028 is a line separator. All of these are classified as whitespace by Unicode, and that classification is what gets them stripped.
Zero-width formatting characters. U+200B is the zero width space, U+200C the zero width non-joiner, U+200D the zero width joiner, U+FEFF the zero width no-break space that also serves as a byte order mark, and U+00AD the soft hyphen, which stays invisible unless a line happens to break at that exact point. These occupy no visible width at all.
Blank glyphs that are not whitespace. U+2800 is the braille pattern with no dots raised, and U+3164 is the Hangul filler, with U+FFA0 as its halfwidth counterpart. These are ordinary printing characters that simply happen to have nothing drawn inside them. They take up width and they survive processing that eliminates the other two families.
Which ones actually survive a form
Most sites reject a blank-looking entry because the code calls a trim function before checking whether the field is empty. In JavaScript, and in most other languages, that function removes a specific list of characters: the ordinary space, the non-breaking space, the whole U+2000 to U+200A typographic range, the line separator, and the byte order mark.
It does not remove U+200B, U+200C, U+200D, U+2800, U+3164, U+FFA0 or the soft hyphen. None of those are classified as whitespace, so a plain trim walks straight past them.
That is why the same two names come up over and over. The Hangul filler at U+3164 and the braille blank at U+2800 are the two most reliable choices, because they combine surviving the trim with actually occupying width, so the field genuinely looks blank rather than looking like nothing was pasted at all.
Where each one tends to work
Instagram bios are the classic case. A bio line containing only U+3164 or U+2800 renders as a blank line, which is how people get vertical spacing between sections of a bio. The app strips ordinary blank lines, so a space bar alone does nothing.
Discord behaves the same way for nicknames, server names and messages: it trims real whitespace, so a message consisting of just spaces is rejected, while one containing a braille blank posts as an empty-looking line. Discord is also where you most often see U+2800 used for aligning ASCII art and building padding inside code blocks.
Game handles and platform usernames vary wildly. Some accept U+3164 happily, which is how accounts with apparently blank names exist. Others validate against a strict allowed-character list and refuse anything outside basic letters and digits, in which case nothing on this page will help.
WhatsApp, Telegram and SMS pass these characters through as ordinary text, so they work for spacing in messages. Word processors and spreadsheets accept them too, though in a spreadsheet a cell containing an invisible character is no longer empty, which quietly breaks formulas that test for blank cells.
Where they get stripped, and why
HTML collapses runs of ordinary whitespace, so pasting a row of regular spaces into a web page produces one space. The zero-width and blank-glyph characters are not collapsed, which is exactly why they work in bios.
Anywhere with real Unicode-aware validation will still catch them. Some platforms normalise display names, strip formatting characters as a class, or reject names that render as blank on principle. Search boxes and username uniqueness checks sometimes normalise the input before comparing, so two names that look different to you may collide.
One practical warning. Zero-width characters that sneak into code, passwords, URLs or spreadsheet keys cause bugs that are genuinely painful to find, because the text looks correct on screen and simply does not match. If you paste one somewhere by accident and something stops working, that is usually the culprit.
Using the preview and the test box
Each card shows the character between the words "before" and "after", with a dashed outline around it. That outline is the quickest way to tell the families apart: a zero-width character leaves a hairline box, while U+3164 or U+2800 leaves a visibly wider gap. The test area below lets you paste what you copied and confirm it survived the clipboard, which matters because some apps normalise text on copy.
If what you actually want is decorative rather than invisible, Aesthetic Symbols has visible Unicode ornaments, Fancy Text Generator converts a word into styled Unicode letterforms, and Zalgo Glitch Text stacks combining marks for the opposite effect.
Common problems
I pasted a character and the field still says it is empty.
You most likely used one of the real spaces near the top of the list, all of which are removed by a standard trim. Try U+3164 or U+2800 instead, since neither is classified as whitespace.
Nothing appeared when I pasted. Did the copy fail?
Probably not. U+200B, U+200C, U+200D, U+FEFF and U+00AD have no width, so a successful paste looks identical to nothing happening. Use an arrow key: if the cursor takes two presses to cross the gap, the character is there.
Which character should I pick for an Instagram bio line?
U+3164, the Hangul filler. It survives trimming and occupies width, so the line is preserved instead of being collapsed. U+2800 is the usual fallback if the first does not take.
Can these characters harm anything?
They are ordinary text, not code, so they cannot execute or carry a payload. The realistic risk is confusion rather than damage: invisible characters in credentials, filenames or code break string comparisons in ways that are hard to see.
Is anything about this page sent over the network?
No. The character list is written into the page itself and the copy button uses your browser's clipboard, so nothing you copy or type here is transmitted.