JPEG Structure Analyzer

Parses the binary structure of a JPEG file — reading every marker, quantization table, and application segment. Estimates compression quality, detects encoding type, and fingerprints the software that created the image.

500+ images analyzed

Drag & drop a file here, or

JPG JPEG JFIF Max 50MB • Processed in browser • JPEG only

Quantization Tables

Every JPEG stores 8×8 quantization tables that control compression per frequency band. Lower values = higher quality. The table signature often reveals the creating software.

Marker Inspection

JPEG files are structured as a sequence of marker segments. APP0 carries JFIF headers, APP1 carries EXIF/XMP, APP13 carries Photoshop data. Each tells a story about the file's history.

100% Private

All parsing runs locally in your browser. The file is read with the File API and never leaves your device. Nothing is uploaded to any server.

How JPEG structure analysis works

Every JPEG file is a sequence of marker segments, each prefixed by a 0xFF byte. The analyzer reads the raw binary, identifies each marker, extracts the segment payload, and decodes the quantization and Huffman tables embedded in DQT and DHT segments. Quality is estimated by comparing extracted quantization table values against the IJG standard tables scaled across the quality range 1–100. The closest match determines the quality estimate. For compression artifact analysis across image regions, combine with the ELA Scanner. For full metadata inspection, use the EXIF Checker.

Encoder fingerprinting via quantization tables

Different encoders use different quantization table formulas. Adobe Photoshop uses its own non-standard tables; the Photoshop IRB marker (APP13) is a direct signal. Camera manufacturers often embed vendor-specific tables that differ from the IJG defaults. Web services like Facebook, Twitter, and Instagram apply their own compression profiles. Comment fields frequently contain software names. Combined with APP segment analysis, this creates a reasonably reliable encoder fingerprint. For double-compression artifact detection, see the JPEG Ghost Scanner. For DCT coefficient visualization, use the DCT Viewer.

Baseline vs progressive encoding

Baseline JPEG (SOF0) stores coefficients in a single top-to-bottom scan — the default for cameras and most image editors. Progressive JPEG (SOF2) encodes the image in multiple passes, each adding detail, which produces smaller file sizes and a gradual loading effect in browsers. Progressive encoding is a strong indicator that an image was web-optimized or processed by an online service. An image claimed to be a direct camera capture but encoded as progressive JPEG warrants closer examination. Check the image's claimed origin against the Authenticity Checker. For metadata provenance, use the EXIF Viewer.

What forensic analysts look for

Investigators use JPEG structure analysis to detect re-saves (quality degradation relative to claimed source), software substitution (camera EXIF with Photoshop tables), and file tampering (APP segments present that shouldn't be for the claimed workflow). A camera image with a Photoshop IRB segment was opened in Photoshop. A low quality estimate on an image claimed to be original is suspicious. JFIF-only images with no EXIF are often screenshots or web exports. For steganographic hidden data, run the Stego Scanner. For thumbnail embedding mismatches, try the Thumbnail Scanner.

JPEG structure analysis is one layer in a complete forensic workflow. The structure tells you how the file was encoded and with what software, but not whether content was manipulated. Combine it with Noise Analysis for retouching detection, Clone Detection for copy-paste forgery, and ELA for compression inconsistencies. All processing runs entirely in your browser — your image never leaves your device. For a complete forensics toolkit, visit the photo forensics hub. To extract readable text and URLs embedded in file bytes, use the String Extractor. Learn more in our articles on JPEG compression artifacts and JPEG ghost analysis.

Frequently Asked Questions

What does a JPEG structure analyzer do?

It reads the raw binary of a JPEG file and identifies every marker segment — SOI, APP markers, quantization tables (DQT), Huffman tables (DHT), start-of-frame (SOF), and end of image (EOI). It then decodes those segments to report encoding type, compression quality, color space, chroma subsampling, and encoder fingerprints without modifying the file.

How is the JPEG quality percentage calculated?

The quality estimate compares your image's quantization table values against the standard IJG/libjpeg tables scaled across quality levels 1–100. The quality setting that produces the closest match to your table becomes the estimate. The result is an approximation — non-standard tables (Adobe Photoshop, camera vendors) may land a few points off the true encoder setting, but the estimate is usually accurate within 1–3%.

What is the difference between Baseline and Progressive JPEG?

Baseline JPEG (SOF0) encodes the image in a single scan from top to bottom — the standard for cameras and image editors. Progressive JPEG (SOF2) encodes the image in multiple passes, each increasing detail. Progressive encoding results in slightly smaller files and is common in web-optimized images, screenshots, and files processed by online services. A camera image encoded as progressive is often a sign it passed through a web service.

What is the Photoshop IRB marker (APP13)?

APP13 is an application segment used by Adobe software to store the Image Resource Block (IRB) — Photoshop's internal metadata including layer information, slices, print settings, and history. Its presence is a reliable indicator that the image was opened or saved in Photoshop or Lightroom, even if EXIF data claims otherwise. It does not indicate manipulation by itself, but it is a useful origin signal.

Why would a JPEG have both JFIF and EXIF segments?

JFIF (APP0) and EXIF (APP1) are technically incompatible — the JPEG specification only allows one or the other in the first APP slot. In practice, many encoders write both: cameras produce EXIF-only, then software that re-saves the image may prepend a JFIF header. An image with both markers was almost certainly opened and re-saved in software that normalizes JPEG output, such as image editing applications or web services.

Does this tool work on non-JPEG files?

No. JPEG structure analysis is specific to the JPEG/JFIF container format and its marker-based binary structure. PNG, WebP, HEIC, and other formats have completely different structures with no JPEG markers or quantization tables. For metadata across all image types, use the EXIF Checker. For bit-level hidden data analysis, the Stego Scanner and Bit Plane Analyzer work on most image formats.