Hex Decoder

Convert hexadecimal data back to readable text — paste, decode, and copy instantly.

Input Hex
Decoded Result
Decoded output will appear here...
info

About Hex Decoder

Hex Decoder is a free online tool that converts hexadecimal (base-16) strings back into human-readable text or other representations. Each hex pair corresponds to one byte, so the string "48 65 6C 6C 6F" decodes to the word "Hello". Hexadecimal notation is ubiquitous in software development, networking, and security: packet captures, memory dumps, file headers, certificate fingerprints, and API payloads all commonly use it to express raw binary data as readable ASCII digits.

Unlike tools that only handle plain continuous hex strings, this decoder accepts four distinct input formats — plain hex, 0x-prefixed tokens, space-separated pairs, and colon-separated notation — so you can paste data directly from a debugger, Wireshark, or a terminal hex dump without manually reformatting first. Five output tabs (Text, Binary, Decimal, Base64, and ASCII Codes) let you view the same decoded bytes in whichever representation your workflow requires. Three character encoding options (UTF-8, ASCII, and ISO-8859-1 / Latin-1) ensure that multi-byte and extended-Latin characters are reconstructed correctly rather than corrupted.

The entire decoding process runs in your browser using native JavaScript. No bytes from your input are uploaded, logged, or transmitted to any server, so it is safe to use with proprietary payloads, private key material, and confidential network captures. The tool is completely free and requires no account or installation.

star

Key Features

check_circle

Four input format modes

Accepts plain hex, 0x-prefixed tokens (e.g., 0x48 0x65), space-separated byte pairs, and colon-separated notation (e.g., 48:65:6C) — paste data straight from a debugger or hex dump without reformatting.

check_circle

Five output representations

View the decoded bytes as plain text, 8-bit binary, decimal integers, a Base64 string, or annotated ASCII codes — all from the same decode operation without re-entering data.

check_circle

Multi-encoding character support

Choose UTF-8, ASCII, or ISO-8859-1 (Latin-1) to correctly reconstruct multi-byte Unicode sequences or Western European extended characters that differ across encodings.

check_circle

Client-side only — no uploads

Decoding happens in your browser with no network requests. Packet payloads, memory snapshots, and key material stay on your device and are never sent to a server.

check_circle

Informative error reporting

If the input contains an invalid hex character or an odd-length plain hex string, a clear inline error message identifies the problem immediately rather than silently producing wrong output.

check_circle

One-click copy

Copy whichever output tab is currently active to the clipboard with a single button, ready to paste into a terminal, code comment, or report.

help

How to Use

01

Enter Hex Data

Paste your hexadecimal string into the input area.

02

Configure Options

Select the input format and character encoding as needed.

03

Decode & Copy

Click "Decode" to convert the hex to readable text, then copy the result in your preferred format.

code_blocks

Example

Plain hex "48656c6c6f2c20576f726c6421" is decoded byte-by-byte: 0x48 = H, 0x65 = e, 0x6c = l, 0x6c = l, 0x6f = o, 0x2c = comma, 0x20 = space, then "World!". The Text tab shows the reconstructed string; switching to Binary shows each byte as an 8-bit pattern.

Hex input (Plain Hex format)
48656c6c6f2c20576f726c6421
Decoded output (Text tab)
Hello, World!
lightbulb

Common Use Cases

  • arrow_circle_right

    Inspecting network packet payloads

    Wireshark and other packet analyzers display payload bytes as hex. Paste a payload string here to see the raw text, protocol fields, or binary content without writing a custom script.

  • arrow_circle_right

    Reversing hex-encoded API or database values

    Some APIs and databases store strings as hex blobs. Decode the value here to confirm what string it actually represents before writing a migration or fix.

  • arrow_circle_right

    Reading file format magic bytes and headers

    The first bytes of a file identify its type (e.g., PDF starts with 25 50 44 46). Paste the hex header to confirm the file type or find embedded metadata in a binary format.

  • arrow_circle_right

    Debugging hex-escaped source code strings

    Languages like Python, C, and Rust allow hex escape sequences in string literals. Decode a suspicious escape sequence to verify what character or control code it represents at runtime.

  • arrow_circle_right

    Verifying certificate fingerprints and MAC addresses

    TLS certificate fingerprints and MAC addresses are conventionally written as colon-separated hex pairs. Select the Colon Separated input format and the ASCII Codes output tab to cross-check values byte by byte.

quiz

Frequently Asked Questions

What is Hex Decoder? expand_more
Hex Decoder is a free online tool that converts hexadecimal (base-16) strings into readable text. Each pair of hex digits represents one byte — for example, "48 65 6C 6C 6F" decodes to the text "Hello". It is commonly used by developers, network engineers, and security analysts to inspect and interpret hex-encoded data.
What input formats are supported? expand_more
The tool supports four hex input formats: Plain Hex (continuous string like "48656c6c6f"), 0x Prefixed (values like "0x48 0x65 0x6C"), Spaced Hex (pairs separated by spaces like "48 65 6C"), and Colon Separated (pairs separated by colons like "48:65:6C"). Select the matching format from the dropdown before decoding.
What output formats are available? expand_more
The decoded data can be viewed in five formats: Text (the decoded human-readable string), Binary (8-bit binary representation of each byte), Decimal (numeric decimal value of each byte), Base64 (the bytes re-encoded as a Base64 string), and ASCII Codes (decimal value with the corresponding character label for each byte). Switch between them using the output tabs.
Is my data secure when using this tool? expand_more
Yes, completely. All hex decoding is performed locally in your web browser using JavaScript. No data is transmitted to any server, stored, or logged. Your hexadecimal input and decoded results remain entirely on your device, making it safe to use with sensitive or proprietary data.
How is Hex Decoder different from Hex Encoder? expand_more
Hex Encoder takes plain text and converts it into a hexadecimal string — the reverse operation. Use Hex Encoder when you need to represent a string or binary blob as hex characters for storage or transmission. Use Hex Decoder (this tool) when you already have a hex string and need to recover what it says. Think of Encoder as the "lock" and Decoder as the "key".
How is this different from Binary Decoder? expand_more
Binary Decoder accepts 0s and 1s (base-2 notation, e.g., "01001000 01100101") and converts them to text. Hex Decoder works with base-16 digit pairs (0-9 and A-F). Both represent the same underlying bytes, but hex is more compact — two hex digits equal eight binary digits. Use the tool that matches the format of your source data.
What happens if I enter an odd-length hex string in Plain mode? expand_more
An error message is shown immediately: "Hex string must have even length." Each byte requires exactly two hex digits, so a string with an odd number of characters is always malformed. You can fix it by either prepending a leading zero (e.g., "F" becomes "0F") or removing the extra character.
Can I decode UTF-8 multi-byte characters? expand_more
Yes. Select UTF-8 in the character encoding dropdown and the tool uses the browser TextDecoder API to correctly reconstruct multi-byte Unicode sequences. For example, the euro sign (U+20AC) is encoded as the three-byte sequence E2 82 AC in UTF-8, and this tool will display it as "€" rather than three garbled characters.