View a file as a hex dump without uploading it
A hex view shows a file's actual bytes with the printable characters beside them. It is how you identify a file you do not recognise, which is exactly the kind of file that should not be sent anywhere.
At a glance
- Tool
- /tools/hex-viewer
- Input
- Any file at all
- Shows
- Byte offsets, hexadecimal values, and the printable characters alongside
- Main use
- Identifying a file from its leading bytes rather than its extension
- Also useful for
- Byte order marks, stray whitespace, and spotting truncation
- Large files
- Read using your own machine's memory, so inspect the ends rather than all of it
In detail
The argument for staying local is at its strongest on this page, because the whole reason to open a hex view is that you do not know what the file is. An unexpected attachment, a download that will not open, an export from a system nobody documented. Handing an unidentified file to a third party is a move nobody would make deliberately, and it is the default behaviour of any hosted viewer.
What you learn is usually immediate. The first few bytes of a file identify its real format regardless of what the extension claims, so a document that refuses to open turns out to be a renamed archive, or an error page that was saved with the wrong name, or a file that is empty apart from a few bytes of whitespace. A byte order mark at the start explains a surprising share of parser failures.
The end of the file is worth as much as the beginning. Many formats close with a recognisable structure, so a file that simply stops is a download that did not finish, which saves you from debugging the wrong problem entirely. Between the two ends, the printable column tells you quickly whether you are looking at text, compressed data, or something encrypted.
Confirm the file stayed put by opening it with the network disconnected: the bytes appear anyway. That is the point of doing this locally, and it also means you can inspect something you actively distrust without giving it any opportunity to be somewhere else.
Things that catch people out
- An extension is a label, not a fact. Trust the leading bytes over the file name.
- Identifying a file does not make it safe. Never open or run something you could not identify.
- Very large files are read into your own machine's memory. Inspect the start and the end rather than loading everything.
Try it: Hash Generator
The file hasher is on every page here because it takes any file at all and proves the point: disconnect from the network, drop a file in, and it still returns a checksum you can compare against a published one.
Hash Generator
LOCAL · Browser-OnlyGenerate MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, Keccak-256, CRC32, and HMAC hashes from text or files
MD5 is cryptographically broken and should not be used for security purposes. Use SHA-256 or SHA-512 instead.
Related Working without uploading
All working without uploading →Hash a file without uploading it
Checksum a file in your browser with SHA-256 and eight other algorithms. A hash proves the bytes match; it keeps nothing secret.
Base64 encode a file without uploading it
Encode files or text in your browser, with a URL-safe variant and line wrapping. Base64 is a transport encoding, never encryption.
Compare two files without uploading either of them
Diff two versions of a document or a config in your browser. A hosted comparison receives both files, which doubles the exposure.
Minify JavaScript without uploading your source
Minify scripts and stylesheets in your browser. Source carries comments, endpoints and internal names, and minifying is not obfuscation.
Decode a JWT without sending it to a website
Read and verify a token in your browser. A JWT is a live credential: pasting one into a hosted decoder hands over a working session.
Check a .env file without uploading your secrets
Find duplicate keys, mask values and generate a .env.example locally. A .env is nothing but credentials, so uploading one means rotating them.
Tools for this
- Hex Dump Viewer View hex dumps of files and text online - color-coded bytes, search, and ASCII representation
- Hash Generator Free online hash generator - generate MD5, SHA-1, SHA-256 hashes from any input text
- Base64 Encoder/Decoder Base64 encode and decode online - convert text to Base64 or decode Base64 strings instantly, free