Invisible Text Generator
Use the CaseSwitch Invisible Text Generator to insert zero-width Unicode characters between the letters you type. Choose zero-width space, joiner, or non-joiner, copy the result, and test it in the destination app. Generation runs in this browser — nothing is uploaded.
Written by the CaseSwitch editorial team. We maintain these tools in the browser so drafts, keys, and images stay on your device.
Last reviewed: 23 July 2026
Uses secure browser randomness when available. Nothing is sent to a server.
Examples
Zero-width space between letters (default)
Input
ab
Output
ab
Zero-width space in “OK”
Input
OK
Output
OK
Zero-width joiner (invisibleType zero-width-joiner)
Input
xy
Output
xy
Zero-width non-joiner (invisibleType zero-width-non-joiner)
Input
hi
Output
hi
Single character — nothing to insert between
Input
A
Output
A
How to use
- Type or paste the visible characters you want to separate.
- Pick Zero-width space (default), joiner, or non-joiner.
- Copy the result and paste into the destination app to confirm it still accepts the marks.
What this tool is for
Some layouts and bios keep zero-width characters while stripping ordinary spaces. This generator joins each visible character with an invisible code point so the string looks almost empty in many editors but still has length. It is a Unicode experiment and teaching aid — a poor idea for official documents, source code, or anything meant to impersonate another account.
How it works
Your text (from the editor or the Text option) is split into code points with `Array.from`. Between each pair the tool inserts one invisible character from Invisible character: zero-width space (U+200B, default), zero-width joiner (U+200D), or zero-width non-joiner (U+200C). Empty text returns an error asking you to enter text. The output length grows with every inserted mark even though many UIs show a blank line.
When to use it
Narrow layout experiments, aligning short decorative bios where a platform strips extra spaces but keeps zero-width marks, demonstrating how hidden characters work in a classroom, and testing whether a downstream form collapses them.
When not to use it
Do not hide watermarks in student work, do not pad usernames to impersonate others, and do not put zero-width characters in source code, legal contracts, or passwords. They break diffs, search, screen readers, and often violate platform rules when used for deception.
How it compares to related tools
The Whitespace Remover deletes extra visible spaces. The Plain Text Converter strips markdown markers and may not remove zero-width marks. The Character Remover can delete a pasted invisible character if you put that code point in the delete set. This page is specifically about inserting non-printing separators.
Common mistakes
Pasting invisible text into a password field. Using it to evade moderation. Leaving invisibles in a CSV key so two rows look identical but are not. Expecting every chat app to preserve U+200B — many strip it on send.
Why the string looks empty but is not
Zero-width characters do not advance the cursor in most fonts, so a field can look blank while `length` and many counters still grow. Screen readers may announce them oddly or skip them. Always check character count after paste. To remove them later, retype the visible letters, or delete the specific code point with the Character Remover if you can paste it into the delete set.
Platform rules and abuse
Decorative use on a platform that documents support for zero-width characters is one thing. Padding a display name to impersonate a brand, bypassing a filter, or hiding text in homework is another — and often against the rules. CaseSwitch does not upload your string, but the destination service still sees whatever you paste.
Frequently asked questions
Why does my text look empty but copy as a long string?+
Invisible Unicode characters still count toward length. Retype the visible letters, or strip the marks with a tool that deletes those code points.
Which invisible character should I pick?+
Zero-width space (U+200B) is the default and the most common separator. Joiners and non-joiners matter more for complex-script shaping; treat them as advanced options.
Will invisible text work in every app?+
No. Many apps collapse or strip zero-width characters on save. Always test in the destination.
Can I use this in source code?+
Avoid it. Hidden characters create invisible diffs, break searches, and confuse reviewers.
What if I leave the text empty?+
The tool returns an error asking you to enter text to make invisible.
Is my text uploaded?+
No. Generation runs in this browser. Still, do not use it for deception on other platforms.
Does CaseSwitch upload this text?+
No. Conversion, cleaning, and counting for this page run in your browser. Drafts are not sent to CaseSwitch for processing.
Will invisible text work everywhere?+
Unicode rendering differs by app and platform. Some systems may collapse or reject zero-width characters.
Related tools
Repeat Text Generator
Load-testing a textarea, creating dummy list items, repeating a watermark line in a mockup, and building a quick fixture file of identical rows.
Reverse Text Generator
Escape-room clues, classroom mirror games, reversing a list order, and checking a string that was stored backwards. Upside-down text is a different Unicode substitution on another tool.
Plain Text Converter
Pasting a README snippet into Slack as plain text, cleaning a CMS export, preparing copy for a system that escapes HTML badly, and getting unstyled words ready for a case converter.