Free code review tool · Signals, not verdicts
AI Code Detector: See the AI-Style Signals in Any Code
Paste JavaScript, PHP, Python, HTML, CSS, Java, C or SQL and see which lines look AI-written and which look human-written, with the reason for each. The scan runs in your browser. If you want, ask an AI for a second opinion. No made-up percentages: no tool can prove who wrote code.
- Paste or upload code
- Read the signals and lines
- Ask the author, not the tool
Your code
What we found
Overall
These are clues, not proof. People write clean, well-commented code too, and AI code is often edited by people. Never accuse anyone based on this alone.
Signals in the code
The code
Marked lines have a signal. Press a line number in a signal to jump here.AI second opinion
OptionalSends up to the first 400 lines to our server and then to Google Gemini or OpenRouter. Nothing is saved. Don't send secret or company code you aren't allowed to share.
Reviewing usually takes 5 to 25 seconds.
What this detector does, and what it doesn't
Please read this before you use the result to judge anyone's work.
✓What it does
- Finds AI-style signals: comments that narrate each step, "example usage" and "replace with your API key" leftovers, chat formatting and emojis in comments.
- Finds human-style signals too: commented-out code, debug prints, personal TODO notes and mixed formatting.
- Shows the exact lines for each signal, so you can see the evidence yourself.
- Runs in your browser. The scan doesn't send your code anywhere.
- Offers an AI second opinion, only if you ask, with line numbers and no made-up percentage.
✕What it doesn't do
- Prove who wrote the code. No tool can. Clean, commented code is good practice for people too.
- Give an "AI percentage". Such numbers look precise but aren't measured from anything real.
- Catch edited AI code. Once someone renames, reorganises or removes comments, most signals disappear.
- Check for copying or licences. It doesn't search code online.
- Help hide AI use. It explains signals for reviewers; it doesn't rewrite code to dodge detection.
What the signals mean
Strong signals are worth a closer look. Weak signals only matter when several appear together.
Narrating comments
Comments like "Step 1: Initialize the array" or "Loop through each item" describe what the next line obviously does. AI assistants write these often; experienced developers usually comment on why, not what.
// Step 2: Loop through the users
Chat leftovers
"Example usage", "Replace with your API key", "In a real-world app you would…" or ``` code fences show the code was copied from a chat answer.
const API_KEY = 'YOUR_API_KEY_HERE';
Very uniform style
Every function with a doc comment, every indent the same, no stray spaces. A code formatter does this too, so it is only a weak signal.
6 of 6 functions have doc comments
Commented-out code
Old lines switched off with comments are typical of someone trying things while they work.
// let total = price * 1.18;
Debug leftovers and notes
console.log("here"), print("test"), "FIXME ugly but works": the marks of someone debugging their own code.
console.log('here 2');
Too little code
Under about 10 lines there isn't enough to see a pattern, so the report says it can't tell.
6 lines checked
Two versions of the same function
Both work. One shows typical AI-style signals, the other typical human-style signals.
AI-style signals
/**
* Calculates the total price of items.
* @param {Array} items - The list of items.
* @returns {number} The total price.
*/
function calculateTotal(items) {
// Initialize the total to zero
let total = 0;
// Loop through each item in the array
for (const item of items) {
// Add the item price to the total
total += item.price;
}
// Return the final total
return total;
}
// Example usage:
console.log(calculateTotal([{ price: 10 }]));
- A comment on every line saying what it does
- "Example usage" left at the end
Human-style signals
function cartTotal(items) {
let t = 0
for (const it of items) {
// price can be a string from the old API, see #142
t += Number(it.price)
// t += it.price * it.qty // qty not live yet
}
console.log('total', t)
return t
}
- A comment that explains why, with a ticket number
- Commented-out code and a debug log
Fair ways to check who wrote code
For teachers, interviewers and team leads. Use more than one.
| Method | What it tells you | Limits |
|---|---|---|
| Ask them to explain it | Whether they understand each part and why it's written that way | Nervous people may explain badly |
| Ask for a small change | Whether they can work with the code, live | Takes a few minutes of their time |
| Commit history | How the code grew: many small steps, or one big paste | Can be squashed or rewritten |
| Tests and edge cases | Whether the code really works for your case | Doesn't show who wrote it |
| This signal scan | Style clues on specific lines | Clues only; easy to remove; formatters look "AI-like" |
| Clear AI rules | What's allowed, so nobody has to guess | Needs to be agreed in advance |
How to use the AI code detector
Paste or upload the code
Use the whole file or function if you can. More lines give a clearer picture.
Check the language
It's detected automatically. Change it if it's wrong, so comments are read correctly.
Read each signal
Press the line numbers to see the evidence in the code. Strong signals matter more than weak ones.
Ask for a second opinion (optional)
The AI points to lines it finds AI-like or human-like. Treat it as another clue, not a judge.
Talk to the author
Ask them to walk you through the code. That tells you far more than any detector.
Decide fairly
Follow your school's or company's AI rules, and never rely on a tool alone.
Frequently asked questions
Can this tool prove that code was written by AI?
No, and no tool can. It shows signals, such as comments that narrate every step or "replace with your API key" leftovers, and the lines where they appear. People write clean, well-commented code too, and AI code is often edited by people. Use the result as a reason to ask questions, never as proof.
Why is there no AI percentage?
Because a percentage would look precise without being measured from anything real. Detectors that show "87% AI" are guessing. This tool shows what it found and where, so you can judge the evidence yourself.
Is my code uploaded anywhere?
The signal scan runs entirely in your browser, so your code isn't sent anywhere. Only if you press "Ask AI for a second opinion" are the first 400 lines sent: through our server to Google Gemini or OpenRouter with the shared AI, or straight to the provider with your own key. We don't save, cache or log it.
Which languages does it support?
JavaScript and TypeScript, PHP, Python, HTML, CSS, Java, C#, Kotlin, C and C++, Go, Ruby, shell scripts and SQL. The language is detected automatically, and you can change it so comments are read correctly.
Can I use it to check students' or candidates' code?
Use it as one clue among several. The fairest check is to ask the person to explain the code or make a small change to it while you watch. Agree clear AI rules in advance, and never mark someone down because of a detector alone.
Why does well-formatted code show AI-style signals?
Formatters like Prettier and Black make code perfectly uniform, and good developers document every function. That's why these are only weak signals. Strong signals are things like chat leftovers and comments that describe every single line.
How often can I use it?
The browser scan is unlimited. The optional AI second opinion allows 20 reviews an hour per visitor with the shared AI, or unlimited from us with your own free Gemini or OpenRouter key.
What to do next
Tools that help with code, prompts and text.