Hex Decoder

Decode hex strings, byte dumps, and control characters into ASCII or UTF-8 text. Runs locally in your browser with no upload step.
100% Client-Side Converter Inputs Stay Local Instant Conversion No Signup

Use this hex decoder for byte dumps, protocol payloads, file headers, and escaped data. It accepts common hex formats and makes control characters such as 0A and 0D easier to identify.

Maximum decoded size: 1,000,000 bytes. Paste the hex byte column only; remove offsets and text gutters.

Hex Decoder Examples

Hex input Decoded result Meaning
89 50 4E 47 PNG signature The first four bytes of the standard eight-byte PNG signature.
25 50 44 46 %PDF File signature that identifies a PDF document.
47 45 54 20 2F 20 48 54 54 50 GET / HTTP Opening bytes of a captured HTTP request payload.
0x48 0x69 Hi 0x-prefixed bytes, common in code and debugger output.
0D 0A CRLF line break Carriage return + line feed pair marking a protocol line ending.

The examples above show common search and debugging cases: 48656C6C6F = Hello, 0A = line feed, and 0D = carriage return.

ASCII Character Map

Printable Characters (32–126)
Char Hex Dec Description
Space2032Space character
03048Digit zero
A4165Uppercase A
a6197Lowercase a
~7E126Tilde
Control Characters (0–31, 127)
Char Hex Dec Description
NUL000Null character
TAB099Horizontal tab
LF0A10Line feed, written as \n
CR0D13Carriage return, written as \r
DEL7F127Delete control character

How Hex to ASCII Works

1

Split into byte pairs

"48 65 6C 6C 6F"[48] [65] [6C] [6C] [6F]

2

Convert each to decimal

48₁₆ = 72₁₀, 65₁₆ = 101₁₀, …

3

Map to ASCII character

72 → 'H', 101 → 'e', 108 → 'l', 108 → 'l', 111 → 'o'

Result

"Hello"

What is Hexadecimal?

Hexadecimal (base-16) is a number system that uses 16 symbols: digits 0–9 and letters A–F. It's the standard way to represent binary data in a human-readable format because each hex digit maps exactly to 4 bits, making it compact and easy to convert mentally.

Base Name Digits Example (72)
2Binary0, 101001000
8Octal0–7110
10Decimal0–972
16Hexadecimal0–9, A–F48

Every time you look at a hex dump, a network packet, or a file header, you're seeing data encoded as hex. Converting it to readable ASCII text is one of the most common operations in debugging, data analysis, and reverse engineering.

Hex to ASCII Conversion Method

The conversion from hexadecimal to ASCII is mechanical and reversible:

  1. Split the hex string into byte pairs — each pair of hex digits represents one byte (8 bits)
  2. Convert each pair to decimal — multiply the first digit by 16, add the second: 4×16 + 8 = 72
  3. Look up the ASCII character — decimal 72 = 'H', 101 = 'e', 108 = 'l', 111 = 'o'
  4. Combine characters — the result is "Hello"

ASCII vs UTF-8

For values 0x00–0x7F, ASCII and UTF-8 produce identical results — UTF-8 is backward-compatible with ASCII. The difference appears above 0x7F: ASCII can't represent these values, while UTF-8 uses multi-byte sequences to encode over 1 million characters. Toggle between encodings in the format options above. If your decoded text shows up as garbled symbols like café, see our guide on decoding hex to UTF-8 text to fix the encoding mismatch.

Common Use Cases

  • Debugging network traffic — reading hex dumps from Wireshark or tcpdump to see the plaintext inside a packet
  • Reverse engineering — examining binary file headers and signatures (for example, 89 50 4E 47 begins the standard PNG signature)
  • Web development — inspecting byte sequences written as continuous hex, 0x48, or \x48 escapes
  • Cryptography — reading hash outputs, keys, and encrypted data that are conventionally printed in hex
  • Serial communication — interpreting UART/SPI/I2C data logs from embedded devices and microcontrollers
  • Database administration — viewing BLOB and binary column data dumped as hexadecimal

A typical workflow: you capture a payload, copy the hex, and paste it here to confirm what the bytes actually say. For example, the hex 47 45 54 20 2F 20 48 54 54 50 decodes to GET / HTTP — the opening of an HTTP request. If you regularly work with raw byte output, our guide on reading and converting hex dumps walks through xxd, hexdump, and identifying files by their signature. And because hexadecimal also describes colors on the web, the same base-16 you see here powers CSS values like #FF5733 — explained in how hex color codes work.

Decoding Byte Dumps, Payloads, and File Headers

A hex decoder earns its keep when you are staring at raw bytes and need to know what they say. Capture a packet in Wireshark, dump a file with xxd or hexdump, or copy a BLOB column out of a database, and you get hex — paste it above to see the plaintext hiding inside. The decoder normalizes spaced, continuous, colon-separated, and 0x-prefixed input automatically. Copy the hex byte column only; remove address offsets and the printable-text gutter first.

Reading magic bytes

The first bytes of a file identify its format more reliably than the extension does. Decode the first line of a dump and compare: 89 50 4E 47 marks a PNG, 25 50 44 46 decodes to %PDF, 50 4B 03 04 is a ZIP archive (also DOCX and JAR), and 7F 45 4C 46 is an ELF executable. Our walkthrough on reading and converting hex dumps covers offsets, the ASCII gutter, and a longer signature table.

Spotting control characters

Decoded payloads are full of bytes that do not print: 0A (line feed), 0D (carriage return), 09 (tab), and 00 (null). Use the non-printable option above to render them as escapes such as \x0A or Unicode code points so delimiters and terminators in a protocol stream stay visible instead of vanishing into whitespace.

Related Hex Conversion Pages

Guides & Tutorials

View all articles

Want to understand what happens behind the converter? These in-depth guides cover the mechanics of hexadecimal, ASCII, UTF-8, and reading raw byte data — with code examples you can copy.

Frequently Asked Questions

What is a hex decoder?
A hex decoder translates hexadecimal byte values back into the characters they represent. It is the standard way to inspect byte dumps, protocol payloads, file headers, and escaped strings as readable text.
How do I decode a hex dump from Wireshark, xxd, or hexdump?
Copy the hex byte column (without the offset and ASCII gutter) and paste it above. The decoder accepts spaced or continuous bytes and shows the plaintext hidden in the dump immediately.
Can the decoder handle 0x-prefixed or colon-separated bytes?
Yes. Inputs such as 0x48 0x69, 48:65:6C, comma-separated bytes, and continuous strings like 48656C6C6F are all normalized automatically before decoding.
How do I identify a file type from its hex signature?
Inspect the first bytes and compare the complete documented signature: 89 50 4E 47 begins a PNG signature, 25 50 44 46 is "%PDF", 50 4B 03 04 is a common ZIP local-file header, and 7F 45 4C 46 identifies ELF.
What do 0A and 0D mean in a decoded byte stream?
0A is the line feed (LF, \n) and 0D is the carriage return (CR, \r). The pair 0D 0A is the CRLF line ending used by Windows files and most internet protocols, so it marks line breaks inside payloads.
Is it safe to decode sensitive payloads with this hex decoder?
Conversion runs locally in your browser and pasted values are not uploaded or included in Analytics. Optional history is off by default; if you enable it, recent values are stored only in localStorage on that browser. Once the page has loaded, conversion does not require another network request.