Photo Forensics Studio — Image Manipulation Detection & Analysis

Last updated:

Free photo forensics software that runs in your browser: error level analysis, JPEG ghost sweep, copy-move clone detection, noise and gradient maps, bit-plane analysis, full EXIF/XMP/IPTC metadata with C2PA detection, SHA-256 hashes and an exportable evidence report. Batch several exhibits, label them for a case, and nothing ever leaves your device.

How can you tell if a photo has been edited? Photo Forensics Studio runs seven independent passes — error level analysis, JPEG ghost sweep, copy-move clone detection, noise variance, gradient direction, bit-plane/LSB statistics and an EXIF-thumbnail comparison — plus a full metadata and file-structure audit, and tells you in plain language which regions the methods agree on. No single method is proof; the tool reports each as no signal, weak or notable and lets you export the whole examination as a hashed evidence report. Everything runs locally; the file is never uploaded.

🔬
Photo Forensics Studio

Seven forensic passes, a metadata audit, file hashes and an evidence report — free, no account, nothing uploaded. Drop one image or a whole batch.

🔒 100% Client-Side — Your images never leave your device
⚡Error Level AnalysisELA
👻JPEG Ghost Sweep
🔍Copy-Move / Clone Detection
📡Noise Variance Map
💡Gradient Direction
🧮Bit Planes + χ² LSB
🖼️EXIF Thumbnail Check
🏷️EXIF · XMP · IPTC · C2PA
#️⃣SHA-256 · SHA-1 · MD5
📄Evidence Report (PDF/JSON)
✔ Free✔ No account✔ Nothing uploaded — all analysis runs in this tab✔ Works offline after first load✔ Unlimited files
Exhibit details (optional — printed on the report)
🔬 Drop one or more images here, or click to choose
JPEG, PNG, WebP, GIF, BMP, HEIC/AVIF (if your browser decodes them) and RAW (DNG, CR2, NEF, ARW, PEF, ORF, RW2, RAF — metadata + embedded preview)
Options

Engine loads with the page — no download step. Drop an image to begin.

How to read the verdicts: no signal = the method found nothing unusual; weak = something to look at, usually explained by content (edges, text, sky); notable = a coherent region behaves differently from the rest of the image. A conclusion needs two or more independent methods agreeing on the same region. Full method descriptions, parameters and limitations: forensics methods & limitations. Changelog: v2.0.0.

Photo Forensics Software for OSINT, Journalism & Digital Investigation

Photo Forensics Studio is free photo forensics software that runs entirely in your browser. It combines the pixel-level methods used in professional image authentication — error level analysis, JPEG ghost detection, copy-move (clone) detection, noise-variance mapping and bit-plane statistics — with a full audit of the file itself: EXIF, GPS, XMP edit history, IPTC, ICC profile, JPEG quantization tables and quality estimate, C2PA / Content Credentials presence, trailing data and embedded thumbnails. Every exhibit is hashed (SHA-256, SHA-1, MD5) over its original bytes before anything is decoded, and the whole examination can be exported as a printable evidence report with the parameters of every method, so a second examiner can reproduce it. The methods follow the practice described by the Scientific Working Group on Digital Evidence (SWGDE) for image authentication: multiple independent techniques, documented parameters, and conclusions drawn only where methods agree.

Detection methods at a glance

MethodWhat it detectsHow it is computed hereKnown limits
Error Level AnalysisRegions that re-compress differently from the rest: splices, local edits, pasted elements from lower-quality sourcesRe-save at the chosen JPEG quality (default 75), map the absolute difference; 16 px block errors are normalised by each block's edge content and flagged beyond 6 MAD above the median (or far below it, for pre-compressed pasted content); a verdict needs a contiguous clusterEdges and text are naturally bright; heavy recompression, resizing and screenshots erase the signal
JPEG ghost sweepContent that carries an earlier JPEG compression history different from the file's own (copy-pasted from another JPEG)Re-save at qualities 40–100 in steps of 5 at native resolution; a block whose error dips at a quality other than the file's own quantization-table quality is a ghost; the quality forming the largest cluster is reportedPasted regions smaller than ~200 px or not aligned to the 8×8 grid are often missed; PNG/WebP sources have no own-quality reference
Copy-move (clone) detectionA region duplicated elsewhere in the same image (clone stamp, healing brush, object removal)16 px blocks every 4 px, brightness-normalised 4×4 mean features, lexicographic neighbour matching, offset voting; an offset counts when ≥20 pairs agree (scaled with image size), the shift is ≥32 px and the source blocks form a coherent regionRepeating textures (brick, tiles, text) can match legitimately; rotated or rescaled clones are not matched
Noise variance mapRegions whose sensor-noise level differs from the rest: spliced content, generative fill, local denoise or blurResidual against the 8-neighbour mean per 8 px block; the noise floor is estimated on low-texture blocks only and outliers beyond ±3.5 MAD are clusteredSkies and shadows are naturally smooth; a near-zero floor means a rendered, upscaled or AI-generated image and is reported as such
Luminance gradientInconsistent lighting direction between an object and its sceneSobel-style gradient; direction mapped to hue, magnitude to brightnessVisual aid only; not scored
Bit planes + chi-squareSequential LSB steganography; unnatural low-bit structureLSB planes of R,G,B shown; Westfeld–Pfitzmann pairs-of-values chi-square on the blue channelMeaningful only for lossless formats; JPEG decoding destroys LSB payloads
EXIF thumbnail checkEditing after capture; metadata transplanted from another photoEmbedded EXIF thumbnail correlated with the downscaled image (flag below 0.95, notable below 0.85)Some cameras and transfer tools write a differently processed thumbnail
Metadata & structure auditEditor signatures, re-saves, generative-AI markers, stripped EXIF, resized images, appended dataEXIF IFD0/ExifIFD/GPS/IFD1, XMP (CreatorTool, dates, xmpMM:History, IPTC digital source type), IPTC, ICC, JPEG quantization tables → quality and IJG-standard check, progressive flag, subsampling, APP markers, COM, bytes after EOI, C2PA/JUMBF presenceMetadata is trivially editable; its absence proves nothing

How Do You Tell If a Photo Has Been Edited?

No single test proves manipulation. Error Level Analysis, first described by Dr. Neal Krawetz at the Black Hat Briefings, exposes regions that respond differently to re-compression; JPEG ghost analysis (Farid, 2009) finds content that was saved at a different quality before it was pasted in; copy-move detection finds duplicated blocks; noise analysis finds regions with a foreign noise floor. The studio runs all of them and reports each one as no signal, weak or notable with the numbers behind the call. The question to ask is whether two or more independent methods point at the same region, and whether that region coincides with an object rather than with edges, text or sky. The metadata audit then tells you how the file got here: which software last wrote it, whether its EXIF dimensions still match the pixels, whether it carries an XMP edit history or a generative-AI source-type tag, and whether a C2PA manifest is present.

What Does Metadata Reveal About a Photo?

EXIF records the camera make and model, lens, exposure, capture time and often GPS position; XMP records the editing software and, in xmpMM:History, every save step; IPTC carries captions and credits. The studio decodes all three, converts GPS to decimal coordinates, and cross-checks them: a DateTimeOriginal that differs from ModifyDate, EXIF dimensions that differ from the actual pixels, a progressive JPEG (cameras write baseline), 4:4:4 chroma subsampling, non-standard quantization tables or an editor's name in the Software tag each tell part of the story. It also reads the JPEG container itself: estimated save quality from the quantization tables, APP markers (Adobe, Photoshop IRB, ICC), comment segments, embedded JPEG headers and any bytes appended after the end-of-image marker.

Can This Tool Detect AI-Generated Images?

Partly, and honestly: there is no reliable pixel-level detector for modern diffusion models, and this tool does not pretend to be one. What it does check is what generators and their pipelines leave behind — a near-zero noise floor (reported explicitly), IPTC DigitalSourceType values such as trainedAlgorithmicMedia, PNG text chunks with generation parameters (Stable Diffusion, ComfyUI), XMP creator tools, and C2PA manifests that many generators now attach. For provenance-based verification of Content Credentials, see the C2PA Inspector (decode and verify a Content Credentials manifest without uploading) and the AI provenance & C2PA hub: a valid credential is a positive signal, and absence proves nothing.

Evidence Report & Chain of Custody

Enter a case ID, exhibit prefix and examiner name, drop one or many files, and export the examination as a printable report (save it as PDF from the print dialog) or as JSON. Each exhibit carries the SHA-256, SHA-1 and MD5 of the original bytes, format and dimensions, the parameters of every method, the result images, the plain-language verdicts and the full metadata, plus a method summary a second examiner can follow. Because the hashes are computed before decoding, anyone can confirm that the report describes the same file they hold.

RAW Files

TIFF-based RAW formats (DNG, CR2, NEF, ARW, PEF, ORF, RW2 and others) are read for their full EXIF/MakerNote-adjacent metadata and the largest embedded JPEG preview is analysed with all pixel-level passes. The sensor data itself is not demosaiced in the browser, and the report says so for each RAW exhibit.

OSINT Investigation Workflows

For investigators, image forensics is one step in verifying a photo. Combine the studio with OCR text extraction to read text in the image, the steganography tools for deeper hidden-data tests, reverse image search to find the earliest copy, and the GPS coordinates it extracts to cross-reference the claimed location. A fuller walkthrough is in the image forensics guide; the video counterpart is the Video Forensics Studio. For a side-by-side with FotoForensics, Forensically, Ghiro and Amped Authenticate, see photo forensics software compared.

Photo Forensics — Frequently Asked Questions

Is there a free online image forensics tool that does not upload my photo?

Yes. Photo Forensics Studio runs error level analysis, a JPEG ghost sweep, copy-move clone detection, noise and gradient maps, bit-plane statistics, a thumbnail comparison and a full EXIF/XMP/IPTC/C2PA audit entirely in your browser. The file is hashed and analysed locally and never leaves your device; there is no account and no upload.

What is Error Level Analysis (ELA) and how does this tool use it?

ELA re-saves the image as a JPEG at a known quality and maps how much each pixel changed. Regions with a different compression history respond differently. The studio normalises the block errors by edge content so that text and edges are not mistaken for edits, and only reports a notable result when a contiguous cluster of blocks behaves differently from the rest of the image.

How does JPEG ghost detection work?

The image is re-saved at every quality from 40 to 100. A block that was once saved at a given quality shows a dip in error at that quality. Every block dips at the file’s own quality, which is read from its quantization tables and ignored; a cluster of blocks that dips at a different quality is a ghost of an earlier compression, meaning that content came from another JPEG.

Does it detect cloned or copy-pasted regions?

Yes. Copy-move detection divides the image into 16-pixel blocks, builds brightness-normalised features for each, matches similar blocks and votes on the offset between them. An offset shared by many block pairs that form a coherent region indicates a clone-stamp or healing-brush edit, and the matched regions are highlighted in matching colours.

Can this tool detect AI-generated images?

It checks the traces generators and their pipelines leave: a near-zero noise floor, IPTC digital source type tags such as trainedAlgorithmicMedia, PNG text chunks with generation parameters, XMP creator tools and C2PA manifests. There is no reliable pixel-level detector for modern diffusion output, so the studio reports these signals rather than claiming a verdict.

What is in the evidence report?

For each exhibit: SHA-256, SHA-1 and MD5 of the original file bytes, format, dimensions and dates, the metadata findings, every analysis image with its plain-language verdict and statistics, the parameters used, the full EXIF, GPS, XMP, IPTC and JPEG structure tables, and a method summary. The report is a printable HTML page you can save as PDF, and the same content is available as JSON.

Can I analyse several photos at once?

Yes. Drop or select any number of files; they are queued, analysed one after another with progress shown, labelled with your exhibit prefix and included in one report.

Does it support RAW files?

TIFF-based RAW formats such as DNG, CR2, NEF, ARW, PEF, ORF and RW2 are read for their metadata and their largest embedded JPEG preview is analysed with all pixel-level passes. The raw sensor data is not demosaiced in the browser, and the report notes this for each RAW exhibit.

Are my images uploaded to any server?

No. Analysis, hashing and report generation run in your browser with JavaScript and Canvas; nothing is sent anywhere, and the tool keeps working offline once the page has loaded. You can confirm this in your browser’s network tab.

What does the chi-square bit-plane test tell me?

Sequential LSB steganography makes adjacent pixel values (0 and 1, 2 and 3, …) occur in nearly equal numbers. The pairs-of-values chi-square test measures that equalisation; a very low chi-square per degree of freedom on a lossless image suggests embedded data. It is not meaningful on JPEGs, whose decoding destroys LSB payloads.

How accurate is photo forensics software?

Each method has known failure modes, which is why the studio reports no signal, weak or notable per method and states the limits in its methods page. A clean result does not prove authenticity, because recompression, resizing and generative models can leave no detectable trace; a notable result on two or more independent methods for the same region is strong evidence of editing.