Hex to ASCII Converter Online Free

Paste a hexadecimal string to decode it to text, or text to encode it to hex — with correct UTF-8 handling for accented letters, symbols and emoji, not just the original 128 ASCII characters. Runs entirely in your browser.
Hex ⇄ Text · UTF-8 Correct · Free · Works Offline

Input HEX
0 chars
Output TEXT
0 chars

How It Works

1. Paste Input

Paste your hex string or text. Spaces, 0x prefixes and commas are all handled.

2. Choose Direction

Click Hex → Text or Text → Hex — the tool never guesses silently.

3. Convert Locally

Runs entirely in your browser using proper UTF-8 encoding — nothing is sent anywhere.

4. Copy Result

Copy the output, or hit Swap to flip the panels and convert back.

What Is a Hex to ASCII Converter?

A hex to ASCII converter translates hexadecimal byte values into text characters, and back again. Historically "ASCII" meant only the first 128 character codes, but modern text — accented letters, currency symbols, emoji — is encoded as UTF-8, where a single character can take one to four bytes. This tool converts using UTF-8 throughout, so it handles both the classic ASCII case and everything beyond it correctly.

Why this matters

A naive converter maps one JavaScript character straight to one hex byte. That happens to work for plain English text, but it silently produces the wrong bytes for anything else: an accented letter like é is really two UTF-8 bytes (C3 A9), not one, and an emoji is four bytes split across a JavaScript surrogate pair — mapping it byte-for-byte corrupts every character after it in the string. This tool encodes and decodes with the browser's built-in UTF-8 codec, so the hex it produces matches what you'd get from xxd, a hex editor, or any standard programming language.

ASCII Reference Table

CharacterDecimalHexDescription
A6541Uppercase letter A
a9761Lowercase letter a
04830Digit zero
Space3220Space character
!3321Exclamation mark
Newline100ALine feed (LF)
é—C3 A9Two UTF-8 bytes, not one
😀—F0 9F 98 80Four UTF-8 bytes

Try the sample buttons above, or paste 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 (decodes to "Hello World!") to see the encoding direction.

Supported Hex Input Formats

Output options

Common Uses

Frequently Asked Questions

It translates hexadecimal byte values into text characters and back. Each pair of hex digits is one byte — 48 decodes to H, 65 to e. This tool decodes using UTF-8, so it correctly handles accented letters, symbols and emoji, not just the original 128 ASCII characters.
Yes. Text is encoded and decoded as UTF-8. A character like é becomes two bytes (C3 A9) and an emoji becomes four, matching a standard hex dump or any mainstream programming language. A naive one-character-to-one-byte mapping gets this wrong for anything outside plain ASCII.
Paste your hex string — with or without spaces, a 0x prefix, or commas — and click Hex → Text. Separators are stripped, the digits are grouped into byte pairs, and the bytes are decoded as UTF-8.
Space-separated, continuous, 0x-prefixed, comma-separated, and mixed case — the parser strips anything that isn't a hex digit before decoding.
Because it can't do so reliably. A word made only of the letters a–f — "face", "decade", "ABBA" — is technically valid hex, so an automatic guess will occasionally decode a plain English word into garbage without telling you. Live convert instead asks you to pick the direction once, then updates as you type in that direction.
All conversion runs locally in your browser. Nothing is transmitted, stored, or shared, and it keeps working offline once the page has loaded.