Unicode Block Reference

Browse Unicode blocks and their code-point ranges

Search every named Unicode block by name or code point and see its start, end, and total code-point span. A fast reference for developers working with multilingual text and emoji. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is a Unicode block?

A Unicode block is a contiguous, named range of code points reserved for a related group of characters, such as Basic Latin or Cyrillic. Blocks help organise the code space and are defined in the Unicode Character Database.

Find any Unicode block fast

Unicode organises its more than a million possible code points into named blocks — contiguous ranges set aside for a related family of characters. Knowing which block a character lives in helps when you build fonts, validate input, filter by script, or debug mojibake. This tool lets you search the common blocks by name or by a code point and instantly see the range it occupies.

How blocks are organised

The Unicode code space runs from U+0000 to U+10FFFF — a range of 1,114,112 possible code points. These are divided into 17 planes of 65,536 code points each, and the entire space is further subdivided into over 300 named blocks. Blocks are always contiguous and non-overlapping; a code point belongs to exactly one block.

Plane 0 (Basic Multilingual Plane, BMP) — U+0000 to U+FFFF — contains the scripts and symbols used daily: Latin, Cyrillic, Arabic, Hebrew, CJK Unified Ideographs, common symbols, and more. Most of the world’s everyday text lives here.

Plane 1 (Supplementary Multilingual Plane, SMP) — U+10000 to U+1FFFF — holds historic scripts (Linear B, Egyptian Hieroglyphs, Cuneiform), musical notation, mathematical alphanumeric symbols, and most of the emoji used in social media and messaging.

Planes 2–3 (Supplementary Ideographic Plane and Tertiary) — additional CJK Unified Ideographs for rare characters in historical documents.

Planes 14–16 — special-use and private-use areas.

How it works

Each block has a fixed start and end code point, defined in the Unicode Character Database file Blocks.txt. When you type a name, the tool matches it against block names. When you type a code point such as U+1F600, it parses the hexadecimal value and finds the block whose start and end span contains it — a simple range check. The point count column is the size of that span, computed as end - start + 1. Note that some code points inside a block may be unassigned, so the span is an upper bound on assigned characters.

Commonly referenced blocks

Block nameRangeNotable for
Basic LatinU+0000–U+007FASCII; the 128 characters of US-ASCII
Latin-1 SupplementU+0080–U+00FFWestern European accented letters, £ ¥ © ®
General PunctuationU+2000–U+206FEm dash, en dash, non-breaking space, ellipsis
CyrillicU+0400–U+04FFRussian, Ukrainian, Bulgarian, Serbian, and others
ArabicU+0600–U+06FFArabic script, digits, and presentation forms
CJK Unified IdeographsU+4E00–U+9FFFCore set of Chinese, Japanese, and Korean characters
EmoticonsU+1F600–U+1F64FClassic emoji: smiley faces, gestures
Miscellaneous Symbols and PictographsU+1F300–U+1F5FFWeather, food, nature, objects emoji

Developer tips

  • A code point search returns the block whose span contains the value, not just blocks with assigned characters at that point.
  • To check if a character is ASCII, verify it is in Basic Latin (U+0000–U+007F).
  • Emoji are scattered across several BMP and SMP blocks. If you need to detect or filter emoji in code, filtering by block alone is insufficient — use Unicode property escapes such as \p{Emoji} instead.
  • All searching happens locally in your browser, so nothing you type is uploaded.