Skip to content
ZeroServer.tools

Character Map Explorer

Browse Unicode character blocks — see code points, HTML entities, UTF-8 bytes, and CSS escapes.

95 characters
Total Characters: 0Selected Category: None

About Unicode character maps

Unicode assigns a unique code point (U+XXXX) to every character in every script. The Basic Latin block (U+0020–U+007E) covers printable ASCII. Latin-1 Supplement adds accented European letters. Beyond U+FFFF lie supplementary planes including emoji (U+1F300+), which require surrogate pairs in UTF-16 or 4-byte sequences in UTF-8.

Use HTML entities (😀) when you can't embed the literal character, and CSS escapes (\1F600) inside content properties. For string encoding utilities see HTML Entity Encoder / Decoder and URL Encoder.

Built and maintained by Meet Shah · Last updated

What this tool is used for

  • Browsing a Unicode block to find a symbol you cannot name.
  • Getting the HTML entity and CSS escape for a character.
  • Seeing a character's UTF-8 bytes alongside its code point.
  • Exploring what a block actually contains before using it.
  • Working through a block systematically rather than searching for one character.

Frequently Asked Questions

What is the difference between a code point and a character?
A code point is one number in Unicode, written U+0041. What a reader calls a character — a grapheme — can be several: an accented letter may be a base plus a combining mark, and a family emoji is five code points joined by zero-width joiners.
Why does the same character have several escapes?
Because each language invented its own. HTML uses `A` or a named entity, CSS uses `\41` with a trailing space, JavaScript uses `\u0041` or `\u{1F600}` for astral characters. They all name the same code point and none of them is interchangeable.
What do the general categories mean?
Unicode assigns every code point a two-letter category — Lu for uppercase letter, Nd for decimal digit, Zs for space separator, Cf for format control. Those drive real behaviour: regex classes like `\p{L}` match on them, and identifier rules in most languages are defined by them.
Why is the UTF-8 byte length worth seeing?
Because it is what actually gets stored and transmitted. ASCII is one byte, most European accented letters two, most CJK three, emoji four — so a 20-character field that assumed one byte per character truncates a Japanese name at seven.
What are the invisible code points to watch for?
Zero-width space, zero-width joiner, the byte-order mark and the directional overrides. They are legitimate in some contexts and are also how identifiers get spoofed and how pasted text acquires characters nobody typed — which is why an explorer that shows them by name is useful.

Common errors and gotchas

  • Assuming a block is contiguous, when many contain unassigned gaps between ranges.
  • Choosing a lookalike rather than the correct character, which breaks search and comparison.
  • Copying from a block whose characters need a specific font the destination does not load.
  • Reading a character's name as its meaning, since names are historical.
  • Treating a block's name as a guide to its contents, which is often only loosely true.

Related Text Tools tools

Private & free — this tool runs entirely in your browser.