Hex to Text (UTF8) Converter

Decode hex to text (UTF‑8)

This Hex to Text converter decodes hexadecimal bytes (like 48 65 6c 6c 6f) back into readable UTF‑8 text.

It’s the fastest way to turn “hex dumps” into real strings when you’re working with:

  • debugging output and logs
  • network protocol examples
  • file format documentation
  • programming exercises and test fixtures
  • CTF / security challenges

Key idea: hex here represents bytes. The tool interprets those bytes as UTF‑8 and outputs the decoded characters.


How to use the Hex to Text converter

  1. Paste your hex bytes into the input.
  2. Choose Decode (hex → text).
  3. Select Hex as the format.
  4. Copy the decoded text.

What hex input formats are accepted?

Different tools produce different hex styles. The cleanest form is space‑separated byte pairs, but most whitespace variations work.

48 65 6c 6c 6f

2) A continuous hex string (no spaces)

48656c6c6f

As long as the total number of hex characters is even, it can be split into byte pairs.

3) Newlines or tabs

48 65 6c
6c 6f

4) Commas and 0x prefixes

Some sources use 0x or commas, for example:

0x48, 0x65, 0x6c, 0x6c, 0x6f

If your input is strict, remove punctuation/prefixes first. If your converter is flexible, it may decode it as-is — but the most reliable format is always plain byte pairs.


Examples

ASCII text

Hex:  48 65 6c 6c 6f
Text: Hello

Greek / non‑ASCII (UTF‑8 multi‑byte)

Many characters use multiple bytes in UTF‑8.

Hex:  ce a9
Text: Ω

Emoji (often 4 bytes)

Hex:  f0 9f 99 82
Text: 🙂

If you expected “one character = one byte”, these examples show why UTF‑8 output can look longer for symbols and emoji.


Troubleshooting

“Nothing decodes” or “I get an error”

Check these first:

  • Invalid characters: hex must be 0–9 and a–f (case‑insensitive).
  • Odd length: if you paste a continuous string, it must have an even number of hex digits.
  • Mixed formats: make sure you didn’t paste decimal ASCII codes or binary while Hex is selected.

“I see � replacement characters”

The symbol usually means the byte sequence isn’t valid UTF‑8 (or the bytes are split incorrectly). Common causes:

  • missing a byte (incomplete sequence)
  • you pasted only part of a multi‑byte character
  • the data is actually not text (it may be encrypted, compressed, or a binary file segment)

“I pasted hex, but it’s supposed to be a number”

If your hex represents a numeric value (like 0xffe0) instead of UTF‑8 bytes, decoding to text won’t make sense. In that case, use a number base converter instead of a text/byte decoder.


Tips & best practices

  • Prefer byte pairs separated by spaces for maximum compatibility.
  • If you’re unsure the data is correct, do a quick round‑trip: decode hex → text, then encode that text back with Text to Hex and compare.

Frequently Asked Questions

It decodes hexadecimal bytes (00–ff) into UTF-8 text. Each pair of hex digits is treated as one byte, and the full byte sequence is interpreted as UTF-8 characters.

No. It’s byte decoding, not number conversion. If your hex represents a numeric value (like 0xffe0) rather than UTF-8 bytes, decoding to text won’t be meaningful.

The recommended format is space-separated byte pairs like: 48 65 6c 6c 6f. A continuous string like 48656c6c6f also works as long as the total number of hex digits is even.

Yes. Whitespace is treated as a separator—just ensure the bytes still form valid 2-digit hex pairs.

Some sources use formats like 0x48, 0x65, ... The most reliable approach is to remove prefixes/punctuation so you’re left with clean byte pairs.

That usually means the byte sequence isn’t valid UTF-8—common causes are missing bytes, odd-length continuous hex, or pasting only part of a multi-byte character.

Yes. UTF-8 is variable-length, so Greek/accents may use 2 bytes and many emoji use 4 bytes (you’ll decode multiple hex pairs into one character).

No. All conversions run locally in your browser.

Try one of our format-specific converters below

Explore Our Tools

Read More From Our Blog