Turn a hex dump or a string of hex digits back into a downloadable binary file
Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 17 Oct 2026.A hex dump pasted in a ticket, a firmware blob in a datasheet or a hex string from a log can be turned back into the real file. Paste an xxd dump with its address column, or plain hex digits with or without spaces, 0x prefixes and commas, and download the bytes. An odd number of digits or a stray letter is reported before anything is saved.
Paste or type your input.
Choose the options you need.
Press Ctrl+Enter, then copy or download.
Some questions can only be answered by looking at the bytes: is there a byte order mark at the start, which line ending does this file use, is this really a PNG, why does a string compare unequal. The xxd command answers them on Linux and macOS; this page gives the same answer in a browser, on any device, with nothing installed.
Hex to file. The reverse direction reads an xxd dump with its address column, or plain hex digits with spaces, 0x prefixes, \x escapes or commas, and gives the bytes back as a download. Addresses are respected, so a dump with gaps rebuilds with zero bytes in the gaps, as xxd -r does.
How it was checked. Ten test inputs, from an empty file to all 256 byte values and 1,000 random bytes, were dumped by the real xxd in 13 option sets, and all 130 outputs here are identical; each dump also reads back to the original bytes. Nothing you open leaves your browser.
The rest of the article, and all 6 questions about Hex Viewer (xxd online), are on the Hex Viewer (xxd online) page.
Open the file on this page: every byte appears as two hex digits, 16 to a line, with the offset on the left and the printable characters on the right, exactly as the xxd command prints them. Files up to 50 MB open, and nothing is uploaded, so private files are safe to inspect.
A dot stands for any byte that is not a printable ASCII character: line feeds (0a), tabs (09), zero bytes and every byte from 7f up, which includes the bytes of UTF-8 letters such as é or emoji. Look at the hex column to see which byte each dot really is.
Switch to Hex to file and paste the dump. An xxd dump with addresses is read by address, like xxd -r, and plain hex digits are read in order, ignoring spaces, commas, 0x prefixes and \x escapes. Download gives the rebuilt bytes as a .bin file you can rename.
No. The file is read by your browser and the dump is made in the page, so nothing is sent to a server or stored. That makes it safe for firmware, keys in test fixtures or any file you would rather not upload, and the page also works offline once loaded.
Rates and rules change; check the source before you rely on a figure.
Still stuck? Ask about Hex Viewer (xxd online) and anybody who knows can answer. No account needed.
On the related tools: Markdown to HTML – Convert Markdown into clean, safe HTML you can paste anywhere · JSON Validator – Check JSON and see exactly where it breaks.