Hex to Text Converter

Convert hex bytes to text and text to hex — UTF-8, in your browser.

Free hex to text converter that turns hexadecimal byte sequences into readable UTF-8 text and back again. Accepts 0x, spaces and separators. Runs entirely in your browser — nothing is uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What hex formats are accepted?

Hex input can include 0x prefixes and be separated by spaces, colons, semicolons or commas. The converter strips those and reads the remaining digits as pairs (one byte each).

Hex to text converter

Convert hexadecimal byte sequences into readable UTF-8 text, or encode text into hex. It is useful for reading hex dumps, debugging protocols and data files, or producing a hex representation of a string. Hex input is forgiving — 0x prefixes plus spaces, colons, semicolons and commas are all stripped automatically before decoding.

How it works

In Hex to Text mode the tool removes separators and prefixes, splits the remaining digits into pairs, reads each pair as one byte (0–255), and decodes the whole byte array as UTF-8 using the browser’s TextDecoder in strict mode — so invalid byte sequences are flagged rather than mangled. In Text to Hex mode it runs the reverse: TextEncoder turns the text into UTF-8 bytes, and each byte is written as a two-digit, zero-padded hex value.

Worked example — ASCII

Decoding 48 65 6c 6c 6f gives Hello:

HexDecimalCharacter
4872H
65101e
6c108l
6c108l
6f111o

Multi-byte characters

Encoding café gives 63 61 66 c3 a9 — note that the é is two bytes (c3 a9) because UTF-8 uses two-byte sequences for characters outside ASCII (code points U+0080 to U+07FF). An emoji like 😀 takes four bytes (f0 9f 98 80). This is why the hex output length for a Unicode string can be longer than a simple character count would suggest.

Common use cases

  • Reading hex dumps: network captures, binary file inspections, and debugger output often show data as hex bytes. Paste them here to read the ASCII or UTF-8 content.
  • Debugging wire protocols: many protocols (SMTP responses, HTTP/1 headers, custom binary formats) can be examined by pasting the hex payload and reading the decoded text.
  • Producing test data: when you need a consistent hex encoding of a known string for a unit test or comparison, the Text to Hex direction gives a deterministic result.
  • CTF and security work: capture-the-flag challenges frequently hide flags in hex-encoded strings.

Why strict UTF-8 decoding matters

The tool decodes using strict mode, meaning an invalid byte sequence (such as an incomplete multi-byte character or a byte that is not valid in that position) produces an error rather than garbage or a replacement character. This is intentional: silent replacement can hide the fact that the input is not the encoding you think it is. If decoding fails, check that you have an even number of hex digits and that the bytes form a real UTF-8 sequence.

Everything runs in your browser with built-in TextEncoder and TextDecoder APIs — nothing is uploaded. For other encodings, try the Base64 decoder.