Skip to content
rusthacks.dev
Tooling

Hex Viewer

View text or any file as a hex dump with offsets, hex bytes and an ASCII column, like hexdump -C, and page through large files 4 KiB at a time.

Free · No sign-up · Your inputs stay in your browser

Input

View bytes as a hex dump

Output

hexdump -C

34 bytes shown

The same layout as hexdump -C and xxd: offset, sixteen bytes in hex, then the printable ASCII with a dot for everything else. It is the quickest way to see a BOM (ef bb bf), Windows line endings (0d 0a), a non-breaking space (c2 a0) or the multi-byte UTF-8 hiding inside text that looks plain.

Runs in this browser. Nothing you paste is sent to a server.

What hex dumps reveal

Invisible differences become visible: a UTF-8 byte order mark (ef bb bf) at the start of a script, Windows line endings (0d 0a), a non-breaking space (c2 a0) that broke a YAML file, a file truncated mid-way, or the magic bytes of a format. Comparing two dumps shows exactly where two "identical" files differ.

On the command line

xxd file | head and hexdump -C file | head print the same view; xxd -r turns a dump back into bytes, which makes small binary edits possible.

Share

Frequently asked questions

How do I find a BOM in a file?
Look at the first three bytes: ef bb bf is a UTF-8 BOM, ff fe or fe ff a UTF-16 one.
Is my file uploaded?
No. It is read in 4 KiB slices in the browser.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Go deeper

Suggested reading

Flat illustration for the post “Rust Error Connection Refused From Reqwest and Sockets”, composed around errors.
Tooling

Rust Error Connection Refused From Reqwest and Sockets

Connection refused means nothing was listening at that address and port. Check the bind address, localhost versus 127.0.0.1, containers and Docker networks, startup order and the wrong port, with commands for each.

4 min read

Keep planning

Similar tools