Check if Image is JPG / JPEG Online

Check if Image is JPG whether the file is a real JPG / JPEG image - reads actual magic bytes, detects JFIF/Exif, dimensions, and baseline vs progressive. Free.

Drop a file in for a real magic-byte verdict: SOI/EOI, dimensions, JFIF / Exif, baseline vs progressive — the extension is ignored.

Click to upload or drag and drop

Any file — the tool reads the first 64 KB + last 2 bytes locally, regardless of extension

Details

First 14 bytes (hex)

A JPEG always starts with FF D8 FF (SOI marker) and ends with FF D9 (EOI). Everything in between is marker-segmented.

How to Use Check if Image is JPG / JPEG Online

  1. Drop any file onto the upload area. The extension is ignored - the tool reads the actual bytes, so a JPG saved as .png (or anything else) is still identified correctly.
  2. Read the verdict: green means JPG with encoding type, JFIF/Exif hints, and any "EOI missing" warning; amber means not a JPG with the reason shown.
  3. Scan the details card - dimensions from the SOF marker, bits per sample, channels, JFIF version if present, Exif presence, and whether the EOI trailer FF D9 is in the last two bytes.
  4. Eyeball the hex line: the first 14 bytes in uppercase hex. A real JPEG starts with FF D8 FF followed by an APPn marker like E0 (JFIF) or E1 (Exif).
  5. Press Ctrl+Enter (⌘+Enter on Mac) to re-run the check - handy after a re-save or rename.
  6. Copy the report to your clipboard or Download a timestamped `.txt` file that embeds the original filename.
  7. Note the EOI warning: a partial upload or truncated file will usually still have a valid SOI but lose the FF D9 terminator. The tool flags this explicitly.

Frequently asked questions

Is my file uploaded anywhere?

No. The check runs entirely in your browser. The tool reads the first 64 KB (for header + APP segments + SOF) plus the last 2 bytes (for EOI) via File.slice().arrayBuffer(). Nothing touches the network.

How does the tool detect JPG format?

It verifies the first three bytes are FF D8 FF (SOI marker + start of the next marker) and then walks the JPEG segment structure. A file without that prefix is not a JPG, regardless of its extension.

Is there a difference between JPG and JPEG?

No. JPG and JPEG are the same format. The “.jpg” extension exists because early Windows was limited to three-letter extensions; the bytes and decoders are identical.

Does it detect JPG files with wrong extensions?

Yes. That is the whole point. The tool reads real bytes, so a JPG renamed to photo.png is still correctly identified as JPG.

What if a file has a .jpg extension but isn’t JPG?

Correctly reported as “Not a JPG” – the tool never consults the extension or MIME type. Only the magic bytes and segment structure matter.

What do JFIF and Exif mean in the details card?

JFIF and Exif are metadata containers embedded in JPEG APP0 / APP1 segments. JFIF is the classic format marker from 1992; Exif is the richer metadata used by digital cameras. Most JPEGs today have one or both.

What’s baseline vs progressive?

Baseline JPEGs decode top-to-bottom in one pass (SOF0). Progressive JPEGs (SOF2) encode multiple scans that refine the image gradually – great for slow connections but a little heavier to decode.

Why does the tool report “EOI missing”?

Every valid JPEG ends with FF D9. If the last two bytes aren’t that, the file is probably truncated – for example, an incomplete download. The SOI can still be valid, so the file is reported as JPG with a warning.

Is there a file size limit?

No. Only the first 64 KB and the last 2 bytes are read, so the check is fast regardless of total file size.

Does it work offline?

After the page loads, yes. HTML, CSS, and JS are self-contained – disconnect Wi-Fi and keep checking files.