UTF-8 decoder and validator

Paste bytes to check they are well-formed UTF-8 and read the text, useful when diagnosing garbled Arabic.

Loading the tool…

Processing and privacy: The result is calculated inside your browser and your data is not sent to any server.

How to use it

  1. Enter utf-8 bytes (hex).
  2. The result appears straight away and updates as you edit.
  3. Copy the result, or copy a link that keeps the same values to share it.

How it is calculated

Bytes are checked against Unicode Table 3-7 of well-formed sequences: C0, C1 and F5 to FF, overlong forms, surrogates and values above U+10FFFF are rejected.

Example

Result: Decoded text: €; Characters: 1; Bytes: 3.

Limits and caveats

  • It stops at the first error rather than substituting �, so you can see where the problem is.
  • The table lists the first 400 characters only.

Questions about this tool

Why does Arabic show up as symbols like ال?

UTF-8 bytes were read as Windows-1252. Paste the bytes here to confirm they are valid UTF-8.

What is an overlong encoding?

A character written with more bytes than needed, such as C0 AF instead of 2F. The standard forbids it for security reasons.

Does it accept %D8%B3 style input?

Yes. %, 0x and \x markers are removed and the values are read as bytes.