Hex to text converter
Runs entirely in your browser. Your files and data never leave your device.
About this tool
A hex to text converter turns readable text into its raw hexadecimal byte representation, and back again. Type “Hi” and you get 48 69; paste 48 69 and you get “Hi” back. It uses UTF-8 encoding, the same scheme the web runs on, so multi-byte characters like emoji or Japanese kana turn into the right sequence of bytes instead of garbled output.
What formatting options do I have when converting to hex?
You can choose how the hex comes out: separated by spaces or packed together with no separator, with a 0x prefix on every byte or without one, and in uppercase or lowercase letters. These are independent settings, so you can mix and match to match whatever format a spec, log file, or another tool expects, like 0x48 0x69 or 4869 or 48-69 style variants.
What happens if I paste hex that isn’t valid?
Going the other direction, from hex back to text, the parser is forgiving about formatting: it strips whitespace and 0x prefixes and accepts mixed-case input, so you don’t need to clean up pasted hex by hand first. It’s strict about correctness, though. Hex with an odd number of digits can’t represent whole bytes, so that’s rejected, and bytes that don’t decode as valid UTF-8 are rejected too rather than silently turned into replacement characters or garbage text. Either way you get a clear error instead of a wrong answer.
Does the text I paste in leave my computer?
No. The conversion in both directions runs entirely in your browser using the same encoding APIs any web page uses, so nothing you paste in ever leaves your machine.
This is handy for reading raw bytes from a network capture, debugging a serial or Bluetooth device that sends data as hex, or checking what a string of hex from an API response or config file actually says. See MDN’s guide to TextEncoder for how the browser turns strings into UTF-8 bytes, or Wikipedia’s hexadecimal article for background on the number system.