Hex to Text Converter
Convert hexadecimal to readable text and text back to hex, with a byte-level view that tells you when the data is not text at all.
About these bytes
Import from File
Drag & drop a file here
or
Supports .txt, .csv, .log, .json and other text files
Conversion happens entirely in your browser. Nothing you paste is uploaded or stored anywhere.
What It Does
Hexadecimal is how raw bytes get written down when a person needs to read them. Every byte becomes exactly two characters from 0 to f, so a stream of bytes turns into a string you can print in a log, paste into a bug report or compare by eye. This tool converts in both directions: hex in and readable text out, or text in and hex out. What it adds beyond the conversion is an honest account of what those bytes actually are. Not every byte sequence is text, and a converter that hands back a screenful of replacement characters without explanation is not helping. This one checks whether the result is valid UTF-8, counts how much of it is printable, and recognises the signatures of common file formats — so when your hex is really a PNG or a gzip archive, it says so.
When to Use It
- A log file or packet capture recorded a payload as hex and you need to read what was actually sent.
- You are debugging an encoding problem and want to see the exact bytes behind text that looks correct but compares as different.
- An API returns a hex-encoded field and you need to confirm whether it contains text, binary data or something already encoded again.
- You want to check whether a file starts with the magic number you expect before trusting its extension.
- You need to produce a hex literal for a test fixture or a protocol definition from a known string.
Worked Examples
48656c6c6f2c20576f726c6421
Plain ASCII text with no separators. Each pair maps to one character — 48 is H, 65 is e — which is why hex is readable in a way Base64 never is.
de:ad:be:ef
Colon-separated, the format MAC addresses and packet dumps use. These four bytes are not valid text, so the tool reports them as binary rather than pretending otherwise.
89 50 4e 47 0d 0a 1a 0a
The first eight bytes of every PNG file, space-separated as a memory dump would show them. The tool recognises the signature and tells you this is an image rather than trying to render it as text.
Features
How to Use
1. Choose the direction you want — hex to text, or text to hex. 2. Paste your input into the box; formatting characters like colons and spaces are handled automatically. 3. The converted result appears immediately, with a note about what the bytes actually are. 4. For text to hex, use the formatting options to add separators or switch to uppercase. 5. Click Copy to take the result, or Clear to start again.
Common Mistakes
- Assuming every hex string decodes to words. Most bytes in the world are not text, and a garbled result usually means the data is genuinely binary rather than that the conversion failed.
- Dropping a leading zero. Printing a byte without padding turns 0f into f, which makes the whole string odd-length and shifts every byte after it if you paste it somewhere expecting pairs.
- Mixing up characters and bytes. In UTF-8 an accented letter is two bytes and an emoji is four, so a ten-character string is very often not twenty hex digits.
- Reading UTF-8 bytes as Latin-1. This is what produces the classic é where an é belongs — the bytes are correct and the interpretation is wrong.
- Forgetting an invisible byte-order mark. Three extra bytes at the start of a file are enough to break a checksum comparison or a string equality test while looking identical on screen.