Deep Media Forensics
Exhaustive photo forensics and image analysis to surface hidden metadata, detect digital tampering, and provide transparency into media creation.
Upload and analyse instantly — no registration or login required.
Choose how long your private report link stays active before it expires.
Available on clearnet, Tor (.onion), and I2P — use whichever suits your threat model.
21 image formats — 8 standard and 13 camera RAW families. 350+ video variants.
1 Privacy
Location, identity, and personal information that can expose the subject, device owner, or capture context.
GPS & Location Data Images & Video
Extracts GPS data embedded by smartphones and cameras, including latitude, longitude, altitude, GPS timestamp, and the compass bearing at capture time. Displays a map link. Video GPS is parsed from ©xyz and udta atoms.
Face Detection Images
Runs a neural face-detector on the image to count and locate human faces. Even after stripping EXIF, the pixel content itself can identify people. Reports face count and likelihood grades.
Tracking & Unique Identifiers Images & Video
Identifies tags that can uniquely link a file to a specific device or owner: SerialNumber, LensSerialNumber, CameraOwnerName, OwnerName, and equivalent fields from manufacturer MakerNotes. These persist through re-saves that strip standard EXIF.
Device Identity & MakerNote Extraction Images
Decodes the manufacturer-specific MakerNote block from Canon, Nikon, Sony, Fujifilm, Panasonic, Olympus, Pentax, and Apple. These fields carry camera serial numbers, registered owner names, lens serial numbers, and firmware version. Also decodes DNG private IFDs with OriginalRawFileName, RawDataUniqueID, and calibration provenance.
Date & Time Exposure Images & Video
Extracts all embedded timestamps including EXIF DateTimeOriginal, DateTimeDigitized, XMP history dates, and video creation/modification atoms. A recipient can determine when and where (via timezone offset) a photo was taken even if GPS is absent.
Comments, Descriptions & Authoring Images & Video
Extracts free-text fields from EXIF, IPTC, XMP, and video tags: ImageDescription, UserComment, Artist, Copyright, XPAuthor, XPComment, and video ©ART/©nam fields. Windows Explorer silently writes the logged-in username into XPAuthor.
Text in Video Frames Video
Runs OCR on sampled frames to detect visible text embedded in the video pixel stream: timestamps burned into surveillance footage, channel watermarks, location overlays, or subtitle burn-ins that could identify the source device or location.
Embedded Thumbnails Images & Video
Extracts embedded thumbnails from EXIF ThumbnailOffset and video cover-art atoms. When the main image is edited (e.g. faces blacked out), the original thumbnail is often left intact — revealing the pre-edit content to anyone who extracts it.
GPS Timezone Triangle Images
Reverse-geocodes the embedded GPS coordinate to determine the expected local timezone, then compares it against the EXIF DateTimeOriginal. Impossible combinations are flagged as strong signals of metadata editing or GPS spoofing.
2 Origin
Evidence that a file came directly from a capture device rather than being re-encoded, converted, or generated by software.
Original Photo / Video from Camera Images & Video
Evaluates a combination of signals — presence of MakerNote, original file name structure, GPS correlation, encoding chain, and absence of re-encoding artefacts — to give a holistic verdict on whether this is likely a direct camera capture or a processed/re-encoded file.
DQT JPEG Encoder Fingerprinting Images
Analyses the Define Quantisation Table used by the JPEG encoder. Every major encoder (camera firmware, Photoshop, GIMP, Lightroom, iOS, Android) uses a characteristic DQT pattern. Matches against a growing fingerprint database to identify the last encoder in the chain.
DQT Thumbnail Cross-Check Images
Compares the DQT fingerprint of the main JPEG image against the embedded thumbnail. Cameras write both using the same firmware tables — when the main image is re-saved by an editor, the main DQT changes while the thumbnail DQT remains, a reliable re-save signal with near-zero false positives.
Progressive JPEG Encoding Detection Images
No camera firmware produces progressive JPEG — every camera uses baseline sequential encoding (SOF0). Progressive JPEG is exclusively produced by optimisation tools and certain editing workflows. A SOF2 marker is a definitive re-encoding signal.
Chroma Subsampling Analysis Images
Camera firmware uses a small set of known chroma subsampling ratios specific to each manufacturer. Software encoders use different default ratios — notably 4:4:4 at high quality and 4:2:0 at low quality. Combined with DQT tables, this provides a two-factor encoder fingerprint.
Video Encoder Fingerprinting Video
Analyses bitstream structure and metadata tags like ©too, ©swr, and Encoder to identify the true underlying encoder. Matches against a fingerprint database of FFmpeg, HandBrake, DaVinci Resolve, Premiere, VLC, and mobile/camera encoders.
C2PA Content Credentials Images & Video
Detects and parses C2PA manifests embedded by cameras (Leica M11-P, Sony), Adobe products, and AI generators. A manifest records the capture device, software applied, and a cryptographic assertion chain, including the IPTC digitalSourceType declaration (trainedAlgorithmicMedia, compositeWithTrainedAlgorithmicMedia, or digitalCapture).
Camera RAW Private Tag Analysis Images
Adobe DNG files carry private IFD0 tags revealing the original RAW filename before conversion (OriginalRawFileName), a unique capture ID (RawDataUniqueID), and calibration signatures. Canon CR2/CR3 carry MakerNote data and CMT1-CMT4 ISOBMFF boxes with EXIF, MakerNote, and GPS each in a separate box.
AVI ISFT Encoder Leak Video
AVI files carry an optional RIFF LIST INFO block with an ISFT (Software) tag written by the muxer — FFmpeg writes Lavf58.x, VirtualDub writes its own version string, OBS writes obs-output. The codec FourCC is also fingerprinted.
H.264 SPS Profile & Level Extraction Video
Parses the H.264 Sequence Parameter Set from CodecPrivate in MKV tracks — profile_idc, level_idc, and constraint flags. Consumer camera firmware never produces Extended or Scalable profiles; their presence flags a re-encode.
XMP Namespace Tool Fingerprint Images
Every XMP writer registers its own namespace URI and writes a characteristic set of properties — Photoshop leaves photoshop:History, Lightroom leaves lr:, iOS Photos leaves apple_desktop:. Reliable even when xmp:CreatorTool has been cleared.
Serial Number Format Verification Images
Each camera manufacturer uses a documented serial number format and length. A serial number that doesn't match the expected format for the declared Make/Model is a strong indicator of metadata forgery.
Temporal Plausibility Check Images
Cross-references the EXIF DateTimeOriginal against the known release date of the declared camera model. A photo claiming a capture date before the camera existed is impossible — a clear sign of metadata forgery.
Huffman Table Fingerprinting Images
Beyond DQT tables, the Huffman coding tables in a JPEG DHT segment are characteristic of the encoder that wrote them. Camera firmware uses optimised custom tables; standard encoders use JPEG Annex K default tables.
C2PA Cryptographic Validation Images & Video
Goes beyond detecting a C2PA manifest to cryptographically verifying the signature chain — a manifest can be copied from a genuine file into a forged one, so only signature verification against the issuer's public key proves it's authentic.
3 Manipulation
Statistical, frequency-domain, and bitstream analysis for signs of pixel editing, compositing, re-encoding, or timeline modification.
Error Level Analysis (ELA) Images
Re-compresses the image at a known quality and measures per-pixel differences. Authentic JPEG images show uniform error across the frame; modified regions compress differently and appear as bright artefacts on the ELA map.
Histogram Gap Analysis Images & Video
Analyses the colour/luminance distribution. Brightness/contrast adjustments and re-saves at different quality leave characteristic zero-bins or comb patterns; a continuous histogram is expected from a camera original.
Double JPEG Compression Probe Images
Analyses the re-compression error curve across multiple quality factors. When a JPEG is edited and re-saved, a statistical ghost of the original quality factor appears in the error curve.
JPEG Ghost — Prior Save Quality Images
Sweeps every potential quality factor (1-100) and computes the residual error at each step. A sharp minimum identifies the exact quality factor at which the image was originally compressed.
Clone / Copy-Move Detection Images
Searches for regions identical or near-identical to other regions within the same image. Clone-stamp, healing brush, and content-aware fill all leave mathematically similar blocks, even if slightly blurred or colour-shifted.
Resampling & Interpolation Detection Images
Resampling introduces periodic correlations between neighbouring pixels that leave a detectable frequency-domain pattern, identifying up-scaled or rotated images or composited regions at a different scale.
Thumbnail vs Main Image Mismatch Images
Compares the embedded EXIF thumbnail to the main image pixel content. When a main image is replaced, the thumbnail retains the original and mismatches the main — a definitive forgery signal.
Metadata Field Consistency Cross-Check Images
Compares metadata fields that should agree: EXIF vs XMP timestamps, GPS timezone vs datetime offset, orientation tag vs image dimensions, flash tag vs focal length.
Orientation & Flash Tag Consistency Images
The orientation tag should agree with image dimensions and the flash tag should be plausible for the reported focal length and exposure. Metadata editors that change one field without updating related fields leave detectable inconsistencies.
GOP (Group of Pictures) Structure Analysis Video
Analyses the keyframe (I-frame) interval distribution. Camera-encoded video has a consistent, regular GOP structure; edited videos often have irregular intervals or broken GOPs at splice points.
Inter-frame Tampering — Spike Analysis Video
Measures the statistical difference (MSE) between adjacent sampled frames. Authentic footage changes gradually; tampered videos show abrupt "spikes" at edit points where two non-contiguous segments have been joined.
Frame Duplication & Freeze Detection Video
Searches for duplicate or near-duplicate frames using perceptual hashing (pHash). Frozen frames are produced by frame insertion, conversion artefacts, or deliberate duplication to cover for removed content.
Audio Codec & Sample Rate Forensics Video
Analyses audio track metadata without decoding the stream. Consumer cameras universally record at 48 kHz; 44.1 kHz is the CD/studio standard and strongly indicates replacement; Dolby Digital is a broadcast codec cameras never write; Opus in MP4 indicates re-muxing with an internet-streaming tool.
Edit List (elst) Analysis Video
Parses the internal Edit List atom (elst), which instructs players to skip or delay media data. Multiple edit segments with non-zero offsets indicate assembly from non-contiguous stream portions.
AVI Header Integrity Checks Video
The AVI main header stream count and frame rate must match the actual strl stream blocks and per-stream rate. A mismatch reveals partial re-muxing, truncation, or two-tool editing.
HDR Metadata as Tampering Signal Video (MKV/WebM)
Parses ColourPrimaries, TransferCharacteristics (PQ/HLG), MaxCLL, and MaxFALL from MKV and WebM video tracks. HDR10 metadata in a VP8 stream is physically impossible — VP8 predates HDR colour models.
Anti-Forensics Detection Images
Identifies files processed by metadata-stripping tools — recognises patterns left by MAT2, ExifTool batch-stripping, JFIF/EXIF marker coexistence, and reset-timestamp patterns where all date fields are identical.
Noise Inconsistency Detection Images
Authentic photographs have a spatially uniform noise profile from a single sensor. Composited images source regions from different originals and show localised noise inconsistencies.
Printer Artifact Detection (FFT) Images
Applies 2D FFT analysis to detect the periodic halftone pattern introduced by inkjet/laser printing — a printed and re-scanned image shows a characteristic frequency-domain peak absent in purely digital images.
Statistical Distribution Analysis Images
Natural photographic images produce compressed data with statistically predictable distributions. Heavily processed or AI-generated images deviate measurably from these expected distributions.
JPEG Block Grid Alignment Images
JPEG compression divides the image into an 8x8 pixel block grid anchored at the top-left corner. When a region from another image is pasted in, its block grid is offset relative to the background.
Audio Track Anomaly Detection Video
Examines the audio track codec and sample rate reported in container metadata. Consumer cameras record AAC/PCM at 48 kHz; cinema-grade codecs and unusual container pairings indicate post-production replacement.
Audio Splice & Discontinuity Detection Video
Extracts the audio track and analyses frame-level RMS energy for abrupt discontinuities. A separate background noise floor consistency check detects audio sourced from different acoustic environments being joined.
4 AI Detection
Statistical, provenance, and metadata-absence signals that together indicate whether a photo or video was generated by AI rather than captured by a camera.
AI-Generated Media Detection Images & Video
Combines seven independent signals into a 0-100 Authenticity Score: C2PA provenance manifests, frequency residual analysis, sensor noise profile analysis, statistical distribution analysis, Error Level Analysis, absence of camera metadata, and a deep spectral authenticity check across GAN, diffusion, and flow-matching generators.
Noise Field Uniformity Analysis Images
Real photographs carry spatially non-uniform sensor noise — it intensifies in shadows and varies by ISO. Diffusion models produce images with an unnaturally smooth noise floor. Distinct from the Manipulation group's Noise Inconsistency Detection, which targets selective editing rather than whole-image synthesis.
Spectral Authenticity Check Images
Real camera images produce characteristic spectral reconstruction patterns that AI-synthesised images cannot replicate because their generation process does not follow the physics of optical capture. Generalises across generator families without retraining.
Face Authenticity Check Images
When faces are detected, each is examined independently using frequency-domain and colour-space signals — texture consistency, colour continuity with the surrounding image, and edge sharpness at the face boundary — combined into a per-face verdict.
AI Video Generation Detection Video
Applies physics-based motion analysis: AI video models produce frames through a synthesis process, while real cameras record motion constrained by physical optics. Samples frames across the video and compares spatiotemporal motion statistics against real-camera distributions.
5 Security
Hidden data channels, steganographic payloads, and concealed embedded content that exist outside standard metadata blocks.
LSB Steganography Detection Images
LSB steganography encodes a payload by modifying the least significant bits of pixel colour channels — invisible to the human eye. Statistical analysis of bit-plane distributions, chi-square tests, and RS analysis detect the bias this introduces.
Digital Watermark Detection Images & Video
Runs a perceptual watermark detector looking for signatures of common invisible watermarking systems (StegaStamp, Stable Signature, and commercial SD watermarking used by stock platforms). Invisible watermarks can uniquely identify the original licensee even after heavy editing.
Polyglot / Hidden Archive Detection Images
A polyglot file is crafted to be parsed as two different formats simultaneously — the classic example is a JPEG that is also a valid ZIP archive. Tests for JPEG+ZIP, JPEG+PDF, PNG+ZIP, and other common combinations.
Trailing Data (Overlay) Detection Images
Checks for data appended after the standard End-Of-Image marker (FFD9 for JPEG, IEND for PNG) — the simplest form of image-based data hiding, typically invisible to viewers but accessible to file utilities.
Free / Skip / Wide Box Detection Video
free, skip, and wide boxes in the MP4/MOV container are reserved for padding but can embed arbitrary data within a valid video file. Their content is ignored by all players.
DRM & Encrypted Track Detection Video
Identifies internal encryption markers in MP4 (pssh boxes, sinf/schm/schi scheme atoms) and MKV (ContentEncoding with Encryption type) — reports the specific DRM system: Widevine, PlayReady, FairPlay, or generic encryption.
MKV Attachments Detection Video (MKV)
The Matroska container allows an Attachments element that can carry any file type. Unlike standard metadata, attachments can be large and are not rendered by video players — a covert data channel. WebM explicitly prohibits attachments.
Binary String Extraction Images
Scans the JPEG binary data before the Start-Of-Scan marker for printable ASCII sequences matching URLs, email addresses, filesystem paths, and IP addresses — content unlikely to appear in genuine camera EXIF.
6 Format & Structure
Container integrity, format-level validation, and informational metadata analysis across image and video formats.
Privacy Category Taxonomy Images & Video
A classification engine that groups thousands of metadata tags into high-level categories — GPS, Device, Tracking, DateTime, Author, Comments, Text, Copyright — ranked by privacy risk severity.
Advanced Forensic Markers & Edit History Images
Deep inspection of high-signal metadata blocks: XMP xmpMM:History records every save operation with timestamps and software versions; Adobe photoshop:ICCProfile reveals colour space conversions; PNG tEXt/iTXt chunks carry software identifiers.
Hidden Animation Stream Detection Images
Parses animated image formats to find frames too short for the human eye to see — including GIF frames with delays of 10ms or less and non-looping frames that appear only once at imperceptible speed.
JPEG XL Repack Detection Images
JXL supports lossless JPEG recompression — the original JPEG bitstream is stored verbatim inside the JXL container. A jbrd box means the submission is a repacked JPEG, not a native JXL capture from a camera.
Container Offset Tampering Video (MKV/WebM)
Validates the SeekHead element directory — an internal map that declares the exact byte position of every top-level block. If any declared position doesn't match reality, bytes have been inserted, removed, or re-packaged.
Mislabelled Container Detection Video (WebM)
WebM is a strict subset of Matroska — only VP8/VP9/AV1 video and Vorbis/Opus audio, with no Chapters or Attachments elements. A file declaring DocType=webm but containing Matroska-only content was relabelled after creation.
Coming soon
Document Steganography & Extraction Coming Soon
PDF and DOCX containers embed images and videos verbatim as binary streams. Deep inspection will surface every embedded media stream and run the full forensic pipeline on each one. PDF also has a structural steganography surface — hidden objects, unused cross-reference entries, and incremental update layers that survive standard viewers.
Frequently asked questions
Technical questions about how the forensic analysis checks work.
What is Error Level Analysis (ELA) and how does it detect photo manipulation?+
Error Level Analysis (ELA) re-compresses an image at a known quality level and measures the per-pixel difference between the original and the re-compressed version. Authentic JPEG images have been through a single compression pass and show uniform error across the entire frame. Modified regions — where pixels were edited, painted over, or composited in — have a different compression history, so they compress to a different error level and appear as bright artefacts on the ELA map.
snapWONDERS generates an ELA heat-map and calculates a quantified "high fraction" metric to give a verdict on edit likelihood — moving beyond a visual inspection to a measurable score.
What is DQT JPEG encoder fingerprinting and what can it reveal?+
DQT (Define Quantisation Table) fingerprinting analyses the quantisation tables embedded in every JPEG file. Each encoder — camera firmware, Photoshop, GIMP, Lightroom, iOS, Android — uses a characteristic DQT pattern as unique as a fingerprint. Matching it against a database of known encoders identifies the last software or firmware that wrote the file.
snapWONDERS also cross-checks the main image DQT against the embedded thumbnail DQT. Cameras write both using the same firmware tables, so a mismatch between them is strong evidence that the main image was re-saved by editing software after capture — a near-zero false positive signal.
What hidden metadata can photos and videos contain?+
Far more than most people expect. Photos can embed: precise GPS coordinates, altitude, speed and bearing at capture time; camera make, model, serial number, and lens serial; the registered owner name; all capture timestamps including timezone offset; manufacturer MakerNote data; XMP edit history recording every software save operation; and on Windows, the logged-in username written silently into the XPAuthor field.
Videos add audio codec and sample rate, encoder software strings, and location data in MP4 udta atoms. Embedded thumbnails can also retain original content after the main image has been edited — revealing the pre-edit version to anyone who extracts them.
What is steganography and how can it be detected in images?+
Steganography is the practice of hiding a secret payload inside an ordinary-looking carrier file. The most common technique is LSB (Least Significant Bit) steganography: encoding data by modifying the least significant bits of pixel colour values in a way invisible to the human eye. Statistical analysis — chi-square tests, RS analysis, sample-pair analysis — detects the bias this introduces.
snapWONDERS runs three independent statistical tests and combines them into a suspicion grade with per-channel breakdown. Beyond pixel-level hiding, it also detects data appended after the image end-of-file marker ("zip-in-JPG"), polyglot files valid as two formats simultaneously, and arbitrary data concealed inside video container free/skip boxes.
Can forensic analysis detect if a photo has been AI-generated?+
Several forensic signals correlate with AI-generated images. C2PA provenance manifests from tools such as DALL-E, Midjourney, and Stable Diffusion record the generating tool's identity and are detected and parsed. Statistical analysis flags distributions inconsistent with natural scene statistics. Noise field uniformity is characteristically smooth in AI images lacking real sensor noise. A deep spectral authenticity check distinguishes optically captured images from AI-synthesised output across GAN, diffusion, and flow-matching model families.
The complete absence of any camera metadata alongside unusual encoder fingerprints is also a strong combined signal. All of these combine into a 0-100 Authenticity Score displayed on every report.
When faces are detected, each is additionally examined by a dedicated face authenticity check — independent of the whole-image score. Video files receive a separate physics-based AI video generation check.
What image and video formats does snapWONDERS forensic analysis support?+
Standard image formats (8): JPEG, PNG, WebP, GIF, HEIC, AVIF, JXL, TIFF. APNG (animated PNG) is also handled — hidden-frame detection runs on all PNG files.
Camera RAW formats (13 families): Canon CR2/CR3, Nikon NEF/NRW, Sony ARW/SR2/SRF, Fujifilm RAF, Olympus ORF, Panasonic RW2, Pentax PEF, Samsung SRW, Hasselblad 3FR/FFF, Leica RWL, Epson ERF, Kodak DCR, Adobe DNG.
Video (350+ variants): MP4, MOV, MKV, WebM, and AVI containers, with H.264, H.265/HEVC, VP8, VP9, AV1, and MJPEG codecs. All analysis runs on clearnet, Tor (.onion), and I2P — no account or login required.
Is my media stored after analysis? Is the analysis private?+
You control retention. When you submit media for analysis, you choose how long your private report link stays active before the file and report are permanently deleted — options range from minutes to days. No account is required. Your report is accessible only via the unique private link generated for your specific upload; it is not indexed or shared.
For users requiring network-level anonymity, snapWONDERS is available on Tor (.onion) and I2P in addition to the clearnet — your upload traffic never leaves the anonymity network.
What is a camera device fingerprint and how does snapWONDERS build one?+
A camera device fingerprint is a profile built from multiple forensic signals that together characterise the camera model that captured a photo: DQT quantisation tables, Huffman table structure, chroma subsampling ratio, MakerNote block layout, serial number format, and H.264 SPS encoding constraints. Each camera model produces a characteristic combination of these signals.
snapWONDERS accumulates these signals from real uploads and matches them against a growing device profile database to verify whether a photo's declared Make and Model fields are consistent with its actual encoding characteristics — or whether the device fields have been forged. Device profiles are browsable at snapWONDERS Devices.
Ready to analyse your media?
Start your deep analysis now and expose what's hidden.
Analyse Your Media »Want to protect your media after analysing it?