Fake Detector

AI image, video & text analysis for newsrooms

v0.3 · DPG Media

Drop an image or video here or click to browse

JPEG PNG WebP max 20 MB MP4 MOV WebM max 200 MB
Starting…0%
Analysing text…

Fake Detector combines independent forensic signals to assess whether an image, video, or piece of text was created by an AI. No single signal is conclusive — the tool combines all available evidence and reports a weighted score. The result should be treated as forensic input, not a final verdict. Editorial judgement is always required.

Detection pipeline — how an image is analysed
1
Content Credentials check (C2PA) FAST EXIT
The very first check. C2PA (Coalition for Content Provenance and Authenticity) is an open standard supported by Adobe, Google, Microsoft, Sony, and others. Cameras, phones, and AI generators that support C2PA embed a cryptographically signed record directly into the file — stating who created it, with what device or software, and when.

If the file contains a valid C2PA signature that confirms AI generation (e.g. from OpenAI Sora, Adobe Firefly, Google Imagen), the pipeline stops immediately and reports AI-generated with high confidence. If the signature confirms camera capture or a verified human creator, it reports Real. If there is no C2PA signature — which is the case for most files today — the pipeline continues to Stage 2.

This check runs on both images (JPEG, PNG, WebP) and videos (MP4, MOV, WebM). OpenAI's Sora, for example, embeds C2PA credentials in every video it generates — allowing instant, cryptographic identification without running any ML models.
2
Full pipeline — 9 forensic signals
When no C2PA signature is present, all nine detectors run in parallel on the image. Their scores are combined using a weighted ensemble. The AI classifier (46%) is the primary signal.

Override rules prevent the ensemble from being misled by a single failing detector. A strong metadata signal (AI-typical dimensions + no EXIF) when the classifier is uncertain raises the floor to at least Likely AI. When both composite and shadow signals fire together, the floor is raised to Likely AI.
AI Classifier Models
46%
Frequency & Noise Patterns
19%
Camera Noise Fingerprint (PRNU)
11%
File Metadata (EXIF)
10%
Spectral Watermark (SynthID)
5%
Shadow & Light Consistency
5%
Composite Detection
4%
Invisible Watermark Detected or not — instant flag, no score
Known Fakes Database Match or no match — instant flag, no score
3
Web presence check
Runs in parallel with the forensic pipeline. The image is sent to Google Cloud Vision Web Detection, which searches Google's index for exact and partial matches. This answers a key journalistic question: has this image appeared anywhere before?

A real news photograph will typically have prior web presence — published on agency sites, news outlets, or official pages. An AI-generated image designed to deceive will often have no web presence at all, because it was created specifically for this disinformation campaign. The Löfven Sora image, for example, returned zero matches — a meaningful red flag for a supposed official portrait of a former head of government.

Results show the number of matches found and the URLs of pages where the image appears.
4
AI-assisted analysis & reporting
After the forensic pipeline completes, the image and its detection results are sent to Claude Sonnet (Anthropic) for contextual analysis. Claude Vision examines the image and returns a structured scene description — WHO, WHAT, WHERE, WHEN, WHY — using the same five journalistic questions that form the basis of verification work. Sonnet can identify recognisable public figures, landmarks, and contexts. It also produces a plain-language explanation of why the verdict was reached, referencing the specific signals that fired.

When the verdict is AI-generated or Likely AI, an editorial disclaimer is automatically added: "Do not publish without disclosure." The full report — including scene context, verdict, signals, and flags — can be exported as a PDF for documentation and editorial sign-off.

Only the image and anonymised detection results are sent to the Claude API. No identifying user information is transmitted.
All file types
🔐 Content Credentials (C2PA) Fast exit
Checked first on every file — image or video — before any ML processing. C2PA (Coalition for Content Provenance and Authenticity) is an open standard supported by Adobe, Google, Microsoft, Sony, and others. Cameras, phones, and AI generators that support C2PA embed a cryptographically signed record directly into the file — naming the tool, the action (e.g. created via text-to-image), and the signing certificate. If found, the pipeline stops immediately — no further analysis needed.
Supported formats: JPEG, PNG, WebP, MP4, MOV, WebM. Instant result when credentials are present.
Image detectors
🧠 AI Classifier Models Primary
A Vision Transformer (ViT) fine-tuned to distinguish AI-generated images from real photographs. Benchmarked against four alternatives on our 217-image test set — selected for its 94% accuracy and 0% false positive rate.

Known limitation: the classifier has a training cutoff. It scores near 0% on generators released after its training data was collected — not because the image is real, but because it has never seen that visual style. Frequency and metadata signals provide supporting evidence when the classifier is uncertain.

Generator Classifier
Stable Diffusion 1.x / 2.x / XL
Midjourney v1–v5
DALL-E 2
StyleGAN / GAN-based
Midjourney v6 / DALL-E 3⚠️ partial
Flux 1.x (Black Forest Labs)
Sora (OpenAI)
GPT Image / DALL-E 3
Gemini / Imagen 3
Kling / VEO / Runway
Weight: 46%. Strong for generators up to ~2023; frequency and metadata signals provide supporting evidence for newer generators.
📊 Frequency & Noise Patterns Primary
Analyses the DCT/FFT frequency spectrum of the image. AI generators produce characteristic patterns in high-frequency noise — a kind of spectral fingerprint — that differs systematically from the organic noise produced by a camera sensor. This signal is difficult to remove without visibly degrading image quality.
Weight: 19%. Especially effective after JPEG compression.
📷 Camera Noise Fingerprint Supporting
Photo Response Non-Uniformity (PRNU): every camera sensor has a unique, repeatable noise pattern caused by microscopic manufacturing differences. Real photos retain this fingerprint; AI-generated images do not — they have random or synthetic noise with no consistent sensor signature.
Weight: 11%. Most reliable when a reference camera is known.
🗂️ File Metadata (EXIF / IPTC) Supporting
Reads embedded metadata. Strong evidence of AI generation: software tags naming an AI tool (Stable Diffusion, Midjourney, Firefly, etc.), or exact pixel dimensions that match AI generator defaults (1024×1024, 1024×1792, etc.) combined with no camera data. Strong evidence of real photo: presence of camera make, model, lens, aperture, ISO, and shutter speed fields.

Also reads IPTC press/agency fields (credit line, copyright, byline) embedded by photo agencies and government photo offices. When a press credit is detected — e.g. "The White House", "AFP", "Getty Images" — the score is adjusted downward and missing camera EXIF fields are treated as normal (press photos are routinely stripped of sensor data by distribution systems).
Weight: 10%. Conclusive only when AI software tag is present.
🌊 Spectral Watermark (SynthID) Tie-break
Google DeepMind's SynthID embeds an imperceptible watermark into the frequency domain of images generated by Imagen and Gemini. This detector looks for SynthID-compatible patterns that survive resizing and moderate compression.
Weight: 5%. Specific to Google AI tools; low false-positive rate.
🔖 Invisible Watermark Tie-break
Checks for other invisible watermark patterns embedded by AI generators. Several platforms (e.g. Stable Diffusion XL, Midjourney) optionally embed low-amplitude watermarks that are detectable even after moderate image editing.
Acts as a tie-breaker; not weighted in the main score.
🗄️ Known Fakes Database Tie-break
Compares the image against a local database of previously identified AI-generated and manipulated images using perceptual hashing (pHash). A match — even after cropping, resizing, or re-compression — returns an immediate positive result with a link to the original fact-check. The database is updated daily from Google Fact Check Tools, AFP, Snopes, PolitiFact, and the Database for Known Fakes (DBKF) by Ontotext — which aggregates 22,000+ ClaimReviews from 35+ fact-checkers worldwide.
Effective only for images already in the database. Coverage grows with each daily update.
🤝 Community Database Automatic
Every image analysed with sufficient confidence is automatically added to the local community database. A perceptual hash of the image — not the image itself — is stored alongside the verdict. Future uploads of the same image (even after cropping or re-compression) will instantly return the stored verdict without re-running the full pipeline. No images or personal data are stored or shared.
Grows automatically over time as more images are analysed.
💡 Shadow & Light Consistency Tie-break
Divides the image into a grid of regions and estimates the dominant light source direction in each region using luminance gradients. In a real photograph, light comes from one source — shadows and highlights are consistent across the scene. AI generators, and composite images that paste subjects from different photos, frequently produce lighting that is physically impossible: shadows pointing in different directions, or highlights inconsistent with shadow placement.

Measures the angular spread and circular variance of gradient directions across regions. A spread above 70° between regions flags inconsistent lighting.
Weight: 5%. Most effective on images with clear shadows or directional lighting. Skipped on flat/low-contrast images.
🔀 Composite Detection Tie-break
Detects images that mix AI-generated and real-photo regions — for example, a real person's face pasted onto an AI-generated background, or an AI object inserted into a real photograph. This is one of the most common manipulation techniques in disinformation.

Divides the image into a 3×3 grid and computes three forensic signals per region: Error Level Analysis (ELA) — how a region responds to re-compression; noise variance — the texture randomness of the region; and frequency energy ratio — the high-to-low frequency balance. When these signals vary sharply between adjacent regions, the image is likely a composite.
Weight: 4%. When composite and shadow signals fire together, the ensemble raises the overall score to at least Likely AI.
🌐 Web Presence (Google Vision) Context
Searches Google's image index for prior appearances of the uploaded image. Runs in parallel with the forensic pipeline so it adds no extra waiting time.

Only exact matches are treated as meaningful — these mean the same image (or a crop/resize of it) has been published somewhere before. A real news photograph will typically have exact matches on agency sites, news outlets, or official pages.

An AI-generated image created for disinformation often has zero exact matches — it was made specifically for this campaign and never published before. Zero matches for a supposed official portrait of a public figure is a significant red flag.

Visually similar images (other photos with similar content — e.g. other politicians in suits in front of EU flags) are shown separately as context, not as matches. They do not indicate the image has been published before.
Does not contribute to the AI score — provides editorial context. Requires Google Cloud Vision API.
Video detectors
🎞️ Frame-by-frame AI Classification Primary
Samples frames at regular intervals and runs the same AI classifier models used for still images on each frame. The per-frame scores are aggregated into an overall video score and displayed on the timeline.
Temporal Flicker Supporting
Measures frame-to-frame consistency. AI video generators (Sora, Runway, Pika) often produce subtle flickering in textures, hair, and background detail because each frame is generated semi-independently. Real camera footage is optically consistent between adjacent frames.
📡 PRNU Consistency Supporting
Checks whether the camera sensor noise fingerprint (PRNU) remains stable across frames. In a real recording from one camera, the sensor fingerprint is constant. In AI video, each frame lacks a consistent fingerprint.
📋 Video File Metadata Tie-break
Reads container metadata (MP4/MOV/WebM headers). Checks for software tags from AI video tools, missing camera sensor data, and codec configurations typical of AI-generated video exports.
Text detectors

The text analyser helps journalists assess whether a reader letter, press release, tip, or document was written by an AI. Accepts pasted text or a PDF upload. Two independent signals are combined into a single verdict.

🧠 Claude Sonnet — Qualitative Analysis Primary · 70%
The text is sent to Claude Sonnet (Anthropic) with a forensic linguistics prompt. It looks for signals that human writers naturally produce but AI models tend to lack: emotional register, personal anecdotes, specific names and places, inconsistent grammar, and idiosyncratic phrasing. It also flags AI-typical patterns: formulaic transitions ("Furthermore", "It is important to note"), uniform paragraph structure, impersonal stance on personal topics, and suspiciously comprehensive yet generic recommendations.
Returns a score, up to 5 flags, a plain-language explanation, and highlights the most suspicious phrases in the text.
📊 Statistical Signals Supporting · 30%
Three lightweight signals computed locally without any API call:

Burstiness — measures sentence-length variation. Human writers naturally alternate between short punchy sentences and long complex ones. AI text is suspiciously uniform: sentence lengths cluster tightly around the mean.

Type-token ratio — unique words divided by total words. AI text tends to repeat vocabulary more than human writing of equivalent length.

Average sentence length — AI models gravitate toward 18–28 words per sentence. Very short or very long sentences skew toward human.
Runs instantly, no API cost. Most reliable on texts of 100+ words.
  • Text detection is less reliable than image analysis. A skilled human writer can score high; a careless AI user can score low.
  • Short texts (under 100 words) produce unreliable statistical signals — Claude's qualitative analysis still runs, but confidence will be lower.
  • AI writing patterns evolve. Models are improving at mimicking human style. This tool reflects patterns as of early 2026.
  • PDFs are extracted as plain text. Scanned PDFs (images of paper) cannot be read — the text must be machine-readable.
  • Use the result as one signal alongside editorial judgement, not as proof of AI authorship.
How the score is interpreted
🤖
AI-generated
Score ≥ 0.80
High confidence — multiple strong signals fired
⚠️
Likely AI
Score 0.60–0.79
Probable AI origin — verify before publication
🔎
Uncertain
Score 0.40–0.59
Inconclusive — manual review required
Likely Real
Score < 0.40
No significant evidence of AI generation found
Limitations & honest caveats
  • No detector is perfect. This tool is a forensic aid — it raises or lowers suspicion, it does not deliver legal proof.
  • Heavily compressed, downscaled, or screenshot images reduce accuracy significantly. EXIF and watermark signals are usually destroyed by screenshots.
  • AI generators evolve rapidly. Models trained on older generators (StyleGAN, early SD) may not detect the latest ones (Sora, GPT-4o image gen, Flux).
  • The absence of EXIF data alone is not suspicious — most images shared on social media have EXIF stripped by the platform.
  • A real photo that has been digitally manipulated (deepfake face swap, inpainting) may score lower than a fully AI-generated image.
  • Some generators deliberately remove watermarks or mimic camera metadata. Adversarial techniques can fool individual signals.
  • C2PA adoption is still growing. Most images today have no C2PA signature regardless of origin.
  • Sora (OpenAI) reliably embeds C2PA credentials in generated videos, but still images exported from Sora currently carry no C2PA data. The ML pipeline handles these, but scores may be lower than for video.