
In the Unicode standard, a plane is a contiguous group of 65,536 (216) code points. There are 17 planes, identified by the numbers 0 to 16, which corresponds with the possible values 00–1016 of the first two positions in six position hexadecimal format (U+hhhhhh). Plane 0 is the Basic Multilingual Plane (BMP), which contains most commonly used characters. The higher planes 1 through 16 are called "supplementary planes".[1] The last code point in Unicode is the last code point in plane 16, U+10FFFF. As of Unicode version version=17.0, five of the planes have assigned code points (characters), and seven are named.
The limit of 17 planes is due to UTF-16, which can encode 220 code points (16 planes) as pairs of words, plus the BMP as a single word.[2] UTF-8 was designed with a much larger limit of 231 (2,147,483,648) code points (32,768 planes), and would still be able to encode 221 (2,097,152) code points (32 planes) even under the current limit of 4 bytes.[3]
The 17 planes can accommodate 1,114,112 code points. Of these, 2,048 are surrogates (used to make the pairs in UTF-16), 66 are non-characters, and 137,468 are reserved for private use, leaving 974,530 for public assignment.
Planes are further subdivided into Unicode blocks, which, unlike planes, do not have a fixed size. The 346 blocks defined in Unicode version=17.0 cover 27% of the possible code point space, and range in size from a minimum of 16 code points (sixteen blocks) to a maximum of 65,536 code points (Supplementary Private Use Area-A and -B, which constitute the entirety of planes 15 and 16). For future usage, ranges of characters have been tentatively mapped out for most known current and ancient writing systems.[4]
| 0 BMP | 65,520 | 55,718 | |
| 1 SMP | 31,872 | 28,869 | |
| 2 SIP | 61,536 | 61,513 | |
| 3 TIP | 13,440 | 13,429 | |
| 14 SSP | 368 | 337 | |
| 15 SPUA-A | 65,536 | 0 (by definition) | |
| 16 SPUA-B | 65,536 | 0 (by definition) | |
| Totals | 303,808 | 159,866 |
|---|
The High Surrogate (U+D800–U+DBFF) and Low Surrogate (U+DC00–U+DFFF) codes are reserved for encoding non-BMP characters in UTF-16 by using a pair of 16-bit codes: one High Surrogate and one Low Surrogate. A single surrogate code point will never be assigned a character.
65,520 of the 65,536 code points in this plane have been allocated to a Unicode block, leaving 16 code points in a single unallocated range (2FE0..2FEF).
, the BMP comprises the following 164 blocks:, the SIP comprises the following seven blocks:
, the TIP comprises the following three blocks:
Planes 4 to 13 (planes to in hexadecimal): No characters have yet been assigned, or proposed for assignment, to Planes 4 through 13.
The two planes 15 and 16 (planes and in hexadecimal) each contain a "Private Use Area". They contain blocks named Supplementary Private Use Area-A (PUA-A) and -B (PUA-B). The Private Use Areas are available for use by parties outside ISO and Unicode (private use character encoding).