Hex to ASCII: How to Read Hex as Text
Convert hex to ASCII correctly: decode byte pairs into text, read a hex dump's ASCII column, and avoid the UTF-8 mistake that garbles output.
Convert text to hex, or hex back to text, live as you type. Free, private — nothing leaves your device.
Your text converted to hex will appear here.The result updates instantly as you type — no button to click, no page reload.
Swap the output back into the input and flip the mode to check your work or reverse a conversion.
Emoji, accented letters, and non-Latin scripts encode and decode correctly, byte for byte.
Paste hex with spaces, commas, or 0x prefixes — they're stripped automatically before decoding.
Runs entirely in your browser. Nothing you type or paste is uploaded or stored.
Grab the result to your clipboard, or download it as a .txt file.
Switch to "Text → Hex" to encode, or "Hex → Text" to decode, then type or paste into the input box.
The conversion updates live as you type — lowercase, space-separated hex pairs one way, decoded UTF-8 text the other.
Grab the result with one click, download it as a .txt file, or hit swap to convert it right back and check your work.
Hex shows up anywhere raw bytes need a compact, readable form — debugging tools, network captures, and CS courses all use it. PixelTools converts between hex and text instantly, with no upload and no account needed.
Turn a raw byte dump from a debugger, memory inspector, or crash log back into readable text in seconds.
Decode hex-encoded bytes from a packet capture or API payload without installing a CLI tool.
Generate the exact hex byte sequence for a string you need to embed as a byte array or test payload.
See exactly how text maps to bytes and hex — a common early topic in CS and networking courses.
Hexadecimal is base 16 — it uses the digits 0-9 plus the letters a-f to represent a value, so every byte (0-255) fits in exactly two hex digits. It's the standard way to display raw byte data because it's far more compact than binary and easier to read in fixed-width pairs.
Your text is encoded as UTF-8 bytes first (the same encoding the web, most files, and most APIs use), then each byte is written as a two-digit lowercase hex pair separated by spaces — e.g. "hi" becomes "68 69".
Most often the hex string has an odd number of digits (each byte needs exactly two) or contains a character outside 0-9 and a-f. Spaces, commas, and 0x prefixes are stripped automatically, but a genuinely truncated or corrupted byte can't be guessed.
Yes. Because encoding goes through full UTF-8 rather than a single-byte ASCII table, multi-byte characters like emoji and accented letters round-trip correctly — they just take up more than one hex pair, exactly as they do on disk or over a network.
Yes — the decoder strips whitespace, commas, and 0x/0X prefixes before parsing, so "0x68, 0x69" and "68 69" and "6869" all decode the same way.
No. Everything runs entirely in your browser using JavaScript — nothing you type or paste is sent to a server.
Both represent the same underlying bytes — binary uses two symbols (0 and 1) so a byte needs 8 digits, while hex uses sixteen symbols (0-9, a-f) so the same byte fits in 2 digits. Hex is generally preferred for display because it's far more compact and easier to scan.
Convert hex to ASCII correctly: decode byte pairs into text, read a hex dump's ASCII column, and avoid the UTF-8 mistake that garbles output.
Learn how text becomes hex and back again — what the two-digit byte pairs mean, why UTF-8 matters, and the exact rules a hex decoder uses to catch bad input.
Base64 vs hex compared: size overhead (33% vs 100%), readability, a worked UTF-8 example, and a simple rule for which encoding to use.
A UUID is a 128-bit identifier random enough to treat as unique without checking a database. Here's how UUID v4 works and how to generate one.
Free, no account needed.