UTF-8 Decoder
Decode UTF-8 byte sequences to text, or encode text to bytes.
A free online UTF-8 decoder — paste percent-encoded, hex, or decimal byte sequences and get readable text, or flip to Encode mode to see any text's raw UTF-8 bytes. No signup, runs entirely in your browser.
Decoded text
What does a UTF-8 decoder do?
A UTF-8 decoder converts a sequence of raw bytes back into the Unicode text they represent — UTF-8 encodes each character as 1 to 4 bytes depending on the character, so a byte sequence needs decoding to become readable text again. This tool accepts several common ways bytes get written down (percent-encoding, hex, decimal) and decodes any of them, plus the reverse: turning text into its raw UTF-8 bytes.
Supported input formats
Percent-encoding (%E2%9C%93) is the format used in URLs and query strings — each byte is written as % followed by two hex digits. Hex bytes (c3 a9) write each byte as a plain two-digit hex pair, space or comma separated. Decimal bytes (195 169) write each byte as its base-10 value (0-255). The tool detects which one you've pasted automatically.
How UTF-8 encodes characters
UTF-8 is a variable-width encoding: ASCII characters (code points 0-127) take exactly 1 byte, making UTF-8 backward-compatible with plain ASCII text. Characters beyond that range take 2, 3, or 4 bytes — accented Latin letters and most European scripts typically use 2 bytes, common CJK (Chinese/Japanese/Korean) characters use 3, and emoji and rarer symbols use 4. Each additional byte starts with a distinct bit pattern, which is what lets a decoder tell how many bytes a given character spans.
Why decoding can fail
Not every byte sequence is valid UTF-8. Multi-byte characters follow a strict structure — a leading byte announcing how many bytes follow, then continuation bytes each starting with a specific bit pattern. A truncated sequence, a stray continuation byte with no leading byte before it, or an overlong encoding all fail validation. This tool surfaces that as a clear error rather than silently inserting replacement characters (�), so you can tell a genuinely broken byte sequence from a display or font problem.
Frequently asked questions
Related tools: Hex Decode · Binary Decoder · Base64 Converter