EthicalFusion

Hex to Text Converter

Convert hexadecimal byte values back to text.

Was this tool helpful?

Thanks for the feedback!

The Hex to Text Converter reads hexadecimal byte values such as 48 65 6c 6c 6f and turns each pair of hex digits into one character, giving "Hello". It helps when you are reading a hex dump, a serial-port log, network packet bytes or a CTF puzzle and want to see the plain text hidden in the numbers.

Accepted formats

Spaces, line breaks and 0x prefixes are removed before decoding, so all of these give a readable result:

  • 48 65 6c 6c 6f → Hello
  • 48656c6c6f20576f726c64 → Hello World
  • 0x48 0x69 → Hi

Upper and lower case digits are both fine. After cleaning, the string is cut into pairs from the left, and each pair becomes the character with that code.

Reading hex by eye

Hex rangeCharacters
20space
30–39digits 0–9
41–5Acapitals A–Z
61–7Alowercase a–z
0A, 0Dline feed, carriage return

So 20 between two words is a space, and 0D 0A at the end of a line is the Windows-style line ending you often see in serial and HTTP traffic.

Why Hindi or emoji come out as ठsymbols

This converter maps every byte to a character on its own, which is correct for ASCII text but not for UTF-8, where one character can take two to four bytes. The Devanagari letter न is stored as e0 a4 a8; decoded here, those three bytes become न. If you see sequences starting with à, à or â, the data is UTF-8. A workaround: put a % in front of every byte, as in %e0%a4%a8, and paste that into the URL Decoder, which reads percent-encoded bytes as UTF-8 and returns न.

Inputs that produce garbage

  • Other separators. Only spaces, line breaks and 0x are stripped. Colons (48:65), commas, \x escapes or % signs stay in and knock the pairing out of step, producing invisible control characters. Replace them with spaces first.
  • An odd number of digits. The last single digit is left in the output as-is, so 486 gives "H6". Check that nothing was lost when copying.
  • Offsets and ASCII columns. A dump from xxd or hexdump -C starts each line with an address and ends with a text column. Copy only the byte columns, or the addresses will be decoded as characters.
  • Binary data. Bytes from images or compressed files have no text meaning and will show as symbols.

Common sources of hex text

MySQL's HEX() function and many database tools show binary columns this way, Arduino and embedded developers log UART bytes in hex, and packet analysers such as Wireshark list payloads byte by byte. To produce hex from your own text for comparison, use the Text to Hex Converter.

Frequently asked questions

Why do I see characters like ठinstead of Hindi text?
The bytes are UTF-8, and this tool decodes one byte per character. Prefix each byte with % and use the URL Decoder to read multi-byte characters correctly.
Can I paste hex values with 0x in front?
Yes. Every 0x is removed before decoding, so 0x48 0x69 gives Hi.
Does it accept hex separated by colons or commas?
No. Only spaces and line breaks are ignored, so replace colons or commas with spaces first.
What does hex 20 mean?
It is the code for a space character. Hex 41 is capital A and 61 is lowercase a.
What happens if the hex has an odd number of digits?
Digits are read in pairs, so the final single digit is copied into the result unchanged. An odd count usually means a digit was lost while copying.

Related tools

Embed this tool on your site

Paste it into any blog or website. Free, with a credit link.