UTF-8 Validator

Validate hexadecimal byte sequences as strict UTF-8. Detect invalid continuation bytes, truncated sequences, overlong encodings, surrogate values and out-of-range code points.

Processed securely on the server

Paste hexadecimal bytes such as 48 65 6C 6C 6F. Input is validated as bytes, not normalized text.

Validate UTF-8 bytes online

This UTF-8 validator accepts hexadecimal byte sequences, parses the bytes first, and then enforces strict modern UTF-8 rules. It detects malformed continuation bytes, truncated sequences, overlong encodings, encoded surrogate values and code points above U+10FFFF. For valid input, it shows byte counts, code-point counts, a decoded preview, normalized hexadecimal and UTF-8 BOM status.

This is a server-side validator. The submitted byte sequence is sent to UnicodeNow for analysis; it is not a browser-local tool.

UTF-8 validation example

Input:

48 65 6C 6C 6F 2C 20 63 61 66 C3 A9 20 F0 9F 98 80

Expected result:

Status: Valid UTF-8
Decoded text: Hello, café 😀
Bytes: 17
Code points: 13
BOM: None

What makes UTF-8 valid?

ASCII bytes 00-7F stand alone. Multi-byte sequences begin with a valid leading byte and must contain the exact number of continuation bytes in the range 80-BF. Modern UTF-8 uses one to four bytes, requires the shortest valid form, excludes UTF-16 surrogate code points, and does not allow values above U+10FFFF.

Common UTF-8 errors

ExampleError
80Unexpected continuation byte at byte 1.
C3 28Invalid continuation byte at byte 2.
F0 9F 98The four-byte sequence starting at byte 1 is truncated.
C0 AFOverlong UTF-8 encoding.
ED A0 80UTF-8 cannot encode surrogate code points.
F4 90 80 80The sequence represents a value above U+10FFFF.
F4 8F BF BFValid UTF-8 for maximum Unicode scalar value U+10FFFF.

Supported hexadecimal input formats

The parser accepts separated byte groups, continuous hexadecimal, 0x-prefixed values, comma-separated values and whitespace across lines. Every parsed value must represent one byte from 00 to FF.

48 65 6C 6C 6F
48656C6C6F
0x48 0x65 0x6C 0x6C 0x6F
48,65,6C,6C,6F

UTF-8 BOM handling

The UTF-8 BOM is EF BB BF. It is valid but optional. This validator treats it as a BOM only at the start, preserves the original byte count, reports UTF-8 BOM detected, and excludes the leading BOM character from the decoded preview.

Valid UTF-8 vs safe text

UTF-8 validation checks byte structure. Valid UTF-8 can still contain null bytes, control characters, bidirectional formatting controls, zero-width characters, noncharacters or private-use characters. Those are content warnings, not structural UTF-8 errors. Valid UTF-8 is not automatically safe for HTML, SQL, logs, terminals, source code or other contexts.

How to use the validator

  1. Paste hexadecimal byte values into the input field.
  2. Run the UTF-8 validation.
  3. Review the validity status and any error position.
  4. For valid input, inspect the decoded preview and BOM result.
  5. Copy or download the validation report if needed.

Privacy and server processing

The submitted byte sequence is sent to UnicodeNow for UTF-8 validation. Input is processed securely and is not intentionally retained after the request completes.

Do not submit passwords, private keys, access tokens, personal records or other sensitive data.

Frequently asked questions

What is valid UTF-8?

Valid UTF-8 is a byte sequence that follows the modern one-to-four-byte encoding rules, uses valid continuation bytes, avoids overlong forms, excludes surrogate code points and stays within U+10FFFF.

How do I validate UTF-8 bytes?

Paste hexadecimal bytes into the validator and run the check. The server parses the hex first, then validates the resulting byte sequence as strict UTF-8.

What is an invalid continuation byte?

A continuation byte must be in the range 80-BF. If a multi-byte sequence contains a different byte where a continuation byte is required, the sequence is invalid.

What is a truncated UTF-8 sequence?

A sequence is truncated when a leading byte announces a multi-byte character but the input ends before all required continuation bytes appear.

What is an overlong UTF-8 sequence?

An overlong sequence uses more bytes than necessary for a code point. Modern UTF-8 rejects non-shortest encodings such as C0 AF.

Can UTF-8 encode surrogate code points?

No. UTF-16 surrogate code points from U+D800 through U+DFFF are not Unicode scalar values and cannot be encoded in valid UTF-8.

What is a UTF-8 BOM?

A UTF-8 BOM is the leading byte sequence EF BB BF. It is valid but optional, and this validator reports it only when it appears at the start.

Can valid UTF-8 still contain control characters?

Yes. UTF-8 validation checks byte structure. Valid text can still contain null bytes, controls, bidi controls or invisible characters, which are reported separately as warnings.

Does this tool decode valid input?

Yes. When input is valid UTF-8, the result includes a decoded text preview. The preview is rendered as text, not HTML.

Is my input stored on the server?

The submitted byte sequence is sent to UnicodeNow for validation and is not intentionally retained after the request completes. Do not submit secrets or sensitive data.

Related tools

To decode valid hexadecimal bytes, use Hex to Text. To compare possible legacy encodings, use the Character Encoding Detector.

Binary to Text

Decode binary byte groups into UTF-8 text.

EncodingProcessed locally

Byte Length Calculator

Count UTF-8 bytes, code points, grapheme clusters and UTF-16 code units for text.

EncodingProcessed locally

Decimal to Text

Convert decimal bytes or Unicode code point values to text.

EncodingProcessed locally

Hex to Text

Decode hexadecimal byte values into UTF-8 text.

EncodingProcessed locally

Text to Hex

Convert UTF-8 text bytes into hexadecimal values.

EncodingProcessed locally

Related guides

Learn why valid UTF-8 can appear broken when decoded incorrectly in What Is Mojibake?. For a repair workflow, read How to Fix Broken UTF-8 Text.

Unicode vs UTF-8

Unicode defines characters and code points. UTF-8 encodes those code points as bytes for files, databases, web pages, APIs and network messages.

UTF-8 vs UTF-16

Compare UTF-8 and UTF-16 with byte examples, surrogate pairs, byte order, BOM behavior and practical guidance for developers.

What Is Mojibake?

Learn why text becomes garbled, how UTF-8 bytes turn into mojibake such as café and It’s, and how to repair it safely.

How to Fix Broken UTF-8 Text

A safe workflow for diagnosing broken UTF-8, validating bytes, reversing mojibake, handling double encoding and auditing repairs.