Boneyard Tools

JPEG Marker Inspector

Drop in a JPEG to see how it is built. This tool walks the file's marker segments and lists each one in order: the start of image, JFIF and EXIF headers, quantization and Huffman tables, the frame header, and the start of scan, along with every marker's byte offset and segment length. The file is read entirely in your browser and never uploaded.

How to inspect JPEG markers

  1. Drag a JPEG onto the box, or click browse to pick one.
  2. Read the table of markers, each with its name, hex code, offset, and length.
  3. Use the offsets to locate a segment, or confirm the file starts with a valid SOI.

Examples

A typical camera JPEG

photo.jpg (a JPEG with an EXIF block)
SOI, APP0/JFIF, APP1/EXIF, DQT, DHT, SOF0 (baseline), SOS (scan), each with offset and length

Frequently asked questions

Is my JPEG uploaded anywhere?

No. The file is read and parsed entirely in your browser using JavaScript. Nothing is sent to a server, so even private images stay on your device.

How does it work?

A JPEG is a stream of marker segments. Each marker is the byte 0xFF followed by a type byte. Most markers carry a 2-byte big-endian length, while standalone markers like SOI, EOI, and the restart markers carry none. The tool walks these segments from the start until it reaches the start of scan.

What is SOS and why does the list stop there?

SOS (start of scan, marker FFDA) is followed by the entropy-coded image data, which is not organized into markers. The tool records the SOS marker and stops, because scanning raw image bytes for 0xFF would produce false markers.

What do APP0 and APP1 mean?

APP0 (FFE0) usually holds the JFIF header, and APP1 (FFE1) usually holds the EXIF metadata block with camera and GPS details. Markers FFE2 through FFEF are additional application segments shown as APPn.

What if the file is not a JPEG?

Every JPEG must begin with the SOI signature FFD8. If the file does not start with those bytes, the tool marks it as not a valid JPEG and lists no markers.

Related tools