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, Ctrl+V to paste, oror
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.