Unicode Block Explorer
Filter
30 block(s) shown · 84720 code points across the indexed blocks · 84,720 in the current filter
Blocks
| Block | Range | Plane | Code points | UTF-16 cost | Notes |
|---|---|---|---|---|---|
| Basic Latin | U+0000 – U+007F | 0 | 128 | BMP — 1 UTF-16 unit | ASCII — controls, punctuation, digits, upper/lowercase Latin. |
| Latin-1 Supplement | U+0080 – U+00FF | 0 | 128 | BMP — 1 UTF-16 unit | Western European accents, ©, ®, ¿, ¡. |
| Latin Extended-A | U+0100 – U+017F | 0 | 128 | BMP — 1 UTF-16 unit | Central/Eastern European Latin letters. |
| Greek and Coptic | U+0370 – U+03FF | 0 | 144 | BMP — 1 UTF-16 unit | Greek alphabet and math symbols. |
| Cyrillic | U+0400 – U+04FF | 0 | 256 | BMP — 1 UTF-16 unit | Russian and other Cyrillic-script languages. |
| Hebrew | U+0590 – U+05FF | 0 | 112 | BMP — 1 UTF-16 unit | Hebrew alphabet with niqqud. |
| Arabic | U+0600 – U+06FF | 0 | 256 | BMP — 1 UTF-16 unit | Arabic script — positional forms. |
| Devanagari | U+0900 – U+097F | 0 | 128 | BMP — 1 UTF-16 unit | Hindi, Marathi, Sanskrit. |
| General Punctuation | U+2000 – U+206F | 0 | 112 | BMP — 1 UTF-16 unit | Dashes, quotes, spaces, invisible operators. |
| Superscripts and Subscripts | U+2070 – U+209F | 0 | 48 | BMP — 1 UTF-16 unit | ⁰¹²³⁴⁵⁶⁷⁸⁹ and subscript digits. |
| Currency Symbols | U+20A0 – U+20CF | 0 | 48 | BMP — 1 UTF-16 unit | € ₹ ₽ ₺ ₩ and historic currency signs. |
| Letterlike Symbols | U+2100 – U+214F | 0 | 80 | BMP — 1 UTF-16 unit | ™ ℠ № ℗ Ω K Å. |
| Number Forms | U+2150 – U+218F | 0 | 64 | BMP — 1 UTF-16 unit | Roman numerals, fractions ⅓ ⅔ ⅛. |
| Arrows | U+2190 – U+21FF | 0 | 112 | BMP — 1 UTF-16 unit | → ← ↑ ↓ ↔ ⇧ ⇩. |
| Mathematical Operators | U+2200 – U+22FF | 0 | 256 | BMP — 1 UTF-16 unit | ∀ ∃ ∈ ∉ ∑ ∏ √ ∞. |
| Box Drawing | U+2500 – U+257F | 0 | 128 | BMP — 1 UTF-16 unit | Frames and rules for text UI. |
| Block Elements | U+2580 – U+259F | 0 | 32 | BMP — 1 UTF-16 unit | Shade blocks used for bar charts in text. |
| Geometric Shapes | U+25A0 – U+25FF | 0 | 96 | BMP — 1 UTF-16 unit | ■ □ ▲ ● ◆. |
| Miscellaneous Symbols | U+2600 – U+26FF | 0 | 256 | BMP — 1 UTF-16 unit | ☀ ☂ ☎ ☕ ⚡ (many have emoji variants). |
| Dingbats | U+2700 – U+27BF | 0 | 192 | BMP — 1 UTF-16 unit | ✓ ✗ ✦ ✉ ✂. |
| CJK Symbols and Punctuation | U+3000 – U+303F | 0 | 64 | BMP — 1 UTF-16 unit | CJK brackets, iteration marks. |
| Hiragana | U+3040 – U+309F | 0 | 96 | BMP — 1 UTF-16 unit | Japanese syllabary. |
| Katakana | U+30A0 – U+30FF | 0 | 96 | BMP — 1 UTF-16 unit | Japanese syllabary for loanwords. |
| CJK Unified Ideographs | U+4E00 – U+9FFF | 0 | 20992 | BMP — 1 UTF-16 unit | The main Han ideograph block — 20,992 code points. |
| Hangul Syllables | U+AC00 – U+D7AF | 0 | 11184 | BMP — 1 UTF-16 unit | Precomposed Korean syllables — 11,172 code points. |
| Private Use Area | U+E000 – U+F8FF | 0 | 6400 | BMP — 1 UTF-16 unit | No assigned meaning — icon fonts live here. |
| Emoticons | U+1F600 – U+1F64F | 1 | 80 | astral — 2 UTF-16 units | The classic emoji faces (plane 1, surrogate pairs in UTF-16). |
| Transport and Map Symbols | U+1F680 – U+1F6FF | 1 | 128 | astral — 2 UTF-16 units | 🚀 🚗 🗺 — mixed emoji and pictographs. |
| Supplemental Symbols and Pictographs | U+1F900 – U+1F9FF | 1 | 256 | astral — 2 UTF-16 units | 🤖 🥑 🦄 — the modern emoji additions. |
| CJK Unified Ideographs Extension B | U+20000 – U+2A6DF | 2 | 42720 | astral — 2 UTF-16 units | Rare Han characters — beyond the BMP. |
Unicode 15 assigns 149,813 characters across 327 blocks; this index covers the blocks encountered in web and editorial typography.
You Might Also Need
The Unicode block explorer is a searchable index of the blocks most often met in typography work, with each block's range, plane and size. The plane column is the one that explains string-length surprises, because planes beyond the first cost two UTF-16 units per character.
What is Unicode Block Explorer?
The Unicode block explorer indexes a representative set of Unicode blocks with their ranges, planes and sizes, filterable by name, by note and by plane. It answers the structural question that a character lookup raises: where does this block sit, and what does that imply for storage and string handling.
The plane filter is the part that carries the most information.
- Plane zero, the basic multilingual plane, holds the Latin, Greek, Cyrillic, Hebrew, Arabic, Devanagari, CJK and symbol blocks that cover almost all western and Japanese text, and every character in it costs one UTF-16 unit.
- Plane one is the supplementary multilingual plane, where the emoji blocks and a few historic scripts live; characters here are outside the basic plane and cost two units each.
- Plane two is the supplementary ideographic plane, holding the rare Han extensions that a specialist font may include and a general one will not.
- The all-planes view reports the total across the indexed blocks, which is the figure to quote when the scope of the index is being described rather than a specific range.
The table gives each block its range in hexadecimal, its plane number, its size in code points, its UTF-16 cost and a note naming the characters or scripts it holds. Two of the rows exist to make points rather than to be looked up. The private use area is listed with the note that its code points carry no assigned meaning, which is where icon fonts put their glyphs and why a private use character is meaningless outside the font it was designed for. The Hangul syllables block is listed with its exact size, eleven thousand one hundred and seventy-two code points, as an illustration of how a precomposed script can occupy a large contiguous range.
The framing note states the scale the index sits within, which is useful context for a curated list: Unicode assigns its characters across several hundred blocks, and this index covers the blocks encountered in web and editorial typography. Searching works on the block name and on the note, which is how a character is traced back to its block when only its purpose is known — typing emoji, math or CJK narrows the index to the relevant rows immediately.
Four limits apply, and each one is a boundary the index respects deliberately.
- The index is a slice rather than the whole standard, so a specialist script may simply not be listed.
- The size column counts code points in the block's range, including unassigned slots, so it is not a count of characters a font would have to draw.
- The totals readout covers the indexed blocks rather than the standard, so a figure taken from it describes this list and not Unicode as a whole.
- There is no per-character drill-down, because reading characters is a different job from reading the map.
The character explorer and the block explorer are complementary rather than overlapping: one identifies a single code point, the other explains the neighbourhood it lives in.
How to use Unicode Block Explorer
- Filter by the plane you care about first, since the UTF-16 cost and the character repertoire both change above the basic multilingual plane.
- Search by name or by the kind of character you need, then read the note column to confirm the block holds what you expect.
- Read the UTF-16 cost column before writing string-handling code, because it decides whether character counts and code-unit counts agree.
- Take the range from the table and use the character explorer when a specific code point inside the block has to be identified.
When to use Unicode Block Explorer vs related tools
Reach for it when string lengths behave unexpectedly because the text contains emoji or rare ideographs, when a face's script coverage is being scoped, or when a private use character from an icon font has to be understood as something that only works with its own font. The plane and UTF-16 columns are the diagnostic. For a single character the Unicode character explorer identifies it, the emoji Unicode mapper explains multi-code-point sequences, and the dingbat and symbol explorer walks the symbol blocks character by character.
Privacy & Security
This tool runs entirely in your browser — no data ever leaves your device. There is no server round-trip, no upload, no logging, and no account required. Your input is processed locally using client-side JavaScript and is never stored, transmitted, or accessible to anyone else. When you close the tab, everything disappears.