Hex to UTF-8 Converter
Decode hex bytes as UTF-8 text — the variable-length encoding that powers almost the entire modern web, from plain English to emoji.
How Hex to UTF-8 Decoding Works
UTF-8 uses a variable number of bytes per character — 1 to 4 — signaled by the leading bits of the first byte. Plain English text decodes exactly like ASCII (1 byte each); accented letters, symbols, and most other scripts take 2 or 3 bytes; emoji and rarer characters take the full 4 bytes.
UTF-8 Byte-Length Reference
| Character range | Bytes used | First-byte pattern |
|---|---|---|
| U+0000 - U+007F (ASCII) | 1 | 0xxxxxxx |
| U+0080 - U+07FF | 2 | 110xxxxx |
| U+0800 - U+FFFF | 3 | 1110xxxx |
| U+10000 - U+10FFFF (most emoji) | 4 | 11110xxx |
Hex to UTF-8 Example, Step by Step
F09F9880 = 😀
F09F9880 (hex) = 😀 (UTF-8)
F0 = 11110000 -> 4-byte character 9F, 98, 80 = continuation bytes (10xxxxxx) Combined bits decode to code point U+1F600
| Step | Description | Result |
|---|---|---|
| Read the lead byte | F0 = 11110xxx pattern, signals 4 bytes | 4-byte character |
| Combine with continuation bytes | 9F, 98, 80 each contribute 6 bits | U+1F600 |
| Render the code point | U+1F600 is the grinning face emoji | 😀 |
Common Mistakes When Decoding Hex to UTF-8
- Assuming every character is 1 byte, like ASCII — most non-English text and all emoji use more.
- Splitting a multi-byte character's hex in the wrong place, producing invalid UTF-8.
- Confusing this with UTF-16 or UTF-32, which use entirely different byte-length rules.
Frequently Asked Questions
How is UTF-8 different from ASCII?
UTF-8 is a superset — every ASCII character (0-127) is stored identically in UTF-8 as a single byte. Beyond that range, UTF-8 uses 2, 3, or 4 bytes per character to represent the rest of Unicode, which plain ASCII can't do at all.
How do you know how many bytes one character uses?
The first byte's leading bits announce it: a leading 0 means 1 byte (plain ASCII), 110 means 2 bytes, 1110 means 3 bytes, and 11110 means 4 bytes. The following bytes all start with 10, marking them as continuations.
Why does an emoji take 4 bytes in hex?
Most emoji live far outside the Basic Multilingual Plane (above code point U+FFFF), which requires UTF-8's full 4-byte encoding — that's why a single emoji character can turn into 8 hex digits.
What happens with invalid UTF-8 byte sequences?
The calculator flags it — not every byte sequence is valid UTF-8 (continuation bytes have to follow a proper lead byte), so malformed input is rejected rather than silently guessed at.
Is this the same as Hex to Unicode?
Related but different — Hex to Unicode treats the hex value as a single code point directly. This page decodes a byte sequence that represents one or more characters using UTF-8's actual encoding rules.
Why is UTF-8 the web's default encoding?
It's backward-compatible with ASCII, doesn't waste space on English text, and can represent every character in Unicode — a combination no earlier encoding managed at once.