Hex to ASCII Text Converter

Decode hex to ASCII/UTF-8 text in your browser. Handles 0x, \x, colons and spaces between bytes. Free, private, nothing uploaded.

Hex inputpaste, type, or drop a file
Text output
Runs 100% in your browser. Nothing is uploaded, logged, or stored, and there are no ads. Verify it yourself: open your browser's Network tab while you convert and watch that no requests leave this page.

About this tool

Decode a string of hex bytes back into readable text. Common separators are stripped automatically: spaces, colons, commas, dashes, and 0x or \x prefixes all paste in as-is from packet captures, log lines, and language literals.

Bytes are decoded as UTF-8, which includes plain ASCII and also handles accented characters, emoji, and other multi-byte sequences correctly.

Common uses

  • Decode a hex dump from a network capture or proxy log.
  • Read a hex-encoded string literal copied from source code.
  • Inspect hex-encoded values from a database BLOB or Redis key.

Automate via API

The same conversion is available as a REST endpoint for scripts, pipelines, and backends:

curl -X POST https://payloadly.com/api/v1/tools/hex-to-text \
  -H "Content-Type: text/plain" \
  -H "X-Api-Key: YOUR_API_KEY" \
  --data-binary @input.txt

API documentation · Get an API key

Worked examples

Real payloads from tools people use daily, with the exact output this converter produces. Every example runs in your browser, so you can load one and adapt it to your own data.

Decode a hex payload from a packet capture

tcpdump and Wireshark show payload bytes as hex pairs; paste them straight in, separators and all, to read the request line.

Hex input
47 45 54 20 2f 61 70 69 2f 76 31 2f 74 6f 6f 6c 73 20 48 54 54 50 2f 31 2e 31
Text output
GET /api/v1/tools HTTP/1.1

Hex notes

Hexadecimal (base 16) uses the digits 0-9 and a-f, so one hex digit represents exactly four bits. It is the standard notation for memory addresses, byte dumps, color codes, and hashes.

  • Hex values are case-insensitive; 0xFF and 0xff are the same number.
  • A leading 0x prefix is a convention, not part of the value.
  • Each hex digit maps to exactly one 4-bit nibble, which is why hex-binary conversion is mechanical.

Frequently asked questions

Is my data uploaded to a server?

No. This tool runs entirely in your browser using JavaScript, and there are no ads on the page. Nothing you paste or drop here is uploaded, logged, or stored, and you can verify that yourself: open your browser's developer tools and watch the Network tab while you convert (no requests leave the page), or disconnect from the internet after the page loads and keep working.

Is this hex to ASCII or hex to UTF-8?

Both. ASCII is a strict subset of UTF-8, so every two-digit byte from 20 to 7e decodes to the same printable ASCII character either way. Bytes above 7f are interpreted as UTF-8 multi-byte sequences, which is what virtually every modern system emits.

Why am I seeing replacement characters in the output?

A byte sequence that is not valid UTF-8 decodes to the � replacement character. That usually means the data is binary rather than text, or the bytes were truncated mid-character. The hex is still valid; it just does not spell text.

Is there a size limit or a fee?

The browser tool is free with no signup and comfortably handles files up to tens of megabytes (limited by your device's memory). For automated or bulk processing inside your own scripts and pipelines, use the paid REST API.

Related tools