SESK: Stuff Everyone Should Know · sesk.info/tech-utf8-byte-length
In UTF-8, how many bytes can one Unicode scalar value take?
1 to 4 bytes, depending on the scalar value.
- Always 2 bytes
- 1 to 4 bytes ✔
- Always 1 byte
Why: UTF-8 is variable length. Common English letters take 1 byte, many other scalar values take 2 or 3, and values above U+FFFF take 4. One displayed symbol can combine several scalar values.
Huh, didn't know that: Older UTF-8 designs allowed sequences up to 6 bytes; RFC 3629 cut it to 4 to match Unicode's range.
Why did the emoji need four bytes? It had a lot of feelings to express.
Like this card?
References
Answer: 1 to 4 bytes. UTF-8 is variable length. Common English letters take 1 byte, many other scalar values take 2 or 3, and values above U+FFFF take 4. One displayed symbol can combine several scalar values.
- RFC 3629: UTF-8, a transformation format of ISO 10646 www.rfc-editor.org/rfc/rfc3629.txt
characters from the U+0000..U+10FFFF range (the UTF-16 accessible range) are encoded using sequences of 1 to 4 octets
Checked 2026-10-10.
Think this answer is wrong? Tap "Challenge this answer" on the card in the game and tell us why.
More stuff everyone should know
That's stuff everyone should know.