Fake Image Detector
Upload a photo and see what gives an AI-generated image away β the generator fingerprint, the metadata, the compression history, and the noise. Free, no sign-up, and your file never leaves your device.
Drag an image here, or
JPG, PNG and WebP up to 10 MB Β· HEIC not supported β export to JPG first Β· nothing is uploaded
We give you the evidence, not just a verdict. Some images can't be called either way β when that happens, we'll say so instead of guessing.
How to Check If an Image Is AI-Generated
Four steps, about ten seconds. You don't need to know anything about how detection works to read the result β but the more of the evidence you look at, the more useful it is.
Step 1 β Upload an image, or drag it onto the page
JPG, PNG or WebP, up to 10 MB. Most phone photos are HEIC by default β if yours is, export it to JPG first, or the upload will fail. Everything runs on this page: no account, no upload.
Step 2 β We read what the file says about itself
Before any pixel check runs, we look at the file's own records: camera make, editing software, save history, and any signed provenance markers (C2PA Content Credentials) still attached. A file that says "shot on iPhone, never edited" and a file that says "Midjourney" tell two completely different stories β and both are more conclusive than anything pixel analysis can produce.
Step 3 β Then four independent checks run
Generator-fingerprint heuristics, metadata and provenance, error level analysis, and noise consistency. They run separately and can disagree with each other. When they do, we show you the disagreement instead of averaging it away.
Step 4 β Read the verdict, copy the evidence
You get one of four verdicts, the four readings behind it, and the parts we couldn't measure. Copy the whole report as text or save it as an image, if you need to show it to someone.
Four Layers, One Verdict
Most detectors show you a number. We show you four separate readings β and we tell you which of them had nothing to work with, because a single score can't tell you which check actually fired.
Here's what each layer looks for, and β just as important β when each one stops working.
Layer 1 β Generator fingerprints
Every image generator leaves traces in how it builds a picture, and a lot of those traces survive in the final file. Some show up as a faint, repeating micro-pattern spread across the whole frame β an artefact of how the model decoded its output. Others sit in the frequency domain, where generated images tend to cluster differently from camera images. When the file still names a tool in its own metadata, this layer reports that name as the most likely source. Where it fails: anything that re-encodes the image damages this layer. A resize, a screenshot, a chat-app upload, or a social platform's compression will usually erase it completely. Pixel-level attribution here is heuristic, not a trained model β newer models also leave fainter, harder-to-attributable traces than the ones from two years ago.
Layer 2 β Metadata and provenance
A file can carry its own history. Camera photos often include the make and model, the shooting settings, the date and sometimes the location. Editing software writes its own tags. And a growing number of cameras and AI tools now attach signed provenance data β a tamper-evident record of what created the file. When C2PA Content Credentials or similar markers are present, we report their presence: that is the most reliable evidence on this page by a wide margin.Where it fails: most platforms strip metadata on upload, and it takes seconds to remove by hand. That cuts both ways β a missing record proves nothing at all, which is why we never treat its absence as evidence of anything. Its presence can be decisive; its absence is silence. We check that markers exist; we do not cryptographically verify signatures in the browser.
Layer 3 β Error level analysis
When an image is saved as JPEG, every part of it is compressed by roughly the same amount. That means every part should show roughly the same level of compression error. If one region sits at a dramatically different error level than its surroundings, something happened there after the original save β an object removed, a face pasted in, a background regenerated. Where it fails: this layer cannot detect an entirely generated image, because there is no "original" baseline to compare against; the whole frame agrees with itself. It's also easily confused by screenshots and by any image that's been saved more than once. And it's a visualisation, not a verdict β the ELA map highlights where to look, not what happened.
Layer 4 β Noise and compression history
Camera sensors produce a characteristic grain, and every save, resize and re-compress rewrites it in a recognisable way. Genuine photographs carry this grain consistently across the frame. Generated or replaced regions usually don't β they're either unnaturally clean, or patterned differently from everything around them.Where it fails: if the entire image was generated, there's no "rest of the frame" to disagree with. Night mode, HDR, portrait blur and any aggressive noise reduction also flatten real grain, which is why "this looks too smooth" is never a verdict on its own.
Where partial edits fit in
The second verdict exists for one specific case: a real photograph with an AI-altered region β a person removed from a crowd, a background swapped, a sky regenerated, a frame extended with generative fill. There is no real photograph underneath that region, but there is one everywhere else, which is what Layers 3 and 4 detect. Most tools call this "AI-generated" and stop there. That's misleading β the photo itself is real, and saying otherwise starts an argument you can't win. We give it its own verdict instead. And when the whole frame is synthetic, that verdict takes priority: a generated image can show local inconsistencies too, and reporting those as "edited" would be backwards. That is why the rules are evaluated top to bottom and the first match wins.
What we do when the layers disagree
They disagree constantly. Metadata says camera, fingerprint says generator, ELA flags a region, noise looks clean. When that happens we don't average the four readings into a comfortable number β we show you which layers fired, which stayed silent, and which had nothing to measure. If the conflict is too large to resolve, the verdict becomes INCONCLUSIVE and we tell you exactly why. A detector that always produces a confident answer isn't detecting harder. It's just hiding the disagreement from you.
How to Read Your Result
Four tiers, in fixed priority β the first match wins, so one file never returns two verdicts at once.
- Likely AI-generated β multiple checks agree the image shows signatures of synthetic origin. Don't treat it as a photograph; if it isn't yours, hold off before sharing.
- Edited β AI inpainting or object removal β the base image appears to be a real photograph with at least one region altered after it was saved. The photo is real; the altered area isn't.
- Camera original β no generation signals β every applicable check came back clean. This is not a proof the image is genuine; it means these checks found nothing.
- Inconclusive β not enough usable evidence (heavy compression, screenshots, tiny files) or the layers conflict. Get a copy closer to the original and run it again. This is a normal answer, not an error.
Confidence is shown as a two-decimal figure such as 0.87, never as a fake-precision percentage. Every tier includes a fixed disclaimer: this is a probabilistic reading of the file you uploaded, and it can be wrong in both directions.
Can a Detector Tell AI From Photoshop or CGI?
Not reliably, and any tool that claims otherwise is overselling. Here's what we can and can't separate.
What we can usually tell apart:
- Camera or original export vs. generated image β fingerprint and noise layers are reasonably good at this, when the file hasn't been re-encoded.
- Unedited image vs. locally edited image β ELA and noise consistency catch most insertions, removals and grown regions.
- Which generator, when the file still names one β metadata tool strings work on unprocessed output and fall apart after any re-encode; pixel attribution stays a guess.
What we usually can't:
- AI-generated vs. CGI rendering. A professionally rendered 3D scene and a generated image look similar at the pixel level β both are synthetic, both lack sensor noise, both are too clean.
- AI-generated vs. heavily retouched. A composite of five photographs, or a portrait with an hour of manual work, can look exactly like a generation to every layer on this page.
- Generator A vs. Generator B, once a file has been through a platform. The fingerprints blur together.
So when we say LIKELY AI-GENERATED, we mean: this image shows the signatures of synthetic origin. We do not mean: this image was made by a model, and not by a CGI artist or a retoucher. If that distinction matters for what you're doing, treat our verdict as one input, not a conclusion.
Why Your Own Phone Photos Look Suspicious
If a photo you took yourself came back flagged, you're not the first β and it usually isn't a false alarm in the way you think. Modern phone cameras don't take one photograph. They take several, align them, and blend them. That's how they get detail out of small sensors and dark scenes: night mode is the obvious case, but HDR, portrait mode and most "pro" modes do a version of it on every shot.
The result is a file with synthetic, blended regions in it. That isn't a bug in the detection β it's genuinely what the file contains. It's the same reason a screenshot often scores as inconclusive: the moment you re-save or screen-grab an image, you've replaced the original signal with something the checks weren't built to read.
Two things worth knowing if this happens to you. First, a verdict on a phone photo is a statement about how the file behaves, not about whether you were there. Second, if the distinction actually matters β you're proving something to a platform, a buyer or an employer β send the original export straight off the camera roll, not a version that's been messaged or posted anywhere. The un-shared copy is the one that still carries evidence.
Fake Image Detector vs Deepfake Detector
These two get mixed up constantly, including by people who work with media, so it's worth thirty seconds.
This page asks: was this image generated, or edited with AI? It works on any picture β a landscape, a product shot, a portrait, a news photo. It's looking for a synthetic origin, or a region that was changed after the file was saved.
If you need to check for face swaps instead, that tool asks a different question: has a real person been manipulated? It assumes there's a real human underneath and looks for the seams β a face that was swapped in, a lip movement that doesn't match the audio, a voice that isn't the person it claims to be.
The two overlap on exactly one case: a synthetic portrait of a person who doesn't exist. If that's what you have, either tool will give you a reading and they may disagree. If you're not sure which one you need, start here β if the file has no face in it, this is the one you want.
Who Uses This
Three situations where this page actually earns its keep. In all three, the useful question isn't "is this image fake" in the abstract β it's what should I do before I pay, sign or forward.
A listing photo, before you send money
A used phone, a camera, a piece of furniture β anything where you're paying a stranger on the strength of a picture. Two things go wrong here: the whole image was generated, or a real photo had its flaws painted out with AI (scratches, cracks, missing parts). Layer 3 catches the second kind better than the first, because the unedited part of the photo gives it a baseline to disagree with.
If it comes back likely AI-generated, ask for a new photo β a specific angle you choose, next to something with today's date in it. If it comes back edited, that's not automatically a scam; people clean up photos all the time. It is a reason to ask what was changed, and to keep the payment inside a platform that can reverse it.
And one thing this tool cannot tell you: a photo that passes every check can still show you a different item than the one that ships. Camera original means this file looks unmanipulated, never this listing is honest.
A business, property or profile photo, before you commit
Before you sign a lease on a flat you've only seen photos of, book a venue, or hire someone you've never met. The failure mode here is subtler: instead of a fake object, you get a real-looking image that isn't of the place or person you're dealing with β a stock photo, someone else's storefront, a generated interior, or a genuine photo from a genuinely different address.
Detection helps with only part of that. It can flag a generated or spliced image; it can't tell you whose flat it is. So pair the result with a second request: a live video walk-through, or the same room photographed from a second angle that you specify. Ask for the angle after you see the first photo β that's the part a borrowed image can't satisfy.
A camera original reading here is worth having, and it settles less than people assume. It tells you the file wasn't faked. It doesn't tell you where it was taken.
An image you're about to forward
A news photo, a chart, a screenshot from a group chat, a social card doing the rounds. This is the case where ten seconds of checking does the most good, because forwarding is what spreads it β and because most of what circulates in this form has already lost the evidence.
Read the verdicts this way. Likely AI-generated β don't forward it; if you do say something, say what the tool said ("this scored as likely synthetic") rather than what you concluded ("you've been fooled"). Edited β AI inpainting is the one people get wrong constantly: the base photograph is real, one region isn't. Say it that way β calling the whole image "AI-generated" is the part that starts an argument you can't win. Camera original doesn't make a claim true; a real photo can be real and mislabelled. And inconclusive gets treated exactly like any other unverified image: wait for a source, or just don't pass it on. Nothing bad happens if a real photo doesn't get forwarded today.
One more thing worth knowing: sharing is what destroys the evidence. Every forward re-encodes the file, and by the third platform it's been through, most of what these four layers read is gone. If you're going to check an image at all, check the version you received β not the one you saved out and re-uploaded.
Three situations, one shared property: in each of them the useful answer isn't "real or fake", it's what to do next. That's why every verdict on this page comes with a next step attached β and why inconclusive is a real answer here rather than a failure.
Frequently Asked Questions
Is this tool free?βΎ
Do you keep the images I upload?βΎ
Which AI generators can you identify?βΎ
Can you tell AI-generated from Photoshop or CGI?βΎ
Why did my own phone photo come back as suspicious?βΎ
Can I use the result as proof?βΎ
Related
Evidence first. Verdict second.
Scroll back up to scan an image in your browser β four layers, four tiers, and every reading shown including the ones that came back clean.
β Back to the detector