Hex Viewer

Read any file byte by byte and find out what it really is from its signature.

The First Few Bytes Do Not Lie

A file extension is a suggestion. The bytes at the start of a file are what every program actually uses to decide what it is holding: 89 50 4E 47 means PNG, 25 50 44 46 means PDF, 50 4B 03 04 means a ZIP archive and therefore possibly a .docx, an .epub or a .jar. These signatures are why an image renamed to .pdf still opens as an image in most viewers.

This viewer reads the file in your browser, shows it as a conventional hex dump with the printable characters alongside, and tells you what the signature says. When the signature and the extension disagree it says so — which is usually either the whole explanation for a file that will not open, or the first sign that something is not what it claims.

Key features

  • Thirty signatures recognised — images, archives, documents, executables, fonts, media containers and databases.
  • Classic dump layout — offset, hex, and the printable characters, at 8, 16, 24 or 32 bytes a row.
  • Jump to any offset — useful when a header you need sits well into the file.
  • Says when the name and bytes disagree — with the cases that are normal, like a .docx that is really a ZIP, left alone.
  • Nothing is uploaded — which is the point, given what people inspect.
100% client-side — no data leaves your machine

This tool runs entirely inside your browser using native Web APIs. Your files and text are never uploaded to a server, never logged and never shared with third parties.

How to use: Hex Viewer

  1. Open any file
    Any type, any size your device can hold in memory.
  2. Read the summary
    Size, what the signature says it is, and whether it looks like text.
  3. Scroll or jump
    Change the offset to look at a particular part of the file.
  4. Save the dump if you need it
    Exported as a text file for a bug report or a note.

Technical specifications

Processing locationEntirely in your browser — no server round trip
Data uploadedNone. Files and text never leave your device
PriceFree — no account, no trial, no usage cap
CategoryDeveloper
Works offlineYes, once the page has loaded
Browser supportChrome 90+, Edge 90+, Firefox 90+, Safari 15+
Interface languagesEnglish, 中文, हिन्दी, Español, العربية

Frequently asked questions

What is a magic number?

A short, fixed sequence of bytes at the very start of a file that identifies its format. PNG uses eight bytes chosen partly to detect corruption in transfer; PDF uses the four characters %PDF. The Unix file command is essentially a very large table of them, and so is this tool on a smaller scale.

My .docx says it is a ZIP archive. Is it broken?

No — that is correct. Every modern Office document, and an .epub and a .jar, is a ZIP archive containing XML. The tool knows this case and does not flag it as a mismatch. Renaming one to .zip and opening it is a genuinely useful way to look inside.

What does "looks like text" mean?

It means the first few kilobytes contain no null bytes and are overwhelmingly printable characters, tabs and newlines — which is how most programs decide a file is text. A file with no recognised signature that looks like text is usually JSON, CSV, a config file or source code.

Can I edit the bytes?

No, this only reads. A byte editor that can silently corrupt a file is a different kind of tool and wants undo, verification and a great deal of care. For inspection, reading is the whole job.

Why would I check an upload's bytes?

Because the type a client declares can say anything. A server that accepts "image/png" because the request said so will happily store a file that is not an image. Reading the first bytes and checking them against your allowlist is the check that cannot be talked out of.

Related tools

Back to all tools