How to Tell If an Image Was AI-Generated

The honest version of this question is uncomfortable: you usually cannot tell. You can often find evidence that an image was generated, and you can essentially never establish that it was not. Most guidance on this topic skips that asymmetry, which is how people end up making confident accusations on the basis of a number produced by a classifier that has never seen the model in question.

In order of reliability

1. Metadata — prompts, seeds and C2PA manifests are strong positive evidence, and trivially removable.

2. Physical inconsistency — lighting, shadows and reflections that cannot coexist.

3. Detectors — genuinely useful only against models they were trained on.

Absence of all three is not evidence of authenticity. That is the asymmetry that matters.

Start with the metadata

Generation tools are remarkably talkative. Many write the full generation parameters straight into the file, and people share images without ever looking.

// PNG text chunks, as written by common tools parameters: a photograph of a lighthouse at dusk, cinematic lighting Negative prompt: blurry, watermark, text Steps: 30, Sampler: DPM++ 2M, CFG scale: 7, Seed: 2847193056, Size: 1024x1024, Model hash: "a1b2c3d4" // Some tools embed an entire node workflow as JSON.

Beyond the prompt block, check for a C2PA manifest — a cryptographically signed provenance record that says what produced the image and what edited it since. Also check ordinary EXIF: a Software tag naming a generation tool is a giveaway, and conversely a full camera block with lens, aperture, shutter speed and a plausible timestamp is meaningful positive evidence of a photograph.

⚠️ Metadata dies on upload

Nearly every social platform strips metadata when you post. So the overwhelming majority of images you encounter in the wild have no provenance data at all — not because anyone hid anything, but because the platform removed it.

This makes metadata a one-way test. Present, it tells you a lot. Absent, it tells you nothing whatsoever. Treating a bare file as suspicious is a mistake, because bare files are the normal case. The detail on what gets written and why is in AI image generators hide your prompt in the file.

Visual tells, and their expiry date

The famous list is increasingly historical. Worth knowing what has held up and what has not.

TellStill useful?
Wrong finger countLargely fixed
Gibberish text on signsImproving fast
Melted background facesImproving
Over-smooth skin, waxy sheenSometimes, style-dependent
Asymmetric paired itemsSometimes — earrings, sleeves
Impossible shadows or lightingBetter than most
Reflections that do not matchBetter than most
Structures that do not connectUseful — railings, stairs, frames

The bottom four survive longer for a reason. Finger count is a local detail the model can learn to get right; a physically consistent light field is a global constraint that has to hold across the entire image simultaneously. Models optimise for local plausibility, so global physics is where the seams remain.

Concretely: find the light source, then check every shadow points away from it and every reflective surface shows what should actually be in front of it. Generated images frequently have shadows falling in two directions, or a window reflecting a scene that does not exist.

The mechanism behind the older, fading tells is worth understanding, because it explains why they are disappearing — most of them come from the resolution of the latent space, and latents are getting bigger.

Detectors, and why the number misleads

Automated detectors output something like "94% likely AI-generated". That number is far less informative than it appears.

🚨 A detector reports confidence, not accuracy

Classifiers are trained on outputs from specific generators. Against those, they perform well. Against a model released after training, performance can collapse — and the output is still a confident-looking percentage, because the model has no way to say "I have never seen anything like this".

Worse, false positives cluster on exactly the images most likely to be scrutinised: heavily edited photographs, aggressive noise reduction, upscaled images, low-quality re-compressions. Real people have been accused of fabricating genuine photographs on this basis. If you use a detector, treat a positive as a reason to look harder, never as a finding.

One specific caution: error level analysis, the technique that produces those colourful JPEG-artefact maps, is widely circulated and widely misused. It shows where compression has been applied unevenly, which happens for many innocuous reasons. It was never a reliable manipulation detector and it is not an AI detector at all.

Invisible watermarks

The most technically promising approach, with a structural limitation.

Systems like Google's SynthID embed a signal into the pixels themselves rather than the metadata, designed to survive cropping, compression, colour adjustment and screenshotting. Where present, this is strong evidence, and unlike metadata it does not vanish on upload.

// What a pixel watermark gives you watermark found → generated by a participating model watermark absent → tells you nothing at all // Absence is the normal case: open-source models, // older tools, and anything not participating.

This is the same asymmetry as metadata, and it is why watermarking helps the ecosystem without solving detection. It creates a set of images that can be positively identified; everything outside that set is exactly as ambiguous as before.

A workflow that is honest about its limits

1. Read the metadata. Prompt block, C2PA, EXIF. → found generation data? strong evidence, stop → found full camera EXIF? meaningful evidence of a photo → found nothing? continue — this is normal 2. Check global physics. One light source? Shadows consistent? Reflections correct? Structures connect? 3. Check the source. Who posted it, do they have a history, does an earlier version exist elsewhere? 4. Reverse image search. Provenance beats forensics. 5. Only now, a detector — as one weak input, never as a conclusion.

Step 4 deserves more weight than it usually gets. Establishing where an image came from is more tractable than analysing what it is made of, and it is how most real verification actually gets done. An image with a traceable history and an identifiable photographer is verified; an image with no history is unverified regardless of what any pixel analysis says.

💡 The direction of travel is provenance, not detection

Detection is an arms race that defenders structurally lose — every detector is trained on yesterday's generators, and generators keep improving.

Provenance inverts it: instead of proving an image is fake, you establish a signed chain showing what a real one is and what happened to it. That is what C2PA content credentials are for, and why the serious effort is going there rather than into better classifiers.

If you are about to accuse someone

Worth stating plainly, because this article's subject gets used that way. A detector score is not evidence. Absent metadata is not evidence. A slightly odd hand is not evidence, and neither is unusually smooth skin — beauty filters have existed for years.

The costs are asymmetric: falsely accusing someone of fabricating a real photograph does concrete harm to a specific person, while a generated image passing unnoticed usually does not. When the evidence is ambiguous — and it usually is — the honest statement is that you cannot tell, not a probability dressed up as a finding.

Want to inspect an image's metadata yourself?

View and strip EXIF and embedded metadata entirely in your browser — nothing is uploaded to a server.

Open EXIF Remover →

Summary

  • Metadata is the strongest signal — and it is stripped by every social platform.
  • Absence of evidence is not evidence. Bare files are the normal case.
  • Finger and text tells are being fixed. Their absence proves nothing.
  • Global physics survives longest — lighting, shadows, reflections.
  • Detector confidence is not detector accuracy on unfamiliar models.
  • Error level analysis is not an AI detector.
  • Pixel watermarks give positives only; absence means nothing.
  • Provenance beats forensics. Trace the source before analysing the pixels.

Frequently Asked Questions

Can you reliably detect AI-generated images?

Not reliably, no. Metadata gives strong positive evidence when it survives, visual tells are weakening with each model generation, and statistical detectors generalise poorly to models they were not trained on. You can often establish that an image is generated; you can almost never establish that it is not.

What is the most reliable way to check if an image is AI-generated?

Check the metadata first. Generation tools frequently write the prompt, seed, model and sampler into the file, and C2PA content credentials record provenance cryptographically. This is by far the strongest signal — but it is also the easiest to remove, and most social platforms strip it on upload.

Are AI image detectors accurate?

They perform well on the models they were trained against and degrade sharply on newer ones. Because they output a confident-looking percentage regardless, a high score on an unfamiliar generator means very little, and false positives on ordinary photographs — particularly heavily edited or low-quality ones — are common enough to cause real harm.

Do AI images still have visual tells like bad hands?

Less and less. Hands, text and background faces were reliable indicators for earlier models and are steadily being fixed, so their absence proves nothing about a current image. Physical inconsistencies in lighting, shadows and reflections have held up somewhat longer, but they are also disappearing.

What is SynthID?

Google's invisible watermarking system, which embeds a signal directly into the pixels of images produced by its models so they can be identified later. It survives many common edits, but it only helps for images from participating generators — an image from any other source carries no watermark, and that absence tells you nothing.

P

Written by Paras

We build free, browser-based file tools and write the reference material we wish existed when we were looking things up. Spotted an error? Tell us and we will fix it.