Free tool — runs in your browser

Invisible character

Copy an invisible character that survives a paste: braille blank, Hangul filler, zero-width space, word joiner, non-breaking space. Each says where it works.

Braille blankU+2800

Has width, so composers keep a line made of it. The most reliable choice for spacing a caption, and screen readers pass over it.

[⠀]

Hangul fillerU+3164

Wide and blank. Accepted as a name character where a space is rejected, which is why it turns up in game handles.

[ㅤ]

Zero-width spaceU+200B

No width at all. Useful for breaking up a word without a visible gap, and stripped by many platforms exactly because of that.

[​]

Word joinerU+2060

Zero width and prevents a line break at that point. Survives more sanitisers than the zero-width space does.

[⁠]

Non-breaking spaceU+00A0

A visible space that never collapses or wraps. The fallback when a client draws the braille blank as an empty box.

[ ]

Figure spaceU+2007

As wide as a digit and non-breaking. Made for aligning numbers in a column rather than for padding a caption.

[ ]

Copying a blank that actually survives the paste

Copying a space out of a text field and pasting it into a name or a caption almost never works, because the space is trimmed at the other end. These characters are not spaces, which is why they get through.

  1. Pick the character from the list. Each one shows its Unicode code point so you can look up its support before relying on it.
  2. Press copy. A blank is written to your clipboard, so the button confirming the copy is the only feedback there is: there is nothing to see.
  3. Paste it where you need it and check the result before saving. Support varies by field, not just by platform, and a bio may accept what a display name rejects.
  4. If it comes out as an empty box, the font has no glyph for it. Try the non-breaking space instead, which every font can draw.
  5. For spacing a caption into paragraphs, use the line break generator rather than pasting these by hand: it inserts the right character on every blank line for you.

The characters on offer and where each one holds up

They are not interchangeable. Some have width and some have none, and that difference decides whether a platform treats the line as empty and discards it.

  • Braille blank, U+2800. Has real width, so a composer sees a line with content and keeps it. The most reliable choice for caption spacing, and screen readers skip it.
  • Hangul filler, U+3164. Wide and blank, and accepted as a name character in fields that reject a plain space, which is why it turns up in game handles.
  • Zero-width space, U+200B. No width at all. Good for breaking a long word without a visible gap, and the one most often stripped by sanitisers for exactly that reason.
  • Word joiner, U+2060. Zero width and prevents a line break at that point. Survives more sanitisers than the zero-width space does.
  • Non-breaking space, U+00A0. A visible space that never collapses or wraps, and the safe fallback when a client draws the braille blank as a box.
  • Figure space, U+2007. As wide as a digit and non-breaking, designed for aligning numbers in a column rather than for padding a caption.

Why platforms keep removing them

Invisible characters are not a loophole nobody noticed. Platforms strip them on purpose, and knowing what the stripping is for tells you which uses are safe and which are a waste of effort.

  • They defeat text search. A word with a zero-width space inside it does not match a search for that word, which is the oldest trick for evading a moderation filter.
  • They enable impersonation. Two usernames that look identical but differ by an invisible character are a phishing primitive, so identity fields are sanitised hardest.
  • They break sorting and deduplication. A support system sees two different strings where a human sees one name.
  • Accessibility is the honest concern. A screen reader may announce some of these, which is why the braille blank is the default here: it is the one that is reliably skipped.
  • The result is that display names and usernames strip aggressively, captions and bios are more permissive, and none of it is documented or stable.

The honest limits of this trick

This page exists because the technique works often enough to be useful, not because it always works. Being straight about that saves you from debugging a platform decision as if it were a bug in the text.

  • Nothing here is guaranteed anywhere. A field that accepts one of these today can silently start trimming it after any deployment, with no announcement.
  • They are real characters and count against character limits, so a caption padded with them has less room for words.
  • An empty message made only of invisible characters is treated as spam by several platforms and may be rejected or shadow-limited.
  • They are not a way to hide text from moderation, and attempting it is what causes the stripping to get more aggressive for everyone else.
  • If your only goal is paragraph spacing in a caption, that is a solved problem with its own tool, and doing it by hand tends to leave inconsistent gaps.
The rest of the job

You just fixed one post. Now do the month.

The invisible character solves one piece of one post. OctoSpark plans, writes and schedules the whole calendar across every network you use, publishes it for you, and reports what actually performed.

  • One calendar for every network
  • Schedule once, publish everywhere
  • Drafts written in your own voice
  • See what actually performed
Open the full sign-up page

No card needed. These tools stay free either way.

Frequently asked questions

How this tool works, what it cannot do, and what happens to what you put into it.

  • What is an invisible character used for?

    Most often for spacing that a platform would otherwise collapse: blank lines between caption paragraphs, or a name field that will not accept a plain space. They are also used to pad a layout where the interface insists on some content, and occasionally to align text in fields that strip ordinary spaces.
  • Why does the character show up as an empty box?

    That is the font, not the character. When a font has no glyph for a code point, the renderer draws a fallback box, which is at least honest about there being something there. The non-breaking space is the fix, because every font has a glyph for it.
  • Do invisible characters count towards the character limit?

    Yes. Each one is a real character and comes out of the same budget as your words. On a tight surface like a 500 character Threads post or a 150 character Instagram bio, a few blank lines are a measurable part of the space you had.
  • Is using an invisible character against platform rules?

    Using one for spacing is ordinary and not something platforms act on. Using one to break up a word so that moderation or search cannot match it is evasion, and it is the reason these characters get stripped more aggressively over time. Impersonating another account with a lookalike name is a policy violation everywhere.
  • Is my data private?

    Yes. This tool does its work in your browser, so whatever you type, paste or upload stays on your device. Nothing is sent to our servers, which is also why it keeps working if you go offline after the page has loaded.
  • Is this really free?

    Yes. Every tool here is free with no account, no credit card and no usage cap. They exist so that the people who need our scheduling product find us, which only works if the tools are genuinely useful on their own.
  • Do I need an account?

    No. Open the page and use it. An account is only for OctoSpark itself, where you plan, schedule and publish a whole calendar rather than fixing one post at a time.
  • Can I use the output commercially?

    Yes. Anything you produce here is yours, including for client and commercial work. We claim no rights over it and we do not watermark it.