Hex to Text
Decode hexadecimal to text as real UTF-8 — multi-byte sequences become emoji and accented or CJK characters. Tolerant of 0x, \\x, spaces, colons and other separators. Live, with an xxd-style hex dump.
About this ToolHow it works, benefits & use casesTap to collapse
Paste a hexadecimal string and this decoder turns it back into readable text, interpreting the bytes as real UTF-8 rather than plain Latin-1. That means multi-byte sequences correctly become emoji, accented letters, and CJK characters instead of garbled output. It is deliberately tolerant of how hex is written: "0x" and "\x" prefixes, spaces, colons, commas, and other separators are stripped automatically, so you can paste a dump from almost any source without cleaning it up first. If the input has an odd number of hex digits the final stray nibble is dropped and flagged in a friendly notice, while the rest still decodes. A live byte count shows how many bytes were parsed, and an xxd-style hex dump panel renders the offset, hex columns, and an ASCII gutter so you can verify the bytes. One click swaps you over to the Text → Hex tool. Everything runs locally in your browser.
How to Use
- 1Paste your hex string into the input — formats like "48 65 6c", "0x48656c", or colon-separated bytes all work.
- 2Decoding runs live; read the decoded text and a byte-count readout as you type.
- 3Click "Convert to Text" to confirm, or "Load example" to see a sample with emoji and CJK bytes.
- 4Inspect the xxd-style hex dump below to verify offsets, byte columns, and the ASCII gutter.
- 5Copy or download the text, or click "Swap to Text → Hex" to reverse the conversion.
Key Benefits
- Decodes bytes as true UTF-8 so emoji, accents, and CJK come out correctly
- Tolerant input cleaning: strips 0x, \x, spaces, colons, commas, and other separators
- Handles an odd trailing nibble gracefully with a clear notice
- Live byte count of how many bytes were parsed
- Built-in xxd-style hex dump with offsets and an ASCII gutter
- One-click swap to the Text → Hex converter
- Runs entirely in-browser with a shareable URL
Common Use Cases
- Decoding a hex dump captured from a packet trace or binary log
- Reading the text content of a hex-encoded value from a database or config
- Verifying that a hex blob decodes to the expected UTF-8 string
- Inspecting raw bytes of a string while debugging an encoding bug
- Converting colon- or space-delimited hex pasted from another tool
0x, \x, spaces, colons, commas and other separators are cleaned automatically · live
Paste a hex string above to decode it.
Was this tool helpful?
Share Your Experience
Help others discover this tool!
Related tools
- HMAC GeneratorGenerate HMAC with various algorithms
- Color ConverterConvert between HEX, RGB, HSL, and HSV
- cURL to Code ConverterConvert cURL commands to code in various languages
- HTML to MarkdownConvert HTML to Markdown
- JSON to CSVConvert JSON to CSV format
- npm to Yarn ConverterConvert npm commands and package-lock.json to Yarn equivalents
Almost any. The decoder removes "0x", "\x", "u+", "%", and "#" token prefixes and every non-hex character — spaces, colons, commas, newlines, and other separators — before decoding. So "48656c6c6f", "48 65 6c 6c 6f", "0x48 0x65", and "48:65:6c" all decode to the same text.
The bytes are decoded as UTF-8, not Latin-1. A character like an emoji is several bytes in UTF-8, and this tool reassembles those bytes into the original character. A simpler hex-to-text converter that maps each byte to one character would instead show mojibake for anything beyond basic ASCII.

