Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Hex Viewer & File Inspector

A private hex viewer for files of any size, with a data inspector and file-type detection.

Developer No upload Works offline Free, no sign-up

Next steps

About the Hex Viewer & File Inspector

Open any file and see its bytes the way a programmer does: offsets on the left, each byte as two hex digits, and the printable characters on the right. Files of any size open instantly — even disk images and videos of several gigabytes — because the page only ever reads the part you are looking at, in 64 KB pieces. Nothing is uploaded.

The page also tells you what the file really is. It reads the signature (“magic bytes”) at the start of the file — and, for formats that need it, the central directory of a ZIP, the brands of an MP4, the header of an executable — and recognises more than 150 types, from PNG, PDF and DOCX to ELF, Mach-O and Windows executables (with their CPU architecture), SQLite databases and disk images. If the name’s extension does not fit the content, you see a warning. Select a byte and the data inspector reads it as signed and unsigned integers up to 64 bits, half, single and double floats, characters, varints, Unix and Windows timestamps and GUIDs, in either byte order.

How to use it

  1. Choose or drop a file. Its detected type, media type and the evidence (which bytes matched) appear at the top.
  2. Scroll with the mouse wheel, by dragging on a touch screen, with the arrow and Page keys, or with the Position slider. Click a byte (or tap it) to put the cursor there.
  3. Type an offset under Go to — 0x1F0, 496, +16, end or 50% — and press Enter. Search for hex bytes (89 50 4E 47, with ?? for any byte) or text, forward or backward; the search wraps around once.
  4. Read the bytes at the cursor in the Data inspector, and switch between little- and big-endian.
  5. Select a range with Shift+click, Shift+arrows or the From and Length fields, then copy it as hex, a hex dump, a C array, Base64 or text, or save exactly those bytes as a new file.

Examples

A “photo” that is not a JPEG
Input
holiday.jpg
Result
Type: PNG image · 1920 × 1080 pixels · Recognised by bytes 0–7: 89 50 4E 47 0D 0A 1A 0A
The name ends in .jpg, but the content looks like a PNG image (usually .png).
Which CPU is this program for?
Input
tool (no extension)
Result
Type: ELF binary · 64-bit, little-endian, AArch64 (ARM64), shared object or position-independent executable
Reading a header field
Input
Cursor on bytes 40 E2 01 00
Result
uint32 (little-endian) 123456 · float32 1.72999e-40 · Unix time 1970-01-02 10:17:36 UTC

The same four bytes read big-endian are 0x40E20100 = 1088553216.

Common uses

  • Finding out what a file without an extension (or with a wrong one) really is before opening it.
  • Checking file headers, magic numbers and fields while writing or debugging a parser or file format.
  • Locating a string or byte pattern inside a firmware image, a save game or a memory dump.
  • Extracting a range of bytes (an embedded image, a header) into its own file.
  • Teaching how numbers, text and dates are stored as bytes, and what endianness means.

How file types are recognised

Most binary formats begin with a fixed signature: 89 50 4E 47 0D 0A 1A 0A for PNG, %PDF- for PDF, PK\x03\x04 for ZIP, 7F 45 4C 46 for ELF. Some put it elsewhere — ISO 9660 images have “CD001” at byte 32,769, TAR archives “ustar” at byte 257, Apple disk images a “koly” trailer at the end — so the page also reads those places. Container formats are looked into: a ZIP is reported as DOCX, XLSX, PPTX, EPUB, OpenDocument, JAR or APK from its entry names; an MP4-family file as MP4, MOV, M4A, HEIC or AVIF from its ftyp brands; ELF, PE and Mach-O executables with their word size, byte order and CPU. Files without a signature are checked for text (ASCII, UTF-8, UTF-16 with a byte order mark) and for common text formats such as HTML, SVG, XML, JSON, PEM and shell scripts.

Signatures follow the formats’ specifications and Gary Kessler’s File Signatures Table. A signature shows what a file claims to be, not that it is valid or safe.

Byte order (endianness)

A number longer than one byte can be stored with its least significant byte first (little-endian: x86, ARM in its usual mode, most file formats from the PC world, ZIP, PE) or most significant byte first (big-endian: network protocols, Java class files, PNG, many older formats). The bytes 01 00 are 1 as a little-endian 16-bit integer and 256 as a big-endian one. The inspector reads every multi-byte field in the order you choose; MS-DOS dates are always read little-endian, as ZIP and FAT store them.

Working with very large files

The browser gives the page a handle to your file, and the page asks only for the 64 KB pieces that are on screen (keeping the most recent 4 MB in memory). Jumping to end or 99% of a file of many gigabytes is as quick as viewing its start. A search reads the file from the cursor onward in 4 MB pieces and can be stopped at any time; how fast it goes depends on your device and storage. Saving a selection cuts that range out of the original file, so even gigabytes can be saved without copying them into memory first.

Limitations

  • This is a viewer: bytes cannot be edited or patched here.
  • Only the formats listed in the page’s signature table are recognised; anything else shows as unknown binary data or as text. A matching signature does not prove the rest of the file is valid.
  • The text column shows printable ASCII only (other bytes appear as dots). The data inspector decodes UTF-8 at the cursor.
  • Copying is limited to 1 MB per selection; larger ranges can be saved as a file.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

Is my file uploaded anywhere?

No. The file is read by your browser on your device, piece by piece, and nothing is sent to a server. The page works offline once it has loaded.

How do I find out what type a file really is?

Open it here and read the Type line at the top. It comes from the file’s content (its magic bytes), not from the name, and lists the bytes that matched. A warning appears when the extension suggests something else — a common sign of a mislabelled or disguised file.

Can it open very large files?

Yes. Files are never loaded completely: only the visible part is read, so multi-gigabyte files open as quickly as small ones. Searching a large file takes longer because every byte has to be read once.

Why are some characters shown as dots?

The text column shows only printable ASCII characters (codes 32–126). Control characters, bytes above 127 and the bytes of multi-byte UTF-8 characters appear as dots; put the cursor on a byte to see the UTF-8 character that starts there in the inspector.

What do the offsets mean?

The offset is the position of the first byte of each row, counted from 0 at the start of the file, in hexadecimal. Byte 0x10 is the 17th byte. The Go to field accepts hex (0x10 or 10h) and decimal (16).

Can I edit bytes and save the file?

Not here — the page is a viewer and never changes your file. You can save any selected range as a new file, and copy bytes as hex, a C array or Base64 to paste elsewhere.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.