CHOOSE BY BEHAVIOR

Blank Characters

Compare blank, narrow and zero-width characters. Choose by behavior, then copy and check.

Choose a character

Choose the result you need. Copy the candidate, then check your paste. The destination decides whether to accept it.

Select and copy the real character here if the button is unavailable. No brackets or labels are included.

Hangul FillerU+31641 Unicode code point

A and B are visual boundaries only. The gap is rendered in this browser; its size can change with the font.

Check the character’s behavior in the comparison below before using it in an app.

Read about Hangul Filler

Choose by the job, then check the text

Allow a break without a gap

Zero Width Space creates a break opportunity. It does not keep words together.

Prevent a break without a gap

Word Joiner resists a break at its location. It does not add spacing or replace CSS layout.

Keep a number and unit together

No-Break Space adds a gap and resists a break. Use 202F for the narrower alternative.

Add a small visible gap

Thin Space adds typographic spacing. For a narrow non-breaking gap, choose 202F.

Try a blank-looking letter

Hangul Filler is a compatibility letter. For a blank Braille symbol, choose 2800. Neither is ordinary whitespace.

What would trim or NFKC change?

This local simulation uses your current character and quantity above. It does not change the prepared copy output.

Apply explicit spacing rules to longer text · Transformation method

Compare blank characters by width and line breaking.

A narrow space, a zero-width control and a blank-looking letter solve different problems. These are default character behaviors, not app compatibility ratings.

Nine candidates: appearance, wrapping, Unicode White_Space and intended result
Character / referenceWidth and wrappingWhite_SpaceChoose it for
Ordinary SpaceU+0020Usual word gap; can breakYesOrdinary word separation
No-Break SpaceU+00A0Usual-width gap; resists a breakYesKeep adjacent words or a value/unit together
Thin SpaceU+2009Narrow gap; can breakYesA smaller typographic gap
Narrow No-Break SpaceU+202FNarrow gap; resists a breakYesA small gap that must keep both sides together
Em SpaceU+2003Wider typographic gap; can breakYesA wider separator in text
Zero Width SpaceU+200BNo visible gap; possible breakNoA break hint inside a long string
Word JoinerU+2060No visible gap; prevents a breakNoKeep adjoining text together without a visible space
Braille Pattern BlankU+2800Blank cell; font-dependent widthNoAn alternate blank-looking symbol
Hangul FillerU+3164Blank-looking letter; font-dependent widthNoA blank-looking candidate in a compatible field
Small, wide and zero-width are different choices.

For a small blank space, compare Thin Space, Hair Space and Narrow No-Break Space. For a wider gap, see Em Space. Repeating a zero-width character cannot make a visible gap.

A copied character can change for different reasons.

These are reproducible JavaScript examples. The visible escape notation identifies each character; it is not the text produced by the copy button.

Edge whitespace can be trimmed

"\u200910\u2009" · 4 code points

.trim() → "10"

2 code points remain. Both edge Thin Spaces are removed.

An interior Thin Space stays after trim

"10\u2009kg" · 5 code points

.trim() → "10\u2009kg"

The interior U+2009 stays. Its location changes the result.

Normalization changes the character, not just its width

"\u2009".normalize("NFKC")

U+2009 → U+0020

Thin Space becomes an ordinary space.

Not being whitespace does not make a character immutable

"\u3164".normalize("NFKC")

U+3164 → U+1160

Hangul Filler maps to Hangul Jungseong Filler. “Survives trimming” does not mean “survives every transformation unchanged.”

References: ECMAScript trim and the Unicode compatibility mappings. An app may run different operations. Inspect the saved value before deciding what happened.

Check the result at the step where it changes.

  1. Choose the behavior, then copy a small sample.

    Use the selector above. Its manual field contains only your prepared character or characters; A and B belong to the preview, not the clipboard output.

  2. Paste here to confirm the local output.

    The quick check compares exact code points with your selection. A match shows the prepared text survived that paste. It does not test a different app.

  3. Paste in the destination, save, and reopen.

    If the field permits the input, copy back the saved value. Its editor may show a gap that the saved page later changes.

  4. Inspect unfamiliar text before replacing it.

    Use the full character breakdown. A different font can change appearance without changing the code point. Follow blank space troubleshooting if the value was removed, converted or rejected.

Choose the next step for the text you have.

You want a smaller gap between visible text

Use the small blank space comparison. Decide separately whether the gap may wrap. For webpage layout rather than text content, use CSS spacing instead of repeated blank characters.

You want a longer stretch of blank text

Use the blank space copy and paste tool. Width-bearing characters can make a longer gap; the destination may collapse, trim or reject them. Never use invisible padding to conceal required information.

Blank character FAQ

Is a blank character the same as an empty string?

No. An empty string contains zero code points. Each candidate in this comparison adds one code point, even when no mark is visible. A field may still reject it or count its length differently.

Which blank character should I copy?

Choose by the result: Thin Space for a small gap, Em Space for a wider gap, No-Break Space to keep adjacent text together, or Zero Width Space for a possible break without a visible gap. Hangul Filler and Braille Pattern Blank are blank-looking candidates, not universally accepted empty names.

Is a small blank space the same as a zero-width space?

No. A small typographic space adds a narrow visible gap. Zero Width Space adds no visible width and can provide a break opportunity. Compare Thin Space and other narrow gaps before copying.

What is the difference between blank, invisible and whitespace?

Blank and invisible describe appearance. White_Space is a Unicode property. U+2009 is whitespace, while U+200B, U+2800 and U+3164 are not. That property alone does not predict every app’s input rules.

Will a blank character work in every form, username or message?

No. A destination can trim, normalize, reject or render a character differently. Copy, paste, save and inspect the text copied back from the saved field. Follow the destination’s field rules.

Can I repeat a blank character to create a longer space?

Repeating a width-bearing character can create a wider visible gap in a compatible renderer. Repeating Zero Width Space does not create visible width. Use the blank space copier for longer blank output and check the destination’s limits.

Why did my empty-looking text change after saving?

Possible causes include trimming, normalization, field validation or font display. JavaScript trim removes edge Thin Space but leaves an interior one. NFKC can change U+2009 to U+0020 and U+3164 to U+1160. These operations are examples, not a diagnosis of an app.

Where can I find a character by its name or code point?

Use the character directory for name or code-point lookup. This guide helps choose behavior when you do not yet know which character you need.

Character properties explain the candidate, not every app.

Names, White_Space values and line-break classes were checked against Unicode 18.0.0. Visual samples show this browser’s rendering. The processing examples describe named JavaScript operations, not a platform’s undocumented save behavior.

Know the character’s name already? Search the character directory.