Hex to Text Converter

Paste hex byte pairs and get the text they spell, decoded as UTF-8.

    Going the other way? Use the text to hex converter.

    To convert hex to text, split the hex into two-digit pairs, convert each pair to its byte value, and look each value up in the character table. The pair 48 equals 72, which is capital H. Repeat for every pair and the message reads out in order.

    How it works

    Hex is a compact spelling of bytes. One byte is eight bits, and eight bits split evenly into two groups of four. Each group of four bits maps to exactly one hex digit, so every byte is always exactly two hex characters. That fixed width is why hex dumps line up so neatly and why decoding never involves guesswork about where a byte starts.

    Worked example. The hex string 48 65 6C 6C 6F holds five pairs. The first pair, 48, is 72 in decimal, and code 72 is capital H. The second, 65, is 101, which is lowercase e. The doubled 6C pairs decode to the double l, and the last pair gives o. Output: "Hello".

    The decoder treats your input as UTF-8, the encoding used by nearly everything modern. Plain English text decodes one byte per character. Accented letters and emoji arrive as multi-byte sequences, and the converter stitches them back into single characters instead of printing garbage. If a sequence is truncated or invalid, the diagnostics name the exact byte that broke so you can fix the input rather than squint at replacement characters.

    Case does not matter on this page: 6C and 6c are the same byte. Separators barely matter either. Paste bytes with spaces, commas, dashes, or as one unbroken run and the converter splits them correctly.

    The word "Hello" byte by byte

    CharacterHexDecimalBinary
    H487201001000
    e6510101100101
    l6C10801101100
    l6C10801101100
    o6F11101101111

    Repeated characters produce repeated pairs, which is a handy pattern to spot when you are reading hex by eye.

    FAQ

    How do I convert hex to text?

    Split the hex into two-digit pairs, convert each pair to its decimal value, and look each value up in the character table. The pair 48 is 72 in decimal, which is capital H. Decode 48 65 6C 6C 6F pair by pair and it spells "Hello".

    What separators does the converter accept?

    Spaces, commas, dashes, newlines, or nothing at all. A continuous run like 48656C6C6F gets split into pairs from the left. The one thing that fails is an odd number of digits, which means a character got cut in half, and the error message points at the leftover.

    Why do some bytes combine into one character?

    Because UTF-8 spells anything beyond the 128 ASCII characters with two to four bytes. An é is the pair C3 A9, and many emoji take four bytes. The decoder reads the lead byte, sees how many continuation bytes follow, and joins them into a single character.