Blank Character Comparison Hub

The full reference for invisible and blank Unicode characters — 20+ characters, platform support, and how they differ. Need the fast copy-and-go tool instead? Use the blank character generator.

Full character catalog

24 invisible and blank-width characters, each with its Unicode code point and behavior notes.

Platform support matrix

General behavior across common platforms. Individual apps update often, so treat this as a starting point and test before relying on it for anything critical.

✓ Works △ May be trimmed ✕ Often blocked/stripped

Zero-width vs blank-width vs whitespace: what’s the difference

These three terms get used interchangeably, but they describe different behavior at the Unicode level, and that difference decides where each character will actually work.

Zero-width characters

These have no width at all — they take up no visual space and don’t move the cursor visibly. They exist mainly for text-shaping purposes: joining or separating script glyphs (like Zero Width Joiner in emoji sequences), or marking word boundaries for layout engines. Because they render as literally nothing, they’re the most likely to get silently stripped by input fields that trim “empty” content.

Blank-width characters

These occupy real character width but render with no visible glyph — think of them as a printable character that happens to look empty, like a Hangul filler or a Braille blank pattern. Because the system sees them as an ordinary printable character rather than whitespace, they usually survive trimming logic that strips zero-width or whitespace characters.

Whitespace variants

These are true space characters with visible width, just not the standard U+0020 space — en space, em space, thin space, ideographic space, and similar. They’re recognized as whitespace by most systems, so they get collapsed or trimmed at the start/end of fields more often than blank-width characters, but they’re more predictable for controlling spacing width inside a line of text.

Technical deep dive

How trimming logic usually works

Most platforms run some version of trim() on user input before saving it, which strips characters matched by the Unicode whitespace property or a hardcoded list of “control” characters. Zero-width characters and standard whitespace variants are commonly included in that list. Blank-width characters like the Hangul filler or Braille pattern blank are usually not, because they’re categorized as printable symbols, not whitespace — this is the main reason they’re the most reliable choice for bios, usernames, and other fields that auto-trim.

Normalization and encoding

Unicode normalization (NFC/NFKC), which many platforms apply on save, can also collapse or remove certain formatting characters. This mostly affects zero-width joiners and directional marks rather than blank-width or whitespace variant characters, which is another reason results vary by platform and by field type within the same platform.

Line Separator and Paragraph Separator

U+2028 and U+2029 are technically whitespace-adjacent control characters used to mark line and paragraph breaks in plain text. Single-line input fields (usernames, display names) almost always reject or strip them since they imply a line break where one isn’t allowed. Multi-line fields (messages, documents, bios) are more likely to honor them, sometimes rendering an actual line break instead of a blank character.

Why identical-looking characters behave differently

Several characters in this catalog render identically — blank — in most fonts, but belong to different Unicode categories (Zs for space separators, Cf for formatting characters, So for symbols). Category is what trimming and validation logic actually checks, not visual appearance, which is why two characters that look the same can have completely different survival rates on the same platform.

Which one should you use

Pick your use case for a direct recommendation.

Username

Username fields validate strictly and almost always trim leading/trailing whitespace and zero-width characters. A blank-width character survives best because it reads as a normal printable character.

Hangul Filler — U+3164Halfwidth Hangul Filler — U+FFA0

Bio

Bios are usually multi-line and more tolerant, so both zero-width and blank-width characters work for creating blank lines or invisible spacing between sections.

Zero Width Space — U+200BBraille Pattern Blank — U+2800

Message

Chat apps generally preserve whitespace variants and blank-width characters within a message body, and some (like Discord) even honor Line Separator for a real line break.

Braille Pattern Blank — U+2800Line Separator — U+2028

Formatting / spacing control

For controlling visible gap width inside a line — for example aligning text — a whitespace variant with a defined width is more predictable than a zero-width character.

Em Space — U+2003Thin Space — U+2009Hair Space — U+200A

File names

Operating systems trim trailing whitespace from file names and some reject zero-width characters outright. A blank-width character is the most consistent option across Windows, macOS, and mobile.

Hangul Filler — U+3164

Programming / code

Avoid invisible characters in source code entirely where possible — they cause hard-to-debug errors and some linters/CI systems will flag or reject them. If you need an intentional zero-width marker (for example, testing input sanitization), Zero Width Space and Word Joiner are the most recognized by tooling.

Zero Width Space — U+200BWord Joiner — U+2060

Examples

Blank Instagram bio line

Insert a Braille Pattern Blank on its own line between sections of your bio to create visible spacing without an empty-line error.

Line one⠀⠀Line two

Invisible name prefix for sorting

Some list-based apps sort a Hangul Filler before visible letters, pushing an entry to the top of an alphabetical list.

ㅤYour Name

Custom-width gap between words

Using a thin space instead of a regular space gives a tighter, more deliberate gap — useful in display names or headings.

Brand ⁠× Collab

Frequently asked questions

Why does a character copy blank on my computer but show a box on my phone?
That box (□) means the device’s font doesn’t have a glyph for that code point. The character itself copied correctly — it’s a font/rendering issue, not a data issue.
Do invisible characters affect SEO if used in webpage content?
Used sparingly for legitimate spacing they’re generally harmless, but stuffing invisible characters into visible text can look like manipulation to search engines and creates accessibility issues for screen readers. Use them intentionally, not as filler.
Why do some invisible characters look identical but behave differently?
Visual appearance depends on the font’s glyph, but platform behavior (trimming, normalization) depends on the character’s Unicode category. Two blank-looking characters can belong to entirely different categories and get treated very differently by the same app.
Can invisible characters be used to bypass character limits?
Some platforms count them toward the limit and some don’t, and this changes over time as platforms patch character-counting logic. Treat this as unreliable rather than a dependable trick.
Do invisible characters cause accessibility issues for screen reader users?
They can. Some screen readers announce zero-width or blank-width characters as pauses, unknown symbols, or skip them inconsistently, which can make text confusing to navigate. Avoid using them in content that needs to be fully accessible.
Are these characters safe to paste into code or programming contexts?
Generally no — invisible characters in source code can cause syntax errors, break string comparisons, or get flagged by linters and CI checks. If you paste code from somewhere and see unexplained errors, invisible characters are a common cause; a dedicated cleaning tool can help remove them.
How do I remove invisible characters if I pasted too many by mistake?
Paste the affected text into the Invisible Character Remover, which strips zero-width, blank-width, whitespace, and directional-formatting characters and gives you a clean copy back.
What’s the difference between this page and the character generator tool?
The generator on the homepage is a fast copy-first tool limited to the top few characters people actually need. This page is the full reference — every character, platform support notes, and the technical detail behind why each one behaves the way it does.