What is this file?

The first bytes don't lie. Read locally in your tab — nothing uploads.

Matching against 51 cited signatures — each one lives on its type's page with its source.

Why “sniffer”

MIME sniffing is the official term for what this page does: reading a file's first bytes to determine what it really is, instead of trusting the label. Browsers do it constantly — when a server sends the wrong Content-Type, the WHATWG's MIME Sniffing standard tells them exactly how to guess better.

Guessing has teeth, though: a browser that promotes an innocent-looking upload into executable HTML is a security hole. That is why the X-Content-Type-Options: nosniff header exists — a server's way of saying “no guessing, the label is law.” This page sniffs the honest way: locally, read-only, and it shows you the bytes it based the verdict on.

Signatures worth knowing

  • 89 50 4e 47 0d 0a 1a 0aimage/png

    The whole eight-byte header is an engineered tripwire: the high-bit first byte catches 7-bit email mangling, the CR-LF pair catches line-ending translation, and the 1a stops DOS's type command dead. If a PNG survived transfer, its signature proves it.

  • %PDF-application/pdf

    %PDF- — the file introduces itself by name, in printable ASCII, followed by its version. One of the few formats you can identify in a plain text editor.

  • 50 4b 03 04application/zip

    PK — the initials of Phil Katz, author of PKZIP. Half the formats on your disk (docx, xlsx, epub, apk, jar) secretly open with one programmer's monogram.

  • GIF8image/gif

    GIF8 — the version rides inside the signature: 87a came first, and 89a added the extension that made looping animation possible. The signature is why we know which one you have.

  • MZapplication/x-msdownload

    MZ — the initials of Mark Zbikowski, the Microsoft architect who designed the executable format. Every Windows .exe since MS-DOS has opened with his name.

  • 00 61 73 6dapplication/wasm

    00 61 73 6d — a null byte, then “asm”. WebAssembly says its name but leads with an unprintable byte on purpose, so no tool ever mistakes it for text.