Hex to Text Converter

Decode hex bytes to text or encode text to hex with an explicit UTF-8, 7-bit ASCII or Latin-1 encoding, byte count and positions of any invalid bytes.

Interactive calculator · Method HEX-TO-TEXT-1.0 · Last reviewed: 2026-11-04

Calculate your scenario

Hex mode reads each pair of hex digits as one byte (0x41 = 65) and decodes the bytes with the chosen encoding: ASCII uses bytes 0–127, Latin-1 maps every byte 0–255 to the same code point, and UTF-8 combines 2 to 4 bytes for characters above U+007F.

Your inputs

Try an example

Default worked example. Edit the inputs to calculate your scenario.

Default worked example

Converted output Hello été
Byte count 11 bytes
Character count 9 characters
Invalid bytes None
Encoding used UTF-8

11 bytes decoded as UTF-8 ↔ 9 characters.

How to use the calculator

Choose the direction and encoding, then paste hex bytes (spaces, commas or 0x prefixes are fine) or plain text. For text to hex, choose how the bytes should be separated.

What the result means

The default bytes decode as “Hello été”: 11 bytes but 9 characters, because each é takes two bytes (C3 A9) in UTF-8.

Formula and units

Hex mode reads each pair of hex digits as one byte (0x41 = 65) and decodes the bytes with the chosen encoding: ASCII uses bytes 0–127, Latin-1 maps every byte 0–255 to the same code point, and UTF-8 combines 2 to 4 bytes for characters above U+007F. Text mode does the reverse and prints each byte as two hex digits.

Worked examples

UTF-8 bytes for “Hello été”: Conversion: hex; Character encoding: utf8; Hex output format: space; Input (hex bytes or text): 48 65 6C 6C 6F 20 C3 A9 74 C3 A9.
Example result: Converted output: Hello été; Byte count: 11 bytes; Character count: 9 characters; Invalid bytes: None; Encoding used: UTF-8.

“Price: 5 €” to 0x-prefixed UTF-8 hex: Conversion: text; Character encoding: utf8; Hex output format: 0x; Input (hex bytes or text): Price: 5 €.
Example result: Converted output: 0x50 0x72 0x69 0x63 0x65 0x3A 0x20 0x35 0x20 0xE2 0x82 0xAC; Byte count: 12 bytes; Character count: 10 characters; Invalid bytes: None; Encoding used: UTF-8.

Limitations and common mistakes

Runs entirely in your browser; nothing is uploaded. The encoding is never guessed: choose the one the bytes were written in. Invalid UTF-8 or ASCII bytes are replaced with U+FFFD one byte at a time and listed by byte position (some decoders merge a broken sequence into a single U+FFFD). Single-digit groups such as “A” are read as one byte (0A). Control characters are decoded but may not be visible.

Decoding UTF-8 bytes as Latin-1 (or the reverse), which turns “é” into “é”. Pick the encoding that produced the bytes.

Sources and assumptions

Method HEX-TO-TEXT-1.0; last formula review 2026-11-04. Sources and their supported claims. Calculation methodology.