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.

  1. Paste or upload code
  2. Read the signals and lines
  3. Ask the author, not the tool

Your code

Or upload a file

The scan runs in your browser. Your code isn't sent anywhere unless you ask for an AI second opinion.

What we found

Your report appears hereEach signal shows whether it looks AI-written or human-written, why, and on which lines.

Use your own free AI key

Your key stays in this browser tab only and goes straight to the AI provider, never to our server. It's also used by our other AI tools until you close the tab.

Free from Google AI Studio.

Free models at openrouter.ai/keys.

Honest by design

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.
Reading the report

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.

AI-style · strong// 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.

AI-style · strongconst 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.

AI-style · weak6 of 6 functions have doc comments

Commented-out code

Old lines switched off with comments are typical of someone trying things while they work.

Human-style · weak// 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.

Human-style · weakconsole.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.

Can't tell6 lines checked
An example

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
Cheat sheet

Fair ways to check who wrote code

For teachers, interviewers and team leads. Use more than one.

MethodWhat it tells youLimits
Ask them to explain itWhether they understand each part and why it's written that wayNervous people may explain badly
Ask for a small changeWhether they can work with the code, liveTakes a few minutes of their time
Commit historyHow the code grew: many small steps, or one big pasteCan be squashed or rewritten
Tests and edge casesWhether the code really works for your caseDoesn't show who wrote it
This signal scanStyle clues on specific linesClues only; easy to remove; formatters look "AI-like"
Clear AI rulesWhat's allowed, so nobody has to guessNeeds to be agreed in advance
Step by step

How to use the AI code detector

  1. Paste or upload the code

    Use the whole file or function if you can. More lines give a clearer picture.

  2. Check the language

    It's detected automatically. Change it if it's wrong, so comments are read correctly.

  3. Read each signal

    Press the line numbers to see the evidence in the code. Strong signals matter more than weak ones.

  4. 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.

  5. Talk to the author

    Ask them to walk you through the code. That tells you far more than any detector.

  6. Decide fairly

    Follow your school's or company's AI rules, and never rely on a tool alone.

Questions

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.