Offline Forensic Image Verification Suite — Free local tool for ELA, metadata scanning, and synthetic media detection.
Wondering if a photo or video is AI-generated? Use our free, 100% offline AI Media Forensic Analyzer to scan EXIF data and view ELA heatmaps securely in your browser.

Table of Contents
Not sure whether a photo has been edited or generated? Inspect its EXIF data, run an error-level analysis to spot altered regions, and get a read on whether it looks AI-made. Useful when you need to sanity-check an image before you trust it or publish it.
🔬 Media & Content Forensics Studio
Check an image for signs of editing, and audit written content for the patterns that make a page read as machine-written.
Paste the body text of a page. HTML is fine — tags are stripped before counting. Nothing is uploaded.
What to fix
Findings appear here, most important first.
Human writing varies sentence length a lot. Generated text tends to settle into one comfortable length and stay there. This chart is that variation made visible.
Paragraphs and sentences that all begin the same way are one of the most visible tells, and one of the easiest things to fix.
| Opening | Times | Example |
|---|
Histogram of the luminance channel. Sharp isolated spikes or comb-like gaps often mean the image has been through a levels or curves adjustment.
| Field | Value |
|---|
| Field | Value |
|---|
A SHA-256 digest identifies this exact file. Record it alongside any finding so the analysis can be tied to the file it was run on.
What this tab is and is not
It does not give you a percentage saying how likely a text is machine-written. Those numbers are unreliable enough to be actively harmful — a good page flagged at 85% gets rewritten for nothing.
What it does instead is count things that are actually countable: words search reviewers associate with padding, sentence structures that repeat, openers that all look alike, and keyword density that has crept too high. Every finding points at a specific place in your text.
Reading the score
The number is a problem count weighted by severity, so lower is better. Under 15 is a clean page. Over 40 means a reviewer skimming it would notice something is off before they could say why.
Related tools
- Word Counter & Case Converter — counts, case and keyword density
- Sentiment & Brand Studio — tone rather than editorial quality
- Entity & Escape Studio — strip invisible characters from pasted text
- Advanced Image Studio — edit and convert rather than inspect
Files Stay Local
The image analysis happens entirely inside your browser. We never upload your 24 MB JPEGs or screenshots to an external server, which keeps sensitive files private.
Real Error Level Analysis
It resaves your image at a known quality and maps the difference. If someone pasted a face into the frame, those pixels will usually compress differently than the background.
Metadata Extraction
Most social platforms strip EXIF data instantly. If your file still has IPTC blocks or C2PA credentials, the script reads them so you can see which software last touched it.
How to Use the Forensics Studio
Load an image
Drag a JPG or PNG onto the target area. The script scales anything over 2000 pixels down automatically so it does not lock up your browser.
Run the passes
Click the audit button. The tool runs the error level, noise residual, and gradient checks simultaneously across the file.
Check the readouts
Look for bright white patches on the ELA tab. A solid bright shape on a dark background usually points to an area that was edited later.
Save the hash
Grab the SHA-256 digest from the report tab. You can use it later to prove you tested this exact version of the file before any other changes were made.
Last Updated: August 2026
🔴 What This Page Does Not Do
Start with the omission, because it is deliberate. This content audit tool will not give you a percentage saying how likely a text is machine-written.
Those numbers are not reliable enough to act on. OpenAI withdrew its own classifier after measuring it at around a quarter accuracy, and independent testing has repeatedly flagged human writing — particularly by non-native English speakers — as machine-generated. A number like that is worse than no number, because you will rewrite a page that was fine.
So the Content Audit tab counts things that are actually countable, and tells you where each one is. Every finding points at a word or a pattern you can find in your own text and change.
🟡 The Content Audit Tab
What gets counted
🔵 Banned vocabulary — 52 words that read as padding — furthermore, comprehensive, robust, leverage, seamless, delve, tapestry, myriad and the rest. None is wrong in isolation; a page carrying twelve of them reads as assembled rather than written.
🟠 Stock phrases — 25 constructions with no content: in today's fast-paced digital landscape, it is important to note that, when it comes to, in conclusion. Each can be deleted without changing the meaning of its sentence, which is the test for filler.
🟣 Structural tells — patterns rather than words. “Not only X but also Y”, “it’s not just X, it’s Y”, “whether you’re a beginner or an expert”, rule-of-three lists, em-dash density, doubled hedging. One is fine. A page built from them is a shape a reader recognises before they can name it.
🔵 Sentence rhythm — the chart under the findings. Human writing varies sentence length considerably; generated prose settles near one comfortable length and stays there. Below about 35% variation the tab flags it.
🟠 Repeated openers — every sentence beginning with the same two words. Easy to miss while writing, obvious to a reader, and quick to fix.
🟣 Keyword density — enter your focus keyword and it flags anything above 2.5%. This is the mistake that creeps in during editing rather than writing.
Reading the score
It is a weighted problem count, so lower is better. Under 15 is clean, 15 to 40 is worth a pass, above 40 means a reader would notice something was off.
Press Load Sample to see the difference. The built-in sample is filler written on purpose and scores 113, with 24 banned words and three stock phrases named individually. A short paragraph of plain writing scores 6.
A real before and after
This sentence scores badly:
Furthermore, this comprehensive solution leverages robust technology to deliver a seamless experience.
Four banned words in fifteen. It also says nothing — strip the vocabulary and no fact remains. That is the real problem, and the word count is only the symptom. The fix is not a thesaurus:
It converts a 40 MB video in about nine seconds on a mid-range laptop.
Same length, one concrete claim, zero flagged words.
🟢 The Image Tabs
Four passes run over the same pixels. Error level analysis re-saves the image at a set quality and maps the difference, since regions edited after the original save often compress differently. Noise residual subtracts a blurred copy to leave sensor noise, and reports how evenly that noise sits across the four quadrants. Luminance gradient exposes lighting direction, so an object lit from the wrong angle stands out. The histogram shows comb-like gaps where levels or curves have been applied.
The Metadata tab reads which blocks are present — EXIF, XMP, IPTC, C2PA content credentials — and looks for a software trace. It also computes a SHA-256 digest so a finding can be tied to one exact file.
The Report tab pulls everything into one Markdown, plain text or JSON document with the hash and a timestamp at the top.
🔴 Honest Limits
A clean score is not a good page
This is the limitation that matters most. The audit measures style, not substance. A page can score zero and still be useless — accurate, readable, and telling the reader nothing they did not already know. No counter can detect that. If your page has no example, no number and no limitation anyone would care about, the score will not save it.
The word lists are opinionated
Comprehensive is a perfectly good word. It is on the list because it is used as filler far more often than it is used precisely. If you genuinely mean it, use it and ignore the flag. The tool counts; you decide.
The image passes suggest, they do not prove
Compression, resizing, screenshots and ordinary editing all move these measurements. A high ELA reading on a heavily compressed photo means nothing on its own. Treat any single flagged value as a reason to look more closely, never as a conclusion, and only take a finding seriously when more than one pass agrees.
Missing metadata usually means nothing
Most image hosts strip EXIF automatically on upload. An image with no metadata has almost certainly been through a platform, not through a cover-up.
Practical ceilings
Images are capped at 24 MB and scaled down before the passes run, because a full-resolution analysis of a 40-megapixel file locks up a phone. Everything is held in the page, so a refresh clears it — save the report before closing the tab.
🟡 Where to Go Next
For counts, case conversion and keyword frequency on their own, the Word Counter & Case Converter is the lighter tool. For why generated text has these patterns in the first place, and what search guidance actually says about it, there is a companion piece: how to spot AI-written content.
Google’s own position is set out in its guidance on AI-generated content, and the image passes here are built on the Canvas API.
❓ Frequently Asked Questions
Why is there no AI probability percentage?
Because those numbers are unreliable enough to cause harm. A false high reading makes you rewrite a page that was fine. Countable, locatable problems are more useful than a guess.
Is my text or image uploaded anywhere?
No. Both run in your browser. Open DevTools, watch the Network tab and press Audit — there is no request to see, because none is made.
What does the score mean?
A weighted count of editorial problems, so lower is better. Under 15 is clean, 15 to 40 is worth a pass, above 40 means a reader would notice something was off.
Does a score of zero mean my page is good?
No. It means the style is clean. Whether the page is useful — whether it has a real example, a number, an honest limitation — is not something a counter can measure.
Can I paste HTML straight in?
Yes. Tags are stripped before anything is counted, so pasting the source of a page works as well as pasting the rendered text.
Why is a normal word like comprehensive flagged?
Because it is used as filler far more often than precisely. If you mean it, keep it. The list is a prompt to check, not a rule to obey.
What sentence rhythm should I aim for?
Above about 50% variation reads naturally. Below 35% is flat. The quickest fix is to split one long sentence and let a short one stand on its own.
Does high ELA mean an image was edited?
Not by itself. Compression and resizing raise it too. Only treat it seriously when the noise or gradient pass points at the same region.
What is the SHA-256 digest for?
It identifies that exact file. Record it with any finding, and if the file is later changed the digest no longer matches — so the report is visibly about a different version.



