Unicode Planes Table

–planes in the Unicode codespace
PlaneRangeNameStatus / use
000000–0FFFFBasic Multilingual Plane (BMP)assigned - most modern languages and symbols, dominated by CJK
110000–1FFFFSupplementary Multilingual Plane (SMP)assigned - historic scripts, notation and emoji (U+10000–U+1FFFF)
220000–2FFFFSupplementary Ideographic Plane (SIP)assigned - CJK Ideograph Extension B and later (U+20000–U+2FFFF)
330000–3FFFFTertiary Ideographic Plane (TIP)assigned - CJK Ideograph Extension G and later (U+30000–U+3FFFF)
440000–4FFFFPlane 4 (no name)unassigned - reserved for future growth
550000–5FFFFPlane 5 (no name)unassigned - reserved for future growth
660000–6FFFFPlane 6 (no name)unassigned - reserved for future growth
770000–7FFFFPlane 7 (no name)unassigned - reserved for future growth
880000–8FFFFPlane 8 (no name)unassigned - reserved for future growth
990000–9FFFFPlane 9 (no name)unassigned - reserved for future growth
10A0000–AFFFFPlane 10 (no name)unassigned - reserved for future growth
11B0000–BFFFFPlane 11 (no name)unassigned - reserved for future growth
12C0000–CFFFFPlane 12 (no name)unassigned - reserved for future growth
13D0000–DFFFFPlane 13 (no name)unassigned - reserved for future growth
14E0000–EFFFFSupplementary Special-purpose Plane (SSP)assigned - tags (U+E0000) and variation selectors (U+E0100)
15F0000–FFFFFSupplementary Private Use Area-A (SPUA-A)private use (planes 15-16 hold 131,072 of the 137,468 private-use code points)
16100000–10FFFFSupplementary Private Use Area-B (SPUA-B)private use (planes 15-16 hold 131,072 of the 137,468 private-use code points)
In the Unicode standard a plane is a contiguous group of 65,536 (216) code points; there are 17 of them, numbered 0 to 16 - the possible values 00–10 in the first two hex positions of U+hhhhhh. Plane 0 is the Basic Multilingual Plane (BMP) with most characters anyone types; planes 1 through 16 are the supplementary planes; the codespace ends at U+10FFFF, the last code point of plane 16. Why 17 and no more? The limit is UTF-16’s arithmetic: surrogate pairs can encode 220 code points (16 planes) plus the BMP as a single word - 17 in all. UTF-8 was designed for far more (231 code points, 32,768 planes) and could still address 32 planes within its 4-byte form. As of Unicode 18.0, five planes have assigned code points and seven planes are named.
The accounting is exact: 17 planes hold 1,114,112 code points, of which 2,048 are surrogates (the UTF-16 pairing mechanism), 66 are non-characters and 137,468 are reserved for private use, leaving 974,530 for public assignment. The populated ones: the BMP (CJK-dominated modern text), the SMP (historic scripts - this site’s Old Italic, Old Hungarian, Caucasian Albanian, Old Permic and Zanabazar Square charts all live there), the SIP and TIP (CJK ideograph extensions), and plane 14 (tags and variation selectors); planes 15–16 are the two private-use planes, planes 4–13 await assignment. Kin on this site: the Unicode version history table - how the planes filled up release by release - and the UTF-8 table for how plane numbers become four-byte sequences. The plane structure follows the official Unicode glossary definition of a plane and the current Unicode version pages.

A plane in the Unicode standard is a contiguous group of 65,536 (2<sup>16</sup>) code points. There are 17 planes, numbered 0 to 16 - the possible values 00&#8211;10 in the first two hex positions of a six-digit code point like U+1F600. Plane 0 is the Basic Multilingual Plane (BMP), where almost everything anyone types lives; planes 1&#8211;16 are the supplementary planes, ending at U+10FFFF, the last code point of plane 16.

The shape of the codespace is not a design preference - it is UTF-16 arithmetic. Surrogate pairs can encode 2<sup>20</sup> code points as pairs of 16-bit words (16 planes) plus the BMP as a single word: 17 in all. UTF-8 was designed for vastly more (2<sup>31</sup> code points, or 32,768 planes) and could still address 32 planes within its 4-byte form - the standard simply does not use the room.

The table below lists all 17 planes with their ranges, names and status. As of Unicode 18.0, five planes have assigned code points and seven planes are named; the accounting of the whole codespace is exact and is laid out in the chart notes below.

How to use

  1. Use the Range column as a prefix lookup: pad any code point to six hex digits and its first two digits are the plane number in hex (U+010300 = plane 01, U+0E0001 = plane 0E = 14). The padded first pair decodes most &#8220;which plane is this?&#8221; questions without a tool.
  2. Read the Status column as the real map: only planes 0, 1, 2, 3 and 14 hold assigned characters today; planes 15&#8211;16 are reserved wholesale for private use, and planes 4&#8211;13 are unnamed, unassigned headroom. The five populated planes cover modern text, historic scripts, CJK ideograph extensions and special-purpose tags.
  3. When you meet an unassigned-looking code point below U+10FFFF, check it is not one of the reserved categories: 2,048 surrogate code points (D800&#8211;DFFF), 66 non-characters and 137,468 private-use code points are permanently off the public table - which is why the full accounting leaves 974,530 code points for actual characters.

Frequently asked questions

How do I tell which plane a character is on from its code point?

Pad the code point to six hex digits and read the first two as one hex value: that is the plane number (00&#8211;10 hex = 0&#8211;16 decimal). U+0041 pads to U+000041 - plane 0. U+1F600 pads to U+01F600 - plane 01, the SMP, where emoji live. U+10300 pads to U+010300 - plane 01 again (Old Italic). U+E0001 pads to U+0E0001 - plane 0E, plane 14, the tag characters. The one trap is skipping the padding: U+10300 has five digits, and reading its raw first two (10) as the plane would land it on plane 16 by mistake.

Why does Unicode stop at U+10FFFF?

Because of UTF-16. The 17-plane codespace is exactly what UTF-16 can address: 2<sup>20</sup> code points through surrogate pairs (16 planes) plus 2<sup>16</sup> in the BMP as single words. Wikipedia cites the Unicode 6.0 core specification table for this bit distribution. UTF-8, by contrast, was designed for 2<sup>31</sup> code points (32,768 planes) and could still express 32 planes within four bytes - the codespace cap is a UTF-16 legacy, not a UTF-8 one.

What is in the Basic Multilingual Plane?

Almost everything common: characters for nearly all modern languages plus a large share of symbols, with the bulk of assigned code points going to CJK (Chinese, Japanese, Korean) ideographs and other East Asian writing systems. A key design goal of the BMP was unifying prior character sets - which is why Latin-1&#8217;s 256 characters are its first 256 code points, and why legacy encodings map onto it so cleanly.

Which planes actually have characters?

Five, per the Unicode standard as of version 18.0: plane 0 (BMP, modern text and symbols), plane 1 (SMP - historic scripts, notation, emoji), plane 2 (SIP - CJK ideograph extension B and later), plane 3 (TIP - the newest ideograph extensions), and plane 14 (SSP - language tags and variation selectors). The remaining supplementary planes are either private use (15&#8211;16) or unassigned headroom (4&#8211;13).

What are planes 15 and 16 for?

Private use. Together they hold 131,072 code points of the 137,468 total private-use reserve (the rest sits inside the BMP and plane 14). Private-use code points are guaranteed never to be assigned by the standard, letting communities, fonts and vendors define their own symbols - the mechanism behind many icon fonts and, historically, some scripts that predate their official encoding.

Related tools