Connect via MCP →

Enter Calculation

Enter hex bytes (spaces, commas or 0x prefixes are ignored)

Formula

Advertisement

Results

Decoded ASCII / Text
Hello
from hexadecimal
Bytes decoded 5

What is a Hex to ASCII Converter?

A Hex to ASCII converter turns hexadecimal numbers back into the readable text characters they represent. Computers store every character as a number, and hexadecimal (base 16) is a compact way to write those byte values. This tool reads your hex input, splits it into pairs of digits, converts each pair to its numeric value, and maps that value to a character — giving you the original text.

How to Use It

Paste or type your hexadecimal string into the box. You can separate bytes with spaces, commas, or write them as one continuous string — the tool also ignores any 0x prefixes. Press calculate and the decoded text appears instantly, along with a count of how many bytes were decoded.

The Formula Explained

Hex is base 16, so two hex digits represent one byte with a value from 0 to 255. For each pair p, we compute int(p, 16) to get the decimal code, then chr(code) to get the character.

$$\text{ASCII} = \bigsqcup_{k=0}^{n-1} \text{char}\Big(\,\text{hex}_{16}\big(\,\text{Hex Input}[2k\,..\,2k{+}1]\big)\Big)$$

For example, the pair 48 equals \(4\times16 + 8 = 72\), and character 72 is the capital letter H.

Diagram showing a hex string split into two-character byte pairs, each mapped to an ASCII character
Each pair of hex digits is converted to a number, then to its ASCII character.

Worked Example

Take the hex string 48 65 6C 6C 6F. Converting each pair: \(48\to72\to\text{"H"}\), \(65\to101\to\text{"e"}\), \(6C\to108\to\text{"l"}\), \(6C\to108\to\text{"l"}\), \(6F\to111\to\text{"o"}\). Joining them gives Hello.

FAQ

Do I need spaces between bytes? No. Spaces, commas and 0x prefixes are all optional and stripped automatically before decoding.

What if I enter an odd number of digits? The final unpaired digit is ignored, since a valid byte needs two hex digits.

Is uppercase or lowercase required? Either works — 6c and 6C decode identically.

Last updated: