Hex Dump Viewer
Inspect text or a small file as offset + hex bytes + printable ASCII, like xxd or hexdump -C.
Hex dump (14 bytes)
00000000 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0A |Hello, world!.|
All processing happens locally — file contents never leave your browser.
How to use
- Switch to text or file input.
- Pick 8, 16, or 32 bytes per row.
- Read off the hex columns and the ASCII gutter, then copy the dump if needed.
About this tool
ShowHide
Paste text or drop a file up to 64 KB and see it laid out the way xxd or hexdump -C would: an eight-digit hex offset, the bytes in hex, and an ASCII gutter between pipes in which printable characters appear as themselves and everything else as a dot. Choose 8, 16 or 32 bytes per row to match whatever you are comparing against. This is the view that answers the questions a text editor hides. A UTF-8 byte order mark shows up plainly as EF BB BF at offset zero; a Windows line ending reads as 0D 0A where a Unix one is a bare 0A; a stray non-breaking space, a zero-width character or a smart quote pasted from a word processor all become visible as the bytes they really are.
Frequently asked questions
Why is there a file size limit?
Rendering a hex dump in the browser is fast for tens of KB but bogs down past 1 MB. The 64 KB cap keeps the UI responsive — for bigger files, use xxd on the command line.
What encoding is the text input?
UTF-8. A character like é shows as two bytes (C3 A9) and ASCII letters are single bytes. If you need a specific encoding, paste pre-encoded bytes via the file input.
Why are non-printable bytes shown as .?
Same convention as xxd: bytes outside the printable ASCII range (0x20–0x7E) become . in the gutter so the alignment stays readable. The hex column still shows the exact byte.
Does this upload my file?
No. The file is read via the FileReader API and the dump is computed in your browser.
What can I tell from the first few bytes?
Usually the real file type, whatever the extension claims. PNG opens 89 50 4E 47 0D 0A 1A 0A with .PNG in the gutter; PDF is 25 50 44 46 2D, readable as %PDF-; anything built on ZIP — .docx, .xlsx, .jar, .apk — starts 50 4B 03 04 and shows PK; JPEG is FF D8 FF; WAV is 52 49 46 46, RIFF; Matroska and WebM open 1A 45 DF A3. A file whose header disagrees with its extension was renamed, not converted.
My JSON or CSV parser chokes on the first field — can this show why?
Almost always, and it is the same three bytes: EF BB BF at offset 0 is a UTF-8 byte-order mark. It is invisible in every text editor, but a parser that was not told to skip it reads it as part of the first key or the first column heading, which is why the error names a field that looks perfectly correct. FF FE or FE FF at offset 0 means the file is UTF-16, not UTF-8, and you will see a 00 between every ASCII letter in the dump.
Related tools
BSON Decoder & Extended JSON Viewer
Decode a MongoDB BSON file in your browser: every element type with its type byte, exact int64 and decimal128, and canonical or relaxed Extended JSON.
Developer
TZif Zoneinfo File Inspector
Open a compiled zoneinfo file in your browser: header, local time types, every transition, leap seconds and the POSIX TZ footer, parsed.
Time
ELF Binary Inspector
Open a Linux executable, .so or .o in your browser: architecture, shared libraries it needs, build ID, and whether it is PIE, NX and RELRO hardened.
File
ASCII Code Table
Browse and search the 256-row ASCII / extended-ASCII table — decimal, hex, octal, binary, and the named control characters.
Developer
Bitwise Calculator
AND, OR, XOR, NOT and bit shifts on two integers — shown in binary, hex, unsigned and signed decimal, with selectable 8, 16, 32 or 64-bit width.
Developer
.gitattributes Tester
Paste a .gitattributes and a list of paths to see every attribute git ends up setting on each path, and which line — or which macro — set it.
Developer