Hex Viewer & File Type Inspector

Drop in any file to find out what it actually is. The leading bytes are matched against a signature table and compared with the extension the file arrived under, data hiding past the format's end marker is flagged, entropy tells you whether the payload is packed, and the full hex dump is right there with an ASCII gutter. Nothing is uploaded.

Any format · local only

{{ error }}

Choose a file or drop it anywhere on this page

Any format, up to {{ maxSizeLabel }}. Executables, archives, images, databases, fonts and unrecognised blobs are all read the same way — as bytes.

About the Hex Viewer & File Inspector

A file extension is a hint, not a fact — it is part of the name, and anyone can change it. What a file is lives in its first few bytes. Almost every binary format opens with a fixed signature, often called magic bytes: %PDF- for PDF, \x89PNG\r\n\x1a\n for PNG, PK\x03\x04 for ZIP, MZ for a Windows executable, \x7fELF for a Linux one. This page matches those against a table and tells you when the answer disagrees with the name.

Some formats need a second look before the answer is useful. A .docx, .xlsx, .epub, .apk and .jar are all ZIP archives at byte zero, so a bare "ZIP archive" is technically right and practically useless — the entry names inside the archive are what separate them, and this page reads them. RIFF is a container shared by WebP, WAV and AVI, identified by the form type four bytes later. The ISO base media box (ftyp) covers MP4, MOV, HEIC and AVIF, told apart by their brand. And CA FE BA BE is claimed by both a Java class file and a Mach-O universal binary; the version field decides which.

Entropy measures how unpredictable the bytes are, on a scale of 0 to 8 bits per byte. Plain English text sits near 4.5. Compressed and encrypted data both crowd against 8, because both aim for output with no exploitable pattern left — which is why entropy tells you that something is packed but never which of the two it is. The useful signal is entropy that does not fit the format: a near-8 reading on a file claiming to be a document usually means the real payload is wrapped in something else.

Trailing data is the other thing worth knowing. Most formats declare where they end — PNG with an IEND chunk, JPEG with FF D9, ZIP with an end-of-central-directory record. Bytes after that point are invisible to the program that opens the file and are how polyglots work: one file that is simultaneously a valid image and a valid archive. Plenty of legitimate software appends data too, so this is a flag to investigate, not a verdict.

Related tools on this site pick up where this one stops: the Universal Decoder runs every decoder at once over a blob you cannot place, the Hash Generator covers more digests and HMAC, EXIF Inspector reads the metadata inside a photo, and GZip & Brotli Tool unpacks what a high-entropy stream is hiding.

Privacy: the file is read into memory in this tab and analysed there. There is no upload, no server call and no logging — the checksums, strings and hex you see were all computed on your machine, which is exactly why this works on files you would never send to a web service.