TextToolboxTextToolbox
HomeText UtilitiesInvisible Character Generator

Invisible Character Generator

Insert selected Unicode controls or spaces while preserving source text. Inspect code points and copy plain or context-specific escaped output.

Built by Saurabh Kumar

Quick Answer

Choose among eleven Unicode entries, six insertion modes and five output formats. Preserve combined source characters and whitespace, inspect decoded code points and copy the complete result. Width-bearing spaces, zero-width controls and a Braille blank have different roles; platform acceptance is not guaranteed.

Typing source text changes Only characters to Wrap text. Original spaces, tabs, line breaks and combined characters stay together. Inserting joiners can deliberately change shaping.

Quantity: 1 to 100 at each insertion site. Source: 25,000 UTF-16 units and 5,000 grapheme clusters. Decoded output: 100,000 units. Serialized output: 600,000 units. Only characters ignores the source when generating, but source validation still applies.

Output updates as settings change.

0 source UTF-16 units; 0 source grapheme clusters; 1 inserted characters. 1 decoded UTF-16 units; 1 decoded code points; 1 serialized UTF-16 units.

Decoded code-point inspection:

U+200B

Plain copies actual characters. Other formats copy visible source representations of the complete decoded result. CSS and JavaScript quoted strings include quotes; the JavaScript escape fragment omits quotes and is intended for a double-quoted JavaScript string. HTML is escaped text, not an attribute or full document. JavaScript representations are not escaped for insertion inside an HTML script element. Counts do not measure visible width or receiving-field limits.

Eleven character entries

Zero Width Space: U+200B. Individual Copy uses the plain character regardless of generator format.

If Copy fails, select the complete output or selected plain character and copy manually. Confirmation does not establish destination acceptance.

Zero Width Space

U+200B

A potential line-break point without a normal space.

Zero Width Joiner

U+200D

Participates in shaping and some emoji sequences.

Zero Width Non-Joiner

U+200C

Inhibits joining in applicable scripts.

Word Joiner

U+2060

Inhibits line breaks before and after it.

Invisible Separator

U+2063

An invisible mathematical separator, not a general space.

Zero Width No-Break Space

U+FEFF

Used as a byte order mark at a stream start; legacy no-break use. Prefer Word Joiner for new no-break text.

Non-Breaking Space

U+00A0

A width-bearing space with no-break behavior.

Em Space

U+2003

A typographic space nominally one em, not the width of an M glyph.

En Space

U+2002

A typographic space nominally half an em.

Thin Space

U+2009

A narrow typographic space; exact rendering depends on the font.

Braille Pattern Blank

U+2800

A Braille symbol with no raised dots, not a whitespace or format character.

What Is the Invisible Character Generator?

Choose among eleven Unicode entries for controlled text insertion and encoding experiments. The collection includes zero-width format controls, four width-bearing spaces and a Braille blank symbol. They have different roles and are not interchangeable. There is no Hangul Filler option.

How to Use the Invisible Character Generator

  1. Choose a character and insertion mode.
  2. Enter source text when the mode needs it and set a whole quantity.
  3. Choose plain text or a source representation; inspect the decoded code points.
  4. Copy the complete result and test the actual receiving field. Use manual selection if clipboard access fails.

How Insertion and Formats Work

Between non-space clusters inserts between adjacent non-whitespace grapheme clusters. After whitespace between words adds characters after each internal whitespace run, without replacing spaces, tabs or line breaks. Whitespace means the ECMAScript whitespace set, including tabs and physical line breaks. Leading and trailing whitespace gets no insertion. Before, After and Wrap add to the complete source. Only characters produces the selected character repeated by quantity.

Escaped formats serialize the entire resulting text, including your source. CSS uses six-digit hexadecimal escapes inside a quoted string, so a following A or F cannot become part of the preceding escape. These outputs are fragments for the named context, not interchangeable markup or complete programs. See the CSS escape consumption rules.

Examples You Can Inspect

Zero Width Space, quantity one: visible source representations
Source and modeFormatExact output
AB, Between non-space clustersJavaScript fragmentA\u200BB
A, Before textCSS quoted string"\00200B\000041"
<A&, Before textHTML text fragment&#8203;&lt;A&amp;
A B, After whitespace between wordsJavaScript quoted string"A \u200BB"

Code-point examples show encoded data. They do not prove browser layout, joining behavior or acceptance in an account name.

When Each Character Helps

Zero Width Space supplies a potential line-break point; Word Joiner inhibits breaks around it. Non-Breaking Space combines a visible spacing role with no-break behavior. Joiner and Non-Joiner affect shaping in applicable sequences. Em Space is nominally one em, not a promise about the letter M. Braille Pattern Blank is a symbol, not whitespace.

These distinctions follow the Unicode Line Breaking Algorithm and General Punctuation chart. A layout engine selects actual line breaks. FEFF's stream-start byte order mark role is different from its legacy no-break text use. See also the Braille Patterns chart.

Limitations and Tips

Keep an original before inserting controls. Existing joiners, accents and emoji sequences stay together, but adding new controls can still alter shaping, line breaks, searching and text comparisons. Encoded text can be inspected; it is not undetectable. Do not assume an app accepts blank-looking names or messages, or that insertion bypasses a filter.

Use plain text for ordinary paste; use a format only in its intended embedding context. A source representation contains visible escape characters, not the same literal clipboard string as Plain. Empty source yields an empty decoded result in insertion modes; a quoted format still includes its enclosing quotes. Reset restores the initial character, quantity, plain format and Only characters mode; Clear text preserves settings.

Learn more: What is Invisible Character?