DevTools Hub

Search tools

Search for a developer tool

Encoding

Hex Decode

Decode hex back to text — plain, JavaScript, JSON, HTML/XML, or SQL.

Part of the Encoding Toolkit
Text

Decoding hex from six sources

Pick the format the hex actually came from — a raw byte dump, a JavaScript or JSON string escape, an HTML/XML numeric character reference, or a SQL hex literal — and paste it as found. Whitespace and line breaks between values are ignored; a plain-hex or SQL value can also include 0x prefixes, spaces, colons, or dashes as separators and this strips them automatically.

JavaScript and JSON mode decode \x/\u escapes back to their original UTF-16 code units — this correctly reconstructs characters outside the Latin-1 range, including emoji represented as a surrogate pair across two \uHHHH sequences. HTML/XML mode decodes each &#xHH; reference as a full Unicode code point.

FAQ

Why does it say "odd number of hex digits"?

Every byte needs exactly two hex digits. An odd count means a digit is missing, or the value got truncated somewhere along the way — check that the whole string copied cleanly.

Can I mix formats in one input?

No — pick the mode that matches what you have. Plain hex mode is lenient about separators (spaces, colons, 0x prefixes) but still expects every value to be a byte pair, not a mix of raw hex and escape sequences.

Try it yourself

Go the other direction with Hex Encode, in any of the same six formats.

Related tools