Unicode character reference

Empty character: copy a real codepoint

An empty character is not actually missing. Pick a Unicode filler, blank pattern, space, or formatting character and verify it with the built-in counter.

The dashed preview contains one real codepoint.

Empty and invisible Unicode characters

The codepoint and intended Unicode behavior matter more than the blank preview.

Hangul FillerU+3164Games, names, blank-width filler
Zero Width SpaceU+200BOptional line break, zero width
Zero Width Non-JoinerU+200CPrevents joining in supported scripts
Zero Width JoinerU+200DRequests joining or emoji composition
Braille Pattern BlankU+2800Blank-looking chat message
No-Break SpaceU+00A0Visible-width, prevents line break
En QuadU+2000Typographic en-width space
Em QuadU+2001Typographic em-width space
En SpaceU+2002About half an em
Em SpaceU+2003Full em spacing
Three-Per-Em SpaceU+2004One third of an em
Four-Per-Em SpaceU+2005One quarter of an em
Six-Per-Em SpaceU+2006One sixth of an em
Figure SpaceU+2007Width of a tabular digit
Punctuation SpaceU+2008Width of punctuation
Thin SpaceU+2009Fine typographic spacing
Hair SpaceU+200AVery fine spacing
Ideographic SpaceU+3000Full-width CJK spacing
Zero Width No-Break SpaceU+FEFFLegacy BOM / no-break behavior
Hangul Choseong FillerU+115FAlternative game-name filler
Hangul Jungseong FillerU+1160Alternative game-name filler

Length generator

Repeat U+3164 to create a longer blank string.

Invisible text tester

Paste or type here. Select all to reveal the occupied area.

Characters0

Bottom line: “empty character” is a useful nickname, not a Unicode category

There is no official Unicode character named Empty Character. People use the phrase for characters that render with no visible mark, occupy blank width, or make an otherwise empty field contain text. U+3164 Hangul Filler is a practical example because many fonts draw it as an empty cell. U+2800 Braille Pattern Blank is another because its braille pattern has no raised dots. U+200B Zero Width Space has no width but serves a line-breaking purpose. These are different characters with different semantics.

That distinction matters whenever software validates, searches, shapes, or stores the text. A field may accept a filler and reject a formatting control. A search engine may treat a zero-width space as a boundary. A script-aware renderer may use joiner or non-joiner to change letter forms. Calling all of them empty is convenient for discovery, but choosing one safely requires looking at the codepoint and its intended role. The table gives you both rather than presenting a mysterious blank box.

How to copy, inspect, and test an empty character

Press the main button to copy one U+3164 Hangul Filler. Paste it into the test textarea. The field may look unchanged, but the counter should display one. Select the textarea contents to expose the highlighted selection width. You can then repeat the test with another row. U+200B may create almost no visible selection, while U+3000 creates a much wider highlight. Those differences help confirm that the browser received distinct characters.

For a technical inspection, record the codepoint before you paste. The label U+2009, for example, identifies Thin Space independently of how a particular font draws it. If an application changes the character, paste the saved output back here and compare the count, then inspect it in a Unicode-aware editor or programming language. A visual comparison alone is not enough because several blank characters can appear identical at ordinary zoom levels.

The generator repeats U+3164 for tasks that require an empty-looking string rather than one character. Use it conservatively. A repeated filler occupies string length and may occupy layout width. It is not equivalent to null, an empty database value, or a missing form control. If you are developing software, represent absence with the data type your system defines and reject or normalize unexpected format controls explicitly. This page is a copy and diagnostic tool, not a substitute for input validation.

Applicability checklist for empty-looking characters

  • Nickname fields: U+3164, U+115F, and U+1160 are fillers worth testing when permitted by the game.
  • Whitespace-only message checks: U+2800 may be treated as a non-space symbol while rendering blank.
  • Preventing a line break: U+00A0 has the relevant behavior; use it between words that should stay together.
  • Optional break opportunity: U+200B may allow a line break without displaying a space.
  • Script shaping: U+200C and U+200D are meaningful controls, not general empty placeholders.
  • Source files: treat U+FEFF carefully because tools may interpret it as a byte-order mark at the beginning.

For social media spacing, an empty-looking character can help preserve a line that the editor would otherwise remove. For chat, it can demonstrate how a validator distinguishes blank rendering from empty data. For games, it may create a gap inside an allowed nickname. For testing, it is useful in cases involving trimming, normalization, line wrapping, cursor movement, and search. The same character should not be assumed appropriate across all of those contexts.

Common misconceptions about empty characters

The first misconception is that an empty character is the same as an empty string. An empty string has length zero. A string containing U+3164 has at least one codepoint, even when its rendered area looks blank. This affects required-field checks, database uniqueness, character limits, equality comparisons, and user-interface counters. If two blank-looking names are considered different, they may contain different codepoints or different counts of the same one.

The second misconception is that zero width means zero impact. Joiners can change glyph formation, zero-width space can change wrapping, and invisible marks can disrupt exact string matching. Screen readers may pause, ignore, or announce unusual content depending on context. Moderation and fraud systems may flag unexpected invisible characters because they are sometimes used to disguise text. Use them transparently and avoid placing them inside words unless you understand the linguistic effect.

The final misconception is that copying from any blank area produces the intended value. Web pages include layout whitespace, CSS spacing, and selectable characters that can look alike. Use a labeled button tied to a documented codepoint. After copying, verify the character count and the destination’s saved state. If the app removes the value, that is valid platform behavior. Trying a different codepoint can test compatibility, but it should not become an attempt to defeat a rule.

Frequently asked questions

Is there an official Unicode empty character?

No. Empty character is an informal term for several blank, filler, space, and zero-width codepoints with different purposes.

Does an empty character have length?

Yes. A string containing one of these codepoints is not an empty string, and a Unicode-aware counter reports at least one character.

What is U+3164?

U+3164 is Hangul Filler. It is a compatibility character that often renders as a blank cell and is commonly tested in nickname fields.

What is the difference between U+3164 and U+200B?

U+3164 normally occupies blank width. U+200B is Zero Width Space and provides a possible line-break location without visible width.

Can empty characters break software?

They can expose bugs in trimming, validation, search, cursor movement, or normalization. Formatting controls also have real text behavior.

How do I prove an empty character was copied?

Paste it into the test area and check that the character count is above zero. For exact identification, inspect the codepoint in a Unicode-aware tool.