Convert Hex to Text
Decode hex or hex-dump output (xxd, hexdump -C, Wireshark) to UTF-8 text. Non-printable handling, strict mode. Free, offline, 100% client-side.
- Runs in your browser
- Nothing uploaded
- Free, no sign-up
Decode hex bytes to UTF-8 text - with built-in hex-dump parser for xxd, hexdump -C, and Wireshark output. Paste raw hex or a full dump with offsets and ASCII sidebars; the tool strips the formatting and decodes automatically.
How to Use Convert Hex to Text
- Paste your hex. For raw hex (continuous digits, space/comma/colon separators, or
0xprefixes), keep the default "Raw hex" mode. For the output ofxxd,hexdump -C, or Wireshark copy-as-hex, switch to "Hex dump" mode. - In Hex dump mode, the tool strips the address offset (
00000000:) and the ASCII sidebar (the printable text after 2+ spaces or between|...|) automatically - you can paste the output of `xxd file` directly without editing. - Pick non-printable handling: Escape (
xNN, default, safest for inspection), Placeholder (·), or Raw (literal control chars - careful). - Toggle Strict UTF-8 if you want malformed byte sequences to fail instead of producing U+FFFD replacement characters.
- Press Convert (or Ctrl+Enter / Cmd+Enter). Auto-convert also runs 200 ms after keystrokes.
- Read the stats line. Raw mode shows bytes + chars + non-printable count. Hex-dump mode adds how many of the input lines successfully yielded hex bytes.
- Copy or Download: Copy places the decoded text on your clipboard; Download saves as a
.txtfile.
Frequently Asked Questions
How is this different from the “Hex to String” tool?
This one is UTF-8-focused and adds a hex-dump input mode that parses xxd, hexdump -C, and Wireshark copy-as-hex output directly – strip-offset, strip-sidebar is automatic. The hex-to-string tool has a full encoding selector (UTF-8, UTF-16, Latin-1, ASCII) but only accepts raw hex input. Pick this one when you’re pasting dump output; pick that one when you need non-UTF-8 decoding.
What hex-dump formats does it recognize?
Three common ones. xxd: 00000000: 4865 6c6c 6f20 576f 726c 640a Hello World. (offset + colon + hex groups + ASCII sidebar). hexdump -C: 00000000 48 65 6c 6c 6f |Hello| (offset + double-space + hex + pipe-wrapped sidebar). Wireshark Copy as Hex Stream: bare hex, handled by Raw mode. The parser is tolerant of variations – as long as a line starts with hex offset and the ASCII sidebar is separated by 2+ spaces or pipe characters.
How is multi-byte UTF-8 handled?
Correctly. The tool uses the browser’s native TextDecoder, which handles 1-byte ASCII, 2-byte Latin scripts (C3 A9 = “é”), 3-byte BMP chars (E2 98 83 = “☃”), and 4-byte supplementary-plane chars (F0 9F 98 80 = “😀”). An emoji that looks like a single character on screen may be 4 bytes in UTF-8.
What’s Strict UTF-8 mode for?
Validating the byte sequence before decoding. Strict mode errors on malformed UTF-8 (lone continuation bytes, overlong encodings, orphan high bytes) so you know the input is corrupt. Lenient mode (default) substitutes U+FFFD (�) for each invalid sequence and keeps going – useful for best-effort recovery.
Why would non-printable bytes show up?
Binary data often includes control bytes: x00 (null), x0A (newline), x1B (escape), x7F (DEL), etc. If you’re decoding a packet capture or a binary protocol payload, you’ll see these. Escape mode reveals them explicitly, Placeholder mode hides them under a dot, Raw mode emits the literal char (which can corrupt display if your terminal interprets them).
Can I paste a multi-line xxd dump directly?
Yes – that’s the primary use case for Hex dump mode. Paste the full output of xxd file.bin (all the lines with offsets), switch the Input mode to “Hex dump”, and the tool concatenates all the hex bytes across lines and decodes the whole file as UTF-8 text. Non-text files will decode to mostly escape sequences – expected behavior.
What if my hex has odd length?
Error: “hex must have even number of digits”. Every byte needs 2 hex digits; odd length is ambiguous. In Raw mode, check your input for accidentally-dropped digits. In Hex dump mode, this shouldn’t happen unless the dump itself is truncated mid-byte.
Does this decode binary files correctly?
It decodes the bytes as UTF-8 regardless of file type. For actual text files that’s fine. For images, binaries, or non-text data, the output will be mostly escape sequences or U+FFFD replacements – which is correct (that data simply isn’t UTF-8 text). Use a hex editor if you need to view binary structure, not this tool.
Is my hex data uploaded anywhere?
No. All decoding runs in your browser via the native TextDecoder API. No network requests, no server-side storage, no logs. Confirm in your browser’s Network tab: no outbound traffic during conversion. The tool works offline after the initial page load.
How do I reverse the conversion (text to hex)?
Use our “Text to Hex” or “String to Hex” converter. Or in code: [...new TextEncoder().encode(str)].map(b => b.toString(16).padStart(2, '0')).join(' ') in JavaScript. The round-trip is lossless for any valid UTF-8 text.
Related Tools
Convert Text to Hex →
Convert text to hex (UTF-8) and back with per-character breakdown. 4 separator formats. Free,…
Add Hex Numbers →
Add Hex Numbers instantly. Free, offline, client-side tool that outputs results in both hex…
ASCII to Hex Converter →
Convert ASCII to Hex - code points or UTF-8 bytes, space/comma/0x-prefixed, uppercase or lowercase.…
Base32 to Hex Converter →
Base32 to Hex Converter - pick separator, case, and prefix. Free, client-side, instant, offline,…
Base58 to Hex Converter →
Decode Bitcoin, Ripple, or Flickr Base58 strings to hex - with separator, case, and…
Base64 to Hex Decoder →
Decode Base64 to hex bytes - URL-safe variant, separator options, uppercase toggle, UTF-8 aware.…
BCD to Hex Converter →
Convert packed BCD to hexadecimal - decimal-value or nibble mode, BigInt precision, COMP-3 sign.…
Convert Decimal to Hex →
Convert decimal numbers to hexadecimal instantly, individually or in bulk. Free, client-side converter with…
Convert Gray Code to Hex →
Decode Gray code (reflected binary) to hex, decimal, or binary. Accepts binary or hex-packed…
Convert Hex to ASCII →
Decode hexadecimal bytes to ASCII text. Auto-detect separators, handle non-printable bytes four ways, batch…
Convert Hex to BCD →
Convert hex to Binary Coded Decimal - packed, unpacked, or COMP-3 with sign nibble.…
Convert Hex to Binary →
Convert hex to binary with nibble-accurate bit widths. 5 grouping modes, 0b prefix toggle,…