Is this image AI generated?
Drop an image for three checks at once: an AI model scores the pixels, the file is read for Content Credentials, IPTC labels and stored prompts, and the pixels are scanned for Stable Diffusion's hidden watermark. Everything runs on your device.
Drop an image to check it
Three checks at once: labels written into the file, the hidden Stable Diffusion watermark, and an AI model that looks at the pixels. It all runs on your device. Nothing is uploaded.
How the check works
Drop or paste an image
Drag a file in, choose one, or paste it with Ctrl+V. It is opened in your browser and never uploaded.
The file and its pixels are read
The checker looks for Content Credentials, IPTC tags, stored prompts and camera data, then scans the pixels for Stable Diffusion's hidden watermark.
An AI model scores the pixels
A vision model trained on images from thousands of generators gives a score from 0 to 100. The first check downloads the 24 MB model once.
Read the result
An AI label or a watermark in the file decides the result. Without one, the score does, together with what that score meant in our tests.
How accurate is it? We tested it on 1,727 images
We ran the exact code this page uses, in a browser, on 1,727 labelled images from OpenFake, a research dataset published in 2025 with images from current generators and real photos from several sources. 1,188 AI images came from 79 generators, 100 more were AI images people had posted on Reddit, and 439 were real photos.
The model is very good at the Stable Diffusion family. It scored 92% of Stable Diffusion 1 and 2 images and 81% of SDXL images and fine-tunes at 90 or more. It struggles with the newest commercial generators: only 3 of 24 GPT Image 1.5 images, 3 of 24 GPT Image 2 images, 3 of 24 Midjourney 7 images and 4 of 24 Nano Banana Pro images reached that range, and none of 12 Flux 1.1 Pro images did.
| AI images from | Images | Likely AI (90+) | Unclear (50 to 89) | No AI signs (under 50) |
|---|---|---|---|---|
| Stable Diffusion 1 and 2 | 96 | 92% | 3% | 5% |
| SDXL and its fine-tunes | 144 | 81% | 12% | 7% |
| Anime and Pony models | 144 | 75% | 12% | 13% |
| Grok (xAI) | 36 | 53% | 6% | 42% |
| Stable Diffusion 3.5 | 12 | 50% | 17% | 33% |
| Ideogram | 36 | 36% | 17% | 47% |
| Other open models | 204 | 35% | 14% | 50% |
| Video frames (Veo 3, Sora 2, Wan) | 96 | 31% | 19% | 50% |
| Google (Imagen, Nano Banana) | 72 | 22% | 4% | 74% |
| Flux (Black Forest Labs) | 132 | 22% | 10% | 68% |
| OpenAI (DALL-E 3, GPT Image) | 72 | 21% | 10% | 69% |
| Seedream (ByteDance) | 48 | 19% | 12% | 69% |
| Recraft | 48 | 19% | 17% | 65% |
| Qwen-Image (Alibaba) | 12 | 17% | 17% | 67% |
| Midjourney 6 and 7 | 36 | 14% | 19% | 67% |
| AI images posted on Reddit | 100 | 12% | 10% | 78% |
Percentages are rounded, so a row may add up to 99 or 101.
| Real photos from | Photos | Likely AI (90+) | Unclear (50 to 89) | No AI signs (under 50) |
|---|---|---|---|---|
| DOCCI, camera photos taken for Google research | 60 | 0 | 0 | 60 |
| ImageNet | 60 | 0 | 0 | 60 |
| Pexels stock photos | 100 | 0 | 1 | 99 |
| LAION web images | 100 | 0 | 3 | 97 |
| Photos posted on Reddit | 119 | 0 | 3 | 116 |
That is why the result is worded the way it is. A high score is strong evidence, because real photos almost never get one. A low score is weak evidence either way, because many images from the newest generators get one too. Real photos can still land in the unclear range: NASA's 1968 Earthrise photograph, with its large black sky, scores 77.
Independent research points the same way. A February 2026 benchmark of 16 open source detectors ranked Community Forensics, the model used here, the most accurate overall, and still found that images from modern commercial generators get past most detectors.
The hidden watermark, and why we read it differently
Stable Diffusion's reference code hides a pattern in the colour of the images it makes. SDXL images made with the popular diffusers library carry a 48 bit pattern, and the original Stable Diffusion 1 script writes the text StableDiffusionV1. The pattern is invisible, and it is not a label that a re-save deletes: it lives in the pixels.
The watermark package's own decoder reads each bit on its own, and in our tests it found the mark in only 2 of 14 marked files, even untouched PNGs, because smooth areas such as skin and sky blur the signal. Our reader tests the whole pattern at once. It found 13 of the 14, including WebP copies and JPEGs saved at quality 95, and on 1,698 unmarked images its signal never passed 3.9, well under the threshold of 6. A JPEG save at quality 85, a resize or a crop removes the mark, and most generators do not add this one at all, so not found is the normal result.
What each result means
The labels this tool reads
An image file is more than pixels. It can carry several blocks of metadata, each written by different software for a different reason. These are the ones that say something about where an image came from.
| Label | Where it lives | Who writes it | What it tells you |
|---|---|---|---|
| Content Credentials (C2PA) | A signed manifest inside JPEG, PNG, WebP, AVIF and HEIF files | OpenAI, Adobe Firefly, Google Nano Banana Pro, some cameras | Which tool made the file, who signed it, and whether a step was generative AI |
| IPTC digital source type | XMP metadata | Meta AI and software that follows IPTC guidance | trainedAlgorithmicMedia means fully AI generated, compositeWithTrainedAlgorithmicMedia means AI edits inside a real image |
| Generator settings | PNG text chunks and EXIF comments | Stable Diffusion interfaces such as AUTOMATIC1111, ComfyUI, InvokeAI and NovelAI | The prompt, seed, sampler and model used to create the image |
| Camera data | EXIF | Cameras and phones | Camera model, lens and exposure. Easy to copy or type in, so only a hint |
| Editing software | EXIF and XMP | Photoshop, Lightroom, GIMP and other editors | Which apps saved the file along the way |
| Invisible watermarks | Hidden in the pixels | Stable Diffusion's reference code, Google SynthID and others | This page reads Stable Diffusion's mark. SynthID and most others can only be read by their makers |
We tested what happens to AI labels
We made two AI labelled test files. The first carries Content Credentials signed with the C2PA project's own test certificate and declaring trainedAlgorithmicMedia, applied to a real photo that also has ordinary camera data. The second carries only the IPTC field. Then we put both through ten everyday operations and read each result with this tool.
| What we did to the file | C2PA label | IPTC label | What the file looked like afterwards |
|---|---|---|---|
| Copied or renamed it, bytes unchanged | Kept | Kept | AI labelled |
| Took a screenshot of it | Lost | Lost | No record at all |
| Saved it from a browser canvas as JPEG | Lost | Lost | No record at all |
| Saved it from a browser canvas as PNG | Lost | Lost | No record at all |
| Saved it from a browser canvas as WebP | Lost | Lost | No record at all |
| Re-saved it with Python's Pillow library | Lost | Lost | No record at all |
| Resized it with Pillow | Lost | Lost | No record at all |
| Re-saved with Pillow, keeping EXIF | Lost | Lost | A camera photo, or no record |
| Converted to WebP with Google's cwebp | Lost | Lost | No record at all |
| Converted with cwebp, keeping all metadata | Lost | Kept | A camera photo, or AI labelled |
The Content Credentials survived one operation out of ten, and it was the one that does not change the file. The IPTC label did a little better because a converter told to keep all metadata carried the XMP across. Every screenshot and every canvas save, which is how most web tools work, including the ones on this site, wiped everything.
Two operations kept the camera data but dropped the Content Credentials. The AI label was gone, the camera model and exposure settings were still there, and the file looked exactly like an ordinary photo. Partial metadata can make an AI image look more trustworthy, not less.
Who labels their AI images
OpenAI began adding C2PA metadata to images generated in ChatGPT and its API in February 2024, so anyone can see that an image came from its products. It also warns that this metadata can be removed by platforms, editing tools and file conversions.
Adobeautomatically applies Content Credentials to images made entirely with Firefly, such as Text to Image. Those credentials name Adobe as the issuer and record the AI tool used, and they may be kept in Adobe's public Content Credentials cloud, which is why some files only link to their credentials instead of carrying them.
Google hides an invisible SynthID watermark in images from its AI models. Since November 2025 the Gemini app can check an uploaded image for it, and images made with Nano Banana Pro in the Gemini app, Vertex AI and Google Ads also include C2PA metadata.
Meta marks photorealistic images made with Meta AI in three ways: a visible label, an invisible watermark, and IPTC metadata with the digital source type set to trainedAlgorithmicMedia.
Local Stable Diffusion setups are often the easiest to spot. Popular interfaces such as AUTOMATIC1111 and ComfyUI save the full prompt, seed and settings, or the whole node workflow, into every PNG they write, unless the user turns it off.
When the checks come back empty
Metadata travels with a file only as long as every app along the way keeps it. A screenshot creates a brand new file with none of it, many social networks and messaging apps strip it on upload, and most editors and converters, including the tools on this site, write a fresh file without the old labels. So no label is the normal state of an image found online, and together with a low score it still does not make the image real.
When the file has nothing to say, look at the image and its source instead. The Photo view above has a magnifier for this:
- Search for the image with Google Lens or TinEye to find the earliest copy and who posted it first.
- Read any text in the picture. Signs, labels and screens are often garbled in generated images.
- Check hands, teeth, ears, jewellery and glasses, where the two sides of a face often disagree.
- Follow reflections and shadows. They should agree with each other and with the light source.
- Look at the background for melting shapes, repeated faces or objects that merge into each other.
- For images that may come from Google AI, upload them to the Gemini app and ask whether they were made with Google AI.
The Noise view removes the picture and leaves its fine grain. Camera photos usually show even sensor grain, while generated images often look smooth or patchy. The Error levels view shows how much each area changes when saved as JPEG again, which can reveal pasted or edited parts. Both are clues for your own judgement, not verdicts.
If you publish AI images
Some platforms require the label to stay. Google Merchant Center, for example, asks that every product image created with generative AI keep the IPTC digital source type set to trainedAlgorithmicMedia, and tells sellers not to remove it. Upload the original file from the generator in that case, and check it here first to confirm the label is present. Resizing or compressing it with a canvas based tool, including the ones on this site, will remove the label.
To see or remove the rest of a photo's metadata, such as GPS location, use the EXIF viewer, and read our guide to photo metadata and privacy.
Frequently asked questions
Sources and method
The model test used the test and validation splits of the OpenFake dataset: 24 or 12 images per generator, 100 AI images and 119 real photos posted on Reddit, and 60 to 100 real photos from each of DOCCI, ImageNet, LAION and Pexels, all with their original encoding. Each image went through this page's own code in headless Chrome: ONNX Runtime Web 1.30 with the 8 bit Community Forensics model, the shorter side resized to 440 pixels and the centre 384 pixels scored. The watermark test used PNG, WebP and JPEG copies of photos marked with the invisible-watermark package, two SDXL images we generated with the diffusers library, and the same OpenFake images as unmarked controls. The label test used c2patool 0.27.22 and Python on two JPEG files, one signed with the C2PA test certificate. All tests ran in September 2026.
- Park and Owens, Community Forensics: Using Thousands of Generators to Train Fake Image Detectors (CVPR 2025)
- Community Forensics model weights, MIT licence
- OpenFake dataset, Complex Data Lab
- How well are open sourced AI-generated image detection models out-of-the-box (February 2026)
- invisible-watermark, the package Stable Diffusion uses
- OpenAI, understanding the source of what we see and hear online
- Adobe, Content Credentials overview for Firefly
- Google, AI image verification in the Gemini app (November 20, 2025)
- Meta, labeling AI generated images on Facebook, Instagram and Threads
- IPTC, metadata guidance for AI generated synthetic media
- Google Merchant Center Help, AI generated content
- Content Credentials Verify
In a September 2026 test on 1,727 labelled images, the FreeImageTools AI Image Detector scored 43% of AI images from 79 generators at 90 or more and none of 439 real photos, while most images from the newest commercial generators, such as GPT Image, Midjourney 7 and Nano Banana, scored under 50. FreeImageTools, "Is This Image AI Generated? Free AI Image Detector", September 27, 2026, https://freeimagetools.org/ai-image-detector
