I've been on the "does this look like AI wrote it" side of the table a few hundred times — grading assignments, reviewing take-home tests, triaging pull requests that arrived suspiciously fast.
Every tool I tried gave me the same thing: a percentage. 87% AI. 42% human. And then nothing. No way to check the tool's reasoning, no way to explain the result to the person who wrote the code, no way to defend the call if someone pushed back.
So I built the thing I wanted instead: a checker that shows its work.
The core idea: evidence over verdict
Paste code (or drop a file), pick the language or let it detect one, and you get:
- a 0–100 AI-likelihood score
- the specific lines that drove that score
- one sentence per flagged range explaining why
That last part is the whole point. Instead of "this is 86% AI", you get something you can actually argue with:
L2 — docstring just repeats the function name; a classic model habit.
L4–6 — copies a full null-check pattern the task never needed.
L9 — left a# TODO: add validationbehind even though the code claims to be done.
Now the conversation is about the code, not about the tool's black box. And if the explanation is wrong, you can see that it's wrong — which is exactly what a usable detector should allow.
Score bands, because a single number invites misuse
I deliberately split 0–100 into three bands so nobody can pretend the score is a verdict:
| Band | Meaning |
|---|---|
| 0–29 | No clear AI signals |
| 30–49 | Worth a manual review |
| 50+ | Likely AI-generated |
It's a probability estimate, not proof. Please don't use it alone to accuse or punish anyone. If the code doesn't have enough distinctive content to judge, it says so rather than guessing.
What it deliberately does not do
Scope discipline is a feature:
- ❌ Not a plagiarism checker
- ❌ Not a code-quality review
- ❌ Does not try to name which AI tool was used
Just the one question: does this code carry AI signals, and where?
Language support
Python, JavaScript, TypeScript, Java, C++, Go, Rust, C#, PHP, Ruby, Kotlin and more. Language auto-detection, or pick it yourself. Minimum 10 non-empty lines (shorter snippets just carry too little signal), up to 75,000 characters per check.
Batch mode for the actual grading workflow
This is the part that saved me the most time. Upload a ZIP with one folder per student, or select multiple files, and it walks them one by one — up to 50 files per batch on credit packs / Pro, up to 200 on Business. Results export to CSV, individual reports to PDF, and everything stays in your check history.
Honest numbers from our own testing
Detection was tested on 90 GitHub code files (Nov 2026, Python / Java / C++):
- 1 in 45 human-written files flagged by mistake
- 8 in 10 AI-written files caught
Not perfect, and I'm not going to claim otherwise. That's precisely why the line-level evidence exists — the tool's job is to point you at what to look at, not to replace your judgement.
Privacy notes
Code you submit is read by a general-purpose LLM and sent to the model provider only for scoring. History is kept 12 months on paid plans, 7 days on free credits. New accounts get 2 free checks — enough to see whether the evidence style works for you before paying anything.
Try it
Paste a file you know was AI-generated, and one you know was hand-written, and watch whether the explanations match what you already know. That's the only test that matters.
If it flags something you think is unfair, I'd genuinely like to see the snippet — that's the feedback that improves calibration.
Built by me. Not an ad network product — a tool I use myself for review work.


