See any file as an xxd hex dump with offsets and text, or turn a hex dump back into a file
Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 17 Oct 2026.A hex viewer shows every byte of a file as two hex digits, with the offset on the left and the printable characters on the right. Open any file or type text and get the same dump the xxd command prints, in 4 layouts, or paste a dump to rebuild the file. All 130 test dumps match xxd exactly.
Open a file, or type text in the box, or press Try an example.
Read the dump: the offset, the bytes in hex and the printable characters on the right.
Change bytes per line or grouping, or switch to bits, plain hex or a C array.
Copy or download the dump, or switch to Hex to file to rebuild a file from a dump.
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.
Reading a dump. Each line starts with the offset of its first byte in hex, then the bytes in hex, then the same bytes as text, where anything that is not printable ASCII shows as a dot. So 00000000: 4865 6c6c 6f0a Hello. means the file starts with the five letters of Hello and a line feed (0a).
Four layouts, the same as xxd.
| Layout | xxd option | Use it for |
|---|---|---|
| Hex | (default), -c, -g, -u | Reading and comparing files |
| Bits | -b | Checking flags and bit fields |
| Plain hex | -p | Pasting bytes into another tool |
| C array | -i | Embedding a file in C or C++ source |
Bytes per line and bytes per group can be changed, from 1 to 256 per line, and hex letters can be capitals.
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.
Limits. Files up to 50 MB open here; the dump on screen shows the first 4,096 lines, and Copy and Download take the whole dump.
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.
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.
Open it and look at the first and last bytes. A UTF-8 byte order mark is ef bb bf at offset 00000000. Windows line endings show as 0d 0a at the end of each line, Unix endings as a single 0a, and old Mac files use 0d alone.
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.
Choose the C array layout and open the file. The result is an unsigned char array named after the file, 12 bytes per line, followed by an unsigned int holding the length, the same text xxd -i writes. Paste it into a header file and include it.
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.