Converter Tools

Hex to Text Converter

Turn hexadecimal back into the text it represents. Paste a hex dump, an escaped string from code or a percent-encoded URL fragment, and read the decoded result immediately.

  • Runs in your browser
  • No sign-up
  • Free to use

How to use Hex to Text

  1. Paste hexadecimal into the left box.
  2. Any common format works: 48 65 6c, 0x48 0x65, \x48\x65, 48:65:6c, %48%65 or 48656c.
  3. The decoded text appears on the right.
  4. Fix any item the error message points to, then copy the text.

Hex to Text features

Many input styles

Plain pairs, 0x and \x prefixes, %-encoding, U+ notation, colons, commas or no separators.

UTF-8 decoding

Multi-byte sequences become the right characters, including emoji.

Helpful errors

Identifies invalid digits and odd-length strings.

Non-UTF-8 fallback

Bytes that are not valid UTF-8 are shown as Latin-1 with a warning.

Case-insensitive

Upper- and lower-case digits are accepted.

Runs locally

Nothing leaves your browser.

When to use Hex to Text

  • Reading strings in hex dumps, packet captures and logs.
  • Decoding escaped strings from source code or malware analysis.
  • Solving CTF and puzzle challenges.
  • Checking data sent to or from serial devices.
  • Decoding percent-encoded fragments of URLs.

Hex to Text FAQ

What if my hex string has no spaces?

It is split into pairs of digits. The number of digits must be even, since each byte is two hex digits.

Why is the result unreadable?

The bytes may not be text at all, for example image or compressed data, or may use an encoding other than UTF-8. The fallback shows single-byte characters so you can still inspect them.

Can it decode 0x-prefixed lists from code?

Yes. Prefixes such as 0x and \x and separators such as commas are ignored.

Is hex decoding the same as decrypting?

No. Hex is a notation for bytes, not encryption. Encrypted or hashed data decoded from hex still looks random.

How do I make hex from text?

Use the Text to Hex converter.

How can I tell hex from Base64 or binary?

Hexadecimal uses only the digits 0–9 and the letters a–f, usually in pairs. Binary uses only 0 and 1. Base64 uses the whole alphabet in both cases, digits, plus and slash, and often ends with one or two equals signs. If a string contains letters beyond f, it is not hexadecimal.

Recognising text in hex

With a little practice, text is easy to spot in hexadecimal. Capital letters run from 41 to 5a, lower-case letters from 61 to 7a, digits from 30 to 39, and the space is 20. A dump full of values in the 20–7e range is printable ASCII text.

Line endings are visible too: 0a is a line feed, used on Linux and macOS, and 0d 0a is the carriage return plus line feed used on Windows. Seeing which appears explains many “extra character” bugs when files move between systems.

Bytes of c2 to f4 followed by bytes of 80 to bf indicate UTF-8 multi-byte characters. The decoder combines them: e2 82 ac becomes the euro sign, and f0 9f 98 80 becomes a smiling face emoji.

Hex strings also carry things that are not text, such as hashes, keys and binary files. Decoding those produces gibberish because the bytes were never characters; the recognisable patterns above are a quick way to tell the difference before decoding.

Other useful tools