Hex Dump Viewer
Paste text, hex or base64 and read it back as a hexdump with byte offsets, hex columns and an ASCII gutter.
Dump
| Offset | Hex | ASCII |
|---|---|---|
| 00000000 | 48 65 6c 6c 6f 2c 20 68 65 78 64 75 6d 70 21 0a | Hello, hexdump!. |
| 00000010 | 4f 66 66 73 65 74 73 2c 20 68 65 78 2c 20 61 6e | Offsets, hex, an |
| 00000020 | 64 20 41 53 43 49 49 20 e2 80 94 20 61 6c 6c 20 | d ASCII ... all |
| 00000030 | 69 6e 20 6f 6e 65 20 76 69 65 77 2e | in one view. |
What these bytes look like
File signature
No known magic number at offset 0. Text, JSON, CSV and raw buffers have none.
UTF-8
Every byte decodes as valid UTF-8, so this is almost certainly text.
Decoded: Hello, hexdump! Offsets, hex, and ASCII — all in one view.
Entropy is Shannon entropy in bits per byte, 0 to 8. Plain English lands around 4 to 4.5, source code slightly higher, and anything compressed or encrypted sits above 7.5 because every byte value appears about equally often. A low-entropy blob with a lot of null bytes is usually a struct dump or a sparse buffer.
Reading a hex dump
Every row is the same sixteen bytes shown three ways. The left column is the offset of the row from the start of the data - in hex by convention, so row boundaries land on round numbers like 0x10, 0x20, 0x30. The middle column is those bytes in hexadecimal, two digits each, with a gap at the halfway point so you can count to the eighth byte without moving your finger. The right column is the same bytes as printable ASCII.
To find the byte at a given offset, take the row whose label is the offset rounded down to a multiple of 16, then count across. Offset 0x25 is row 0x20, sixth byte. That arithmetic is the entire skill - once a structure's field offsets are known from its specification, a dump is a readable record.
The ASCII column exists because most binary formats have text in them: magic numbers, chunk names, tag identifiers, embedded filenames. Spotting IHDR in the ASCII gutter tells you a PNG header starts there far faster than reading the hex would.
Endianness in a dump
A dump prints bytes in storage order, which is not the order the number reads in. The four bytes 78 56 34 12 in a file are the 32-bit value 0x12345678 on any little-endian machine - x86, ARM in its usual configuration, RISC-V. Set Group to 4 and Word order to LE and the tool does that swap for you, which is the same thing xxd -e -g 4 does.
Network protocols are the other way round. TCP/IP headers, PNG chunk lengths and Java class files are all big-endian, so their multi-byte fields read straight off the dump with no swap. If a length field looks absurd - 0x00100000 where you expected 16 - you are almost certainly reading it with the wrong byte order.
Common magic numbers
| Bytes | ASCII | Format |
|---|---|---|
| 89 50 4E 47 | .PNG | PNG image |
| FF D8 FF | ... | JPEG image |
| 47 49 46 38 | GIF8 | GIF image |
| 25 50 44 46 | PDF document | |
| 50 4B 03 04 | PK.. | ZIP (also .docx, .jar, .apk) |
| 1F 8B | .. | gzip stream |
| 7F 45 4C 46 | .ELF | ELF executable |
| 4D 5A | MZ | Windows PE executable |
| CA FE BA BE | .... | Java class file |
| 52 49 46 46 | RIFF | RIFF (WAV / AVI / WebP) |
| 53 51 4C 69 | SQLi | SQLite database |
| EF BB BF | ... | UTF-8 byte order mark |
Code Examples
# canonical hex + ASCII
hexdump -C file.bin
# xxd equivalent, 16 bytes per line
xxd file.bin
# 4-byte little-endian words
xxd -e -g 4 file.bin
# only the first 64 bytes
xxd -l 64 file.binFrequently Asked Questions
What is a hex dump?
A hex dump prints raw bytes in three columns: the offset of the row within the data, the bytes themselves in hexadecimal, and the same bytes rendered as printable ASCII. It is how you read a binary file, a packet capture or a memory buffer without a specialised parser.
What layout does this use?
The same one as hexdump -C and xxd: an eight-digit hex offset, then the hex bytes with a gap at the halfway point of the row, then the ASCII rendering between pipes. Sixteen bytes per row is the default because it makes offsets line up on 0x10 boundaries.
Why are so many characters shown as dots?
Only bytes 0x20 to 0x7E are printable ASCII. Control characters, and every byte above 0x7E, are shown as a dot so the ASCII column stays exactly one character per byte and the alignment with the hex column holds.
Can I paste hex and get the text back?
Yes. Switch the input mode to Hex and paste any mix of 48 65 6C, 0x48,0x65, \x48\x65 or 48:65 - separators, 0x prefixes and \x escapes are all stripped. The ASCII gutter then shows you what those bytes decode to.
What is the entropy number?
Shannon entropy in bits per byte, from 0 to 8. English text sits around 4 to 4.5, source code a little higher, and compressed or encrypted data pushes past 7.5. It is a quick way to tell whether a blob is text, structured binary or already compressed.
How does file signature detection work?
Most formats start with a fixed magic number: 89 50 4E 47 for PNG, 25 50 44 46 for PDF, 7F 45 4C 46 for ELF, 50 4B 03 04 for anything zip-based including .docx and .apk. The viewer checks the leading bytes against a table of these signatures.
What does the endian grouping toggle do?
With grouping on, bytes are shown as 2, 4 or 8-byte words. Little-endian mode reverses the bytes within each group, so the four bytes 78 56 34 12 read as the 32-bit word 12345678 - the value an x86 or ARM CPU would actually load.
Is my data uploaded anywhere?
No. Everything is parsed and rendered in your browser with JavaScript. Nothing is sent to a server, which is the point of using a client-side dump viewer for anything sensitive.
Related Tools
Byte Converter
Convert between bytes, bits, kilobytes, megabytes, gigabytes, binary units, and related byte tools.
ASCII Table
Complete ASCII table with decimal, hexadecimal, octal, binary, and HTML entity values.
CRC Calculator
Compute CRC-8, CRC-16 and CRC-32 checksums with full control over the polynomial, seed, reflection and final XOR.
This tool runs entirely in your browser - nothing you enter is uploaded or stored.