{"schemaVersion":"1.0","type":"TechArticle","types":["Article","TechArticle"],"slug":"how-to-spot-an-ai-generated-image-and-what-to-do-when-you-can-t-79roo","url":"https://zyvop.com/how-to-spot-an-ai-generated-image-and-what-to-do-when-you-can-t-79roo","title":"How to Spot an AI-Generated Image (and What to Do When You Can't)","subtitle":"Glitches no longer give AI images away. Here is what still works in 2026: source checks, provenance tools, a Python checker, and how far to trust AI detectors.","tldr":"Fingers and garbled signs no longer expose AI images. This guide covers the clues that still help, source checks, provenance tools like SynthID and Content Credentials, a short Python checker you can run, and why detectors alone can’t settle the question.","keywords":["AI-generated images","media literacy","deepfakes","Generative AI","image verification","AI"],"entities":["Samod Alex","AI-generated images","media literacy","deepfakes","Generative AI","image verification","AI","ZyVOP"],"keyTakeaways":["Your eyes alone are no longer enough: even in a large study, people were right only 62% of the time.","Source checks beat glitch-hunting, because they work however good the image is.","Provenance tools are strong evidence when they find something and nearly silent when they don't.","Detectors disagree with each other and sometimes flag real photos, so use them as a tiebreaker.","When you can't tell, say so, and hold off on sharing."],"headings":["Why Looking Isn't Enough Anymore","Clues That Still Help","1. Faces that are a little too perfect","2. Details away from the subject","3. Pictures built to push a button","Check the Source, Not Just the Pixels","Provenance: Images That Carry a Receipt","AI Detectors: A Clue, Not a Judge","Try It Yourself: A Small Checker in Python","What the script checks","Example output","Optional: ask a trained classifier","Putting It Together: A Simple Routine","Key Takeaways","Sources and Further Reading"],"outboundLinks":["https://blog.google/innovation-and-ai/products/making-it-easier-to-understand-how-content-was-created-and-edited/","https://www.newsguardtech.com/special-reports/leading-ai-image-detection-tools-mislead-online-users-often-declaring-authentic-content-fake","https://arxiv.org/abs/2602.07814","https://arxiv.org/html/2507.18640v1","https://www.scientificamerican.com/article/how-to-spot-an-ai-generated-face-according-to-science/","https://www.techradar.com/ai-platforms-assistants/still-think-you-can-spot-ai-heres-how-to-catch-more-convincing-ai-images-deepfakes-and-scams","https://contentcredentials.org/verify","https://huggingface.co/Organika/sdxl-detector"],"contentText":"The short version: You usually can't tell by looking anymore. Visual clues can still raise useful suspicion, but the dependable checks are about where an image came from: who posted it, whether a credible source has it, and whether it carries provenance data. Treat AI-detector scores as one weak signal, never a verdict. For a few years, spotting a fake was almost a game: count the fingers, read the sign, look for the melted background. That game is mostly over. Modern generators have fixed most of those flaws, and journalists and researchers now warn that the older tricks no longer work reliably. This guide does two things: it shows what still helps, and it gives you a routine for the many times your eyes can't settle the question. Why Looking Isn't Enough Anymore The clearest evidence comes from Microsoft's AI for Good Lab. In a study of about 287,000 judgments by more than 12,500 people, participants correctly sorted real photos from AI images 62% of the time, only a little better than a coin flip. People did best with portraits and worst with landscapes. The researchers also warned that the figure probably overstates what people can do today, because the images came from 2024-era generators. Here is how the classic giveaways have fared: Old giveaway Status in 2026 Extra or fused fingers No longer reliable. Newer models mostly get hands right, and clean hands prove nothing Warped, melting backgrounds Far less common in recent models Nonsense text on signs Much improved. Short text often renders cleanly now, so a legible sign proves little Waxy, over-smooth \"AI sheen\" on skin Largely faded, though faces still drift toward a generic look (see below) Why chasing glitches is a losing game: A flaw you learned to spot can vanish with a model update or a different prompt, and anyone using fake images to deceive can simply throw away the flawed ones. Clues That Still Help None of these is proof. Think of them as reasons to look closer, not as a verdict. 1. Faces that are a little too perfect A June 2026 study from the Australian National University, led by Amy Dawel, found that teaching people to notice broad qualities of AI faces, rather than one-off glitches, nearly doubled their accuracy. Because generators build a \"typical\" face from patterns across millions of photos, their output tends to drift toward the average. Compared with real faces, AI faces tend to be more symmetrical, more proportional, and more attractive, but less expressive, less distinctive, and less memorable. No single trait is suspicious on its own. It is the blandness of the whole that gives them away, and this works for faces only. 2. Details away from the subject Zoom in on the edges of the frame: backgrounds, signs and small print, reflections, shadows, jewelry, and repeating textures. Inconsistent lighting and distorted fine detail are the usual things detection guides tell you to look for. Remember that heavy editing and compression can make real photos look odd too. 3. Pictures built to push a button AI images are often made to provoke a strong emotional reaction: a heartwarming rescue, an outrage, a too-good-to-be-true story. In May 2026, the fact-checking charity Full Fact examined Facebook pages sharing AI-generated stories about UK politicians and found that many were run from outside the UK. If an image makes you want to share it instantly, that is the moment to slow down. Check the Source, Not Just the Pixels These steps work no matter how good the image is, which is why they are more dependable than any visual tell. Run a reverse image search. Upload the image to Google Images, Google Lens, or TinEye. You may find where it first appeared, whether altered versions exist, and whether the person or place appears anywhere else. An \"influencer\" who exists only in AI-looking posts is a red flag. Look at who is sharing it. Check how old the account is, whether it has changed names, and where it is run from. Facebook's Page Transparency feature shows some of this. Look for corroboration. If something real happened, credible outlets will usually have it, often with other photos from the same scene. A dramatic image that nobody reputable has is suspicious. Read the fine print. Brands and creators often disclose AI use in captions, hashtags, or profile descriptions, though it can be easy to miss. Provenance: Images That Carry a Receipt Instead of guessing from pixels, you can sometimes check whether an image carries a record of its origin. Two systems matter most: SynthID is Google's invisible watermark for AI-generated images, video, and audio. Google says the Gemini app can check for it, and has been extending the check to its Search tools (Lens, AI Mode, Circle to Search) and Gemini in Chrome. It only detects content from tools that embed the watermark. That began with Google's own, and Google says OpenAI, Kakao, and ElevenLabs are bringing SynthID to more of their content. C2PA Content Credentials is an open standard that attaches a signed record of how a file was created and edited. You can check a file for free at contentcredentials.org/verify, and Google is rolling out Content Credentials verification in the Gemini app. Some cameras add credentials at capture: Pixel 10 does so for photos taken in its camera app, and Meta has said it will label camera-captured media with Content Credentials on Instagram. What a result does and doesn't tell you: You find... What it means A watermark or credential showing AI made or edited the image Strong evidence the image is AI-made or AI-edited Credentials showing an unaltered camera original Strong evidence about the file's origin, but not proof the scene wasn't staged Nothing Almost no information. Screenshots, re-uploads, and format conversions routinely strip metadata, and not every tool adds a watermark Provenance data works in one direction: finding it is informative, but not finding it is not evidence that an image is real or fake. Use the original file where you can, because messaging apps and screenshots often destroy the data. AI Detectors: A Clue, Not a Judge Detector tools look for statistical patterns and return a probability. Independent testing shows they are shaky: Test What it found Academic benchmark (arXiv, February 2026): 16 detection methods, 2.6 million images, 291 generators No universal winner. Images from Flux Dev, Firefly v4, and Midjourney v7 defeated most detectors, with only 18 to 30% average accuracy NewsGuard audit (May 2026): five popular tools, 15 authentic news photos The tools wrongly called real photos AI-generated 13.33% of the time on average, and one tool did so 40% of the time. Two tools flagged none Same audit: the same photos lightly touched up Depending on the tool, between 27% and 93% were flagged as AI-generated Same audit: photos heavily altered with AI Detection rates ranged from 33% to 100% across the five tools Same audit: agreement between tools On 35 of 45 images, at least one tool disagreed with the rest Two cautions. NewsGuard's sample was small and drawn from a single news topic, so treat its percentages as illustrations, not benchmarks. And the accuracy figures vendors advertise, often above 95%, come from the vendors' own evaluations. How to use detectors sensibly: Treat a score as a tiebreaker after the source checks, not a replacement for them. If two tools disagree, that disagreement is information. Don't pick the one you prefer. Expect false alarms on real photos that were resized, compressed, or filtered. One vendor's CEO told NewsGuard that resizing and compression can trigger them. Expect hybrids to be hardest. Microsoft's researchers noted that inpainting, where a small part of a real photo is replaced with AI-generated content, makes forgeries extremely difficult to identify. Don't swing too far the other way. NewsGuard documented people using detector results to cast doubt on authentic images. An image with no credentials is not automatically fake, and a detector score is not proof of anything. Before calling something fake, ask what evidence you actually have. Try It Yourself: A Small Checker in Python If you are comfortable with Python, you can automate the two checks that code does well: reading the \"receipts\" an image may carry, and running a classic tamper test. What code cannot do is settle whether an image is AI-generated, which is why the script reports findings instead of a verdict. Save this as ai_image_checker.py. It is about 100 lines and needs only pip install pillow numpy. #!/usr/bin/env python3 \"\"\" ai_image_checker.py - look for the \"receipts\" an image may carry, and run a classic tamper check. It does NOT decide whether an image is AI-generated. pip install pillow numpy python ai_image_checker.py photo.jpg \"\"\" import io import sys from pathlib import Path import numpy as np from PIL import ExifTags, Image, ImageChops # IPTC \"digital source type\" values that say \"made (or partly made) by AI\" AI_SOURCE_TYPES = [b\"trainedAlgorithmicMedia\", b\"compositeWithTrainedAlgorithmicMedia\"] # Text-chunk keys that popular Stable Diffusion front ends write into PNG files GENERATOR_KEYS = [\"parameters\", \"prompt\", \"workflow\", \"invokeai_metadata\", \"sd-metadata\"] def scan_metadata(path): \"\"\"Return a list of (strength, message) findings about an image file.\"\"\" raw = Path(path).read_bytes() img = Image.open(path) findings = [] # 1. Content Credentials (C2PA) live in a JUMBF container inside the file. if b\"jumb\" in raw and b\"c2pa\" in raw: findings.append((\"provenance\", \"C2PA data found. Verify its signature at \" \"contentcredentials.org/verify (this script only detects it).\")) # 2. IPTC/XMP metadata can state outright that the image is AI media. for marker in AI_SOURCE_TYPES: if marker in raw: findings.append((\"strong\", f\"Metadata says this is AI media: {marker.decode()}\")) # 3. Some generators leave their prompt or workflow inside the file. for key in GENERATOR_KEYS: if key in img.info: findings.append((\"strong\", f\"Generator text chunk '{key}': {str(img.info[key])[:60]!r}\")) # 4. Camera EXIF: weak evidence, because it is trivial to copy or fake. exif = {ExifTags.TAGS.get(k, k): v for k, v in img.getexif().items()} if exif.get(\"Make\") or exif.get(\"Model\"): findings.append((\"weak\", f\"Camera EXIF present ({exif.get('Make', '?')} {exif.get('Model', '?')}). \" \"EXIF is easy to copy or fake.\")) elif not exif: findings.append((\"weak\", \"No EXIF at all. Typical of AI images, but also of screenshots \" \"and social-media re-uploads.\")) # 5. Dimensions: generators often output multiples of 64 pixels. width, height = img.size if width % 64 == 0 and height % 64 == 0: findings.append((\"weak\", f\"{width}x{height}: both sides are multiples of 64, \" \"a common generator size (many resized real photos match too).\")) return findings def error_level_analysis(path, quality=90, out_path=\"ela.png\"): \"\"\"Re-save the image as a JPEG and amplify what changed. Regions edited after the last JPEG save often stand out. Returns (mean_error, max_error).\"\"\" original = Image.open(path).convert(\"RGB\") buffer = io.BytesIO() original.save(buffer, \"JPEG\", quality=quality) buffer.seek(0) diff = np.asarray(ImageChops.difference(original, Image.open(buffer)), dtype=float) peak = max(diff.max(), 1.0) Image.fromarray((diff * 255 / peak).astype(\"uint8\")).save(out_path) return diff.mean(), diff.max() def main(): if len(sys.argv) != 2: sys.exit(__doc__) path = sys.argv[1] try: image_format = Image.open(path).format except OSError as err: sys.exit(f\"Could not open {path} as an image: {err}\") print(f\"== Metadata and provenance: {path}\") findings = scan_metadata(path) for strength, message in findings: print(f\"[{strength.upper():&lt;10}] {message}\") if not findings: print(\"Nothing found.\") print(\"\\n== Error level analysis\") if image_format == \"JPEG\": mean_err, max_err = error_level_analysis(path) print(f\"Mean error {mean_err:.2f}, max {max_err:.0f}. Open ela.png and look for \" \"regions that glow differently from their surroundings.\") else: print(\"Skipped: ELA is only meaningful for JPEG files.\") print(\"\\nReminder: finding nothing proves nothing. Metadata is easy to strip, \" \"and ELA cannot identify fully AI-generated images.\") if __name__ == \"__main__\": main()Run it with python ai_image_checker.py photo.jpg. What the script checks Receipts (scan_metadata). It looks for four things: a C2PA container, an IPTC/XMP field declaring AI media, prompt or workflow text left behind by Stable Diffusion front ends in PNG files, and camera EXIF. It also notes the image size. It detects C2PA data but does not verify the signature, so use contentcredentials.org/verify or the official C2PA tools for that. Read the labels the way you read the provenance table above: STRONG and PROVENANCE findings are informative, WEAK ones are hints, and an empty result means nothing. Tamper check (error_level_analysis). This is error level analysis (ELA). It re-saves a JPEG at a known quality and amplifies the difference. Regions pasted or edited after the last save tend to respond differently from the rest. In a quick test on a synthetic image with a pasted patch, the patch averaged about six times the error of the surrounding picture (29.7 against 4.8 on a 0 to 255 scale), while an untouched control image showed no difference. The script saves the amplified result as ela.png for you to inspect. ELA tells you about editing history, not about AI. A fully AI-generated JPEG that has been saved only once looks unremarkable, and heavy compression or resizing can swamp the signal. Example output $ python ai_image_checker.py generated.png == Metadata and provenance: generated.png [STRONG ] Generator text chunk 'parameters': 'a corgi astronaut above a neon city, Steps: 30, Sampler: Eul' [WEAK ] No EXIF at all. Typical of AI images, but also of screenshots and social-media re-uploads. [WEAK ] 1024x1024: both sides are multiples of 64, a common generator size (many resized real photos match too). == Error level analysis Skipped: ELA is only meaningful for JPEG files. Reminder: finding nothing proves nothing. Metadata is easy to strip, and ELA cannot identify fully AI-generated images.That output is from a test PNG with a generator-style text chunk. Strip the metadata, for example by taking a screenshot, and the STRONG line disappears, even though the image is just as artificial. Optional: ask a trained classifier This is the approach behind many AI-image detectors: a neural network trained on examples of real and generated images. It is separate from the script above. from PIL import Image from transformers import pipeline detector = pipeline(\"image-classification\", model=\"Organika/sdxl-detector\") for result in detector(Image.open(\"photo.jpg\")): print(f\"{result['label']}: {result['score']:.1%}\")It needs pip install transformers torch pillow. As its name suggests, this community model on Hugging Face was built to catch SDXL-era generators (it dates from late 2023), and it carries a non-commercial license (cc-by-nc-3.0). Expect weak results on newer generators, consistent with the benchmark findings above. Treat it as a demonstration of the technique, not a tool to rely on. Putting It Together: A Simple Routine flowchart TD A[\"An image grabs your attention\"] --&gt; B{\"Does it provoke a strong reaction or urge you to share?\"} B --&gt;|\"Yes\"| C[\"Pause before sharing\"] B --&gt;|\"No\"| D[\"Quick look: faces, background, small print\"] C --&gt; D D --&gt; E[\"Check the source: who posted it, reverse image search, credible coverage\"] E --&gt; F[\"Check provenance: Content Credentials or SynthID\"] F --&gt; G{\"Clear answer?\"} G --&gt;|\"Yes\"| H[\"Act on it, matching your confidence to the strength of the evidence\"] G --&gt;|\"No\"| I[\"Optional tiebreaker: a detector, treated as one weak signal\"] I --&gt; J[\"Still unsure? Say so, and don't share it as fact\"]\"I can't tell\" is a legitimate and honest outcome. It is far better than confidently calling a real photo fake, or a fake one real. Key Takeaways Your eyes alone are no longer enough: even in a large study, people were right only 62% of the time. Source checks beat glitch-hunting, because they work however good the image is. Provenance tools are strong evidence when they find something and nearly silent when they don't. Detectors disagree with each other and sometimes flag real photos, so use them as a tiebreaker. When you can't tell, say so, and hold off on sharing. Sources and Further Reading Google, \"Making it easier to understand how content was created and edited\" (SynthID and Content Credentials verification): https://blog.google/innovation-and-ai/products/making-it-easier-to-understand-how-content-was-created-and-edited/ NewsGuard, \"Leading AI Image Detection Tools Mislead Online Users, Often Declaring Authentic Content Fake\" (May 2026): https://www.newsguardtech.com/special-reports/leading-ai-image-detection-tools-mislead-online-users-often-declaring-authentic-content-fake Ren et al., \"How well are open sourced AI-generated image detection models out-of-the-box\" (arXiv, February 2026): https://arxiv.org/abs/2602.07814 Microsoft AI for Good Lab, \"How good are humans at detecting AI-generated images?\" (arXiv): https://arxiv.org/html/2507.18640v1 Scientific American, \"How to spot an AI-generated face, according to science\" (June 2026): https://www.scientificamerican.com/article/how-to-spot-an-ai-generated-face-according-to-science/ TechRadar, \"Still think you can spot AI?\" (July 2026): https://www.techradar.com/ai-platforms-assistants/still-think-you-can-spot-ai-heres-how-to-catch-more-convincing-ai-images-deepfakes-and-scams Content Credentials verification tool: https://contentcredentials.org/verify Organika, sdxl-detector (Hugging Face model page): https://huggingface.co/Organika/sdxl-detector","contentHash":"sha256:a37a24b860d65e49a589c4889ed304910d7a902809cc494da85c141ded0fb285","authorName":"Samod Alex","authorUrl":"https://zyvop.com/author/samod","authorSameAs":[],"category":"AI","tags":["AI-generated images","media literacy","deepfakes","Generative AI","image verification"],"audience":"Software engineers and developers building applications with AI","tone":"Instructional, practical, code-first","readingTimeMinutes":11,"wordCount":2773,"faqs":null,"primaryTopic":"AI","publishedAt":"2026-11-11T09:19:36.492Z","updatedAt":"2026-11-11T09:19:36.492Z","canonicalUrl":"https://zyvop.com/how-to-spot-an-ai-generated-image-and-what-to-do-when-you-can-t-79roo"}