Explore the Unicode character space
Unicode assigns every character a unique number called a code point, written in hexadecimal with a U+ prefix. Code points are grouped into named blocks like Basic Latin, Greek, Currency Symbols and Emoticons. This browser lets you scan a whole block as a glyph grid, or jump straight to a single code point by hex value to read its decimal number, HTML entity and owning block.
Understanding Unicode blocks and planes
Unicode’s 1,114,112 code points (U+0000 to U+10FFFF) are divided into 17 planes of 65,536 code points each. The first plane — the Basic Multilingual Plane (BMP), U+0000 to U+FFFF — contains virtually all characters you will encounter in everyday text: Latin, Cyrillic, Arabic, Chinese, Japanese, Korean, Greek, and thousands of symbols.
Higher planes (supplementary planes) hold less common but important characters: emoji (mostly in plane 1, the Supplementary Multilingual Plane), historic scripts like Cuneiform and Linear B, and various symbol extensions.
Within each plane, blocks are fixed contiguous ranges reserved for a related family of characters. Blocks never overlap and vary greatly in size:
| Block | Range | Characters |
|---|---|---|
| Basic Latin (ASCII) | U+0000–U+007F | 128 |
| Latin-1 Supplement | U+0080–U+00FF | 128 |
| Greek and Coptic | U+0370–U+03FF | 144 |
| Cyrillic | U+0400–U+04FF | 256 |
| Arabic | U+0600–U+06FF | 256 |
| CJK Unified Ideographs | U+4E00–U+9FFF | ~20,000 |
| Emoticons | U+1F600–U+1F64F | 80 |
How the block browser works
When you pick a block from the dropdown, the tool iterates from its start code point to its end, rendering each one with String.fromCodePoint(cp). Surrogate code points (U+D800–U+DFFF) are skipped — they are reserved for the UTF-16 surrogate pair mechanism and are never valid standalone characters.
The U+ label is the code point formatted as hexadecimal, zero-padded to at least four digits. The HTML entity shown is the numeric decimal form &#N;, which is universally supported across all browsers and encodings (unlike named entities, which require an HTML5 doctype).
For a single-character lookup by hex, the tool strips optional U+ or 0x prefixes, converts to decimal, renders the character, and reports which block contains it.
Practical uses
Inserting unusual symbols. Find the character visually, read its &#N; entity, and paste it directly into HTML or a rich-text field.
Debugging encoding problems. When a character appears as a box or question mark, look up its code point to identify what block it belongs to and whether the problem is a missing font, an incorrect encoding, or a control character.
Font coverage checking. When a cell in the grid shows a box or fallback shape, it means no font on your device covers that code point — the U+ label and entity remain correct regardless.
Identifying scripts. If you have an unfamiliar character, search its code point to learn which script and block it belongs to.
Notes
- Emoji above
U+FFFF(most modern emoji) are stored in JavaScript as surrogate pairs but are rendered as one character withString.fromCodePoint. The code point count is always one. - Glyph appearance depends entirely on fonts installed on your device. The code-point values and HTML entities are always accurate even when no glyph renders.
- Everything runs in your browser — no characters or queries are uploaded.