What Are Unicode Code Points?
A Unicode code point is the permanent number assigned to a character or control function. It is normally written as U+ followed by hexadecimal digits, such as U+00A9 for © or U+1F600 for 😀. The notation identifies the abstract character; it does not describe the font, visual shape, or byte encoding.
How to Read U+ Notation
Hexadecimal uses sixteen digits: 0–9 followed by A–F. Leading zeros are commonly used to show at least four hexadecimal digits, so decimal 65 becomes U+0041. Supplementary characters need five or six hexadecimal digits.
| Character | Code point | Decimal | General role |
|---|---|---|---|
| A | U+0041 | 65 | Basic Latin letter |
| é | U+00E9 | 233 | Precomposed accented letter |
| € | U+20AC | 8364 | Currency symbol |
| 😀 | U+1F600 | 128512 | Supplementary emoji |
Code Points Are Not Always Visible Characters
Some code points are combining marks, variation selectors, joiners, spaces, line separators, or directional controls. One visible grapheme can contain several code points, while some code points occupy no visible width. That distinction explains why a family emoji or accented letter can have a different code-point count from its visible-character count.
Unicode also excludes surrogate code points from valid scalar values. Surrogates are used internally by UTF-16 to represent supplementary characters but are not independent Unicode characters.
Code Point, Glyph, and Encoding
The code point identifies the character. A glyph is the visual drawing selected by a font. An encoding such as UTF-8 converts the code point into bytes for storage or transmission. The same code point can have many glyph designs, and the same character can have different byte sequences in UTF-8 and UTF-16.