Images
AI image detector
Drop any photo or picture to check whether it was generated by AI. GPTTrace reads the file’s provenance, its metadata and its pixels, and shows you the evidence behind the verdict.
Free · no sign-up · your file never leaves your device
Drop an image, click to choose, or paste
JPEG · PNG · WebP · AVIF · HEIC (Safari) — checked on your device
What this detector checks, in order of strength
Most “AI image detectors” are a single neural network behind an upload form. GPTTrace runs four independent kinds of check and tells you which one drove the result, because they differ enormously in how far you can trust them.
1. Content Credentials (C2PA)
OpenAI, Adobe, Microsoft and a growing list of camera makers sign their files with a cryptographic manifest describing how the image was made. When an image was generated, the manifest records an action with the digital source type trainedAlgorithmicMedia. GPTTrace finds the manifest in JPEG, PNG, WebP, HEIC and AVIF files, reads the claim and the signer’s certificate, and reports both. If you want every detail, the C2PA viewer shows the full manifest history.
2. Metadata written by the generator
Many tools label their output in ordinary metadata. Google and Meta set the IPTC digital source type; Stable Diffusion front-ends such as AUTOMATIC1111, Forge and ComfyUI store the prompt, seed, sampler and model in a PNG text chunk; NovelAI hides a copy of its settings in the alpha channel. Any of these is decisive, and GPTTrace says so.
3. Context that doesn’t fit a camera
A photo from a phone or camera nearly always has a make, model, lens, exposure time and capture date. Generated images usually have none, and they come in sizes that diffusion models favour, like 1024×1024 or 832×1216. These clues are weak alone — every messaging app strips EXIF — so they only nudge the estimate.
4. The pixels themselves
When a file has been stripped, the pixels are all that is left. GPTTrace runs a neural classifier from the Community Forensics research project, trained on images from 4,803 different generators, directly in your browser. It also computes error-level analysis and a frequency spectrum of a full-resolution crop, where upsampling layers leave regular grid-like peaks. You can inspect both views next to the image.
Reading the result
The number is GPTTrace’s estimate of the probability that the image is AI-generated, and the label follows from it: AI-generated and Likely AI-generated above 70%, Inconclusive between 30% and 70%, and Likely authentic or No AI signs found below that. A result marked “(provenance)” means the file itself declared how it was made, which is as close to proof as image forensics gets.
Under the verdict, every piece of evidence is listed with an arrow showing whether it pushed toward AI or toward a real photo. The collapsed “All measurements” section keeps the raw forensic numbers that currently carry no weight, so you can audit them without them steering the answer.
Detectors for specific generators and situations
Each page below explains what one generator or one kind of fake tends to leave behind, with the same tool built in.
Traces the big generators leave in a file
These are the traces GPTTrace checks for. “Some files only” means the trace is often missing — a re-save, screenshot or social-media upload removes metadata — so its absence proves nothing.
| Generator | Where | What to look for | How reliable |
|---|---|---|---|
| OpenAI (DALL·E / ChatGPT images / Sora) | C2PA manifest | Content Credentials signed by OpenAI, with a c2pa.created action and digitalSourceType trainedAlgorithmicMedia | Documented by the vendor |
| OpenAI (DALL·E / ChatGPT images / Sora) | Pixels | Square or 3:2 sizes such as 1024×1024, 1536×1024 and 1024×1536 | Commonly seen |
| Google Imagen / Gemini (Nano Banana) | Pixels | SynthID invisible watermark — only Google’s own tools can read it | Documented by the vendor |
| Google Imagen / Gemini (Nano Banana) | IPTC / XMP | DigitalSourceType = trainedAlgorithmicMedia (“Made with Google AI”) | Documented by the vendor |
| Google Imagen / Gemini (Nano Banana) | C2PA manifest | Content Credentials on images from recent Gemini and Pixel versions | Some files only |
| Google Imagen / Gemini (Nano Banana) | Pixels | A small visible sparkle watermark in the corner on free-tier Gemini images | Commonly seen |
| Stable Diffusion | PNG tEXt “parameters” | Prompt, negative prompt, Steps, Sampler, CFG scale, Seed and Model hash (AUTOMATIC1111, Forge, SD.Next) | Documented by the vendor |
| Stable Diffusion | PNG tEXt “prompt” / “workflow” | The full node graph as JSON (ComfyUI) | Documented by the vendor |
| Stable Diffusion | PNG tEXt “invokeai_metadata” | Generation settings (InvokeAI) | Documented by the vendor |
| Stable Diffusion | Pixels | Sizes that are multiples of 64, e.g. 512×512, 768×768, 1024×1024, 832×1216 | Commonly seen |
How accurate is it? Our measured numbers
We test GPTTrace on labelled image samples and publish the results, including where it does badly. It is tuned to keep false accusations rare, so it misses some AI content rather than flag real work.
image check: AUC 0.938 (cross-validated)
679 labelled samples (399 AI, 280 human), run 2026-10-08. At the “Likely AI” line it caught 64% of AI samples and wrongly flagged 5% of human ones.
| Source | Truth | Samples | Result at “Likely AI” |
|---|---|---|---|
| gemini-nano-banana | AI | 40 | 40% caught |
| midjourney-v6 | AI | 40 | 68% caught |
| midjourney-v5 | AI | 40 | 73% caught |
| flux-dev | AI | 40 | 13% caught |
| flux-schnell | AI | 40 | 48% caught |
| sdxl | AI | 40 | 100% caught |
| gpt-image | AI | 40 | 30% caught |
| kling | AI | 39 | 97% caught |
| leonardo-stablecog | AI | 40 | 98% caught |
| bitmind-imagine-mix | AI | 40 | 80% caught |
| fullsize-photos | Human | 40 | 10% wrongly flagged |
| open-images-photos | Human | 40 | 5% wrongly flagged |
| lfw-faces | Human | 40 | 0% wrongly flagged |
| caltech-objects | Human | 40 | 3% wrongly flagged |
| coco-photos | Human | 40 | 0% wrongly flagged |
| ffhq-faces | Human | 40 | 0% wrongly flagged |
| celeba-faces | Human | 40 | 18% wrongly flagged |
Data sources and method: methodology & accuracy.
How to check if an image is AI-generated
- Get the best copy you can. The original download keeps metadata that a screenshot or a re-shared copy loses.
- Drop it on the detector above, paste it with Ctrl/Cmd+V, or tap to choose it from your phone.
- Read the top reason first. “Proof” items mean the file itself declares AI generation; everything else is weighted evidence.
- Open the ELA and Spectrum views if you want to see the forensic traces yourself.
- If the result is “Inconclusive”, look for the original source: a reverse image search often finds where a picture first appeared.