AI detector benchmark

For researchers looking for numbers they can check rather than claims. SlopTotal runs 23 independent detectors on the same text and shows every score, free and without an account.

What is in SlopBench

1,626 human texts, every one written before ChatGPT, and 1,626 AI texts on the same topics and at the same lengths from 14 models. Each row is one source; the percentages are held-out results of the calibrated score.

Source Texts AI texts at 55+ Human texts at 55+
Academic arXiv 150 48.7% 0%
Creative writing WritingPrompts 150 36% 0%
Encyclopedia Wikipedia 150 84% 2.7%
Essays college 70 85.7% 4.3%
Essays Hewlett ASAP 88 100% 0%
Essays TOEFL 91 100% 15.4%
Explanations ELI5 150 50% 0%
Literature Project Gutenberg 87 33.3% 0%
News BBC 60 100% 0%
News CC-News 90 93.3% 5.6%
News Wikinews 90 93.3% 0%
Q&A Stack Exchange 150 66.7% 0.7%
Reviews Amazon 150 71.3% 0%
Social posts Reddit 150 42.7% 0%

Detection by model

Share of each model's texts that score 55 or more, Likely AI-generated or above. Models with fewer than 15 texts are left out.

Model Texts AI texts at 55+
llama-4-maverick 247 95.1%
gemma-4-31b-it 16 93.8%
mistral-small-2603 235 90.2%
qwen3.8-flash 256 72.3%
qwen3.8-27b 21 61.9%
nemotron-3-super-120b-a12b 24 58.3%
deepseek-v4.1-flash 272 53.3%
gpt-6-luna 264 50%
glm-5.3-flash 253 49.4%
nemotron-3-ultra-550b-a55b 26 26.9%

Each engine on SlopBench

Engine AUC Bias against older prose Weight in the score
1 SuperAnnotate neural classifier · 355M
0.939
-0.18
2 Desklib DeBERTa neural classifier · 435M
0.936
-0.17
3 Fakespot neural classifier · 125M
0.917
+0.04
4 ReMoDetect neural classifier · 184M
0.866
-0.28 0
5 Structural Analysis linguistic heuristic
0.756
+0.01
6 TMR Detector neural classifier · 125M
0.749
+0.17 0
7 E5-Small embedding classifier · 33M
0.720
-0.20 0
8 ChatGPT Detector neural classifier · 125M
0.688
-0.15 0
9 Binoculars statistical test · 355M + 82M
0.680
-0.08
10 BERT-tiny RAID neural classifier · 4.4M
0.654
-0.17 0
11 Log-Rank statistical test · 355M
0.644
-0.14 0
12 Perplexity statistical test · 355M
0.644
-0.13 0
13 Fast-DetectGPT statistical test · 355M
0.632
-0.04 0
14 GLTR statistical test · 355M
0.622
-0.20 0
15 Cross-Perplexity statistical test · 355M + 82M
0.618
-0.14 0
16 Burstiness linguistic heuristic · 355M
0.589
+0.08
17 Linguistic Markers linguistic heuristic
0.574
-0.02 0
18 Formulaic Patterns linguistic heuristic
0.557
0.00
19 DivEye statistical test · 355M
0.548
-0.12 0
20 Readability Uniformity linguistic heuristic
0.539
+0.03
21 OpenAI Detector neural classifier · 125M
0.521
-0.05 0
22 Sentiment & Hedging linguistic heuristic
0.491
-0.02 0
23 Vocabulary Richness linguistic heuristic
0.362
-0.02 0

AUC is how often the engine ranks an AI text above a human one: 1 is perfect, 0.5 is a coin flip. Bias is how much higher it scores literature from before 1920 than modern human writing. Weight is what the English calibration gives each engine; most get none, because another engine already carries the same signal.

Run it yourself

The texts, the scripts and the scores are in the repository. Start SlopTotal locally, score the corpus against it and rebuild these tables.

git clone https://github.com/pablocaeg/sloptotal.git
cd sloptotal/tests/eval/slopbench
SLOPTOTAL_URL=http://127.0.0.1:8000 python score.py results.jsonl
python analyze.py results.jsonl

What the engines look for

Classifiers trained on text from any LLM, statistical tests that measure how predictable each word is, and checks for the structure and phrasing AI models overuse.

Short texts give weak signals. Use at least 80 words, and 200 or more where you can.

How to read the result

The score runs from 0 to 100. From 55, fewer than 2 in 100 human texts score that high; from 80, fewer than 1 in 200.

Look at the engine table too. When most engines agree, the score is strong evidence. When they split, the text is often AI-assisted or heavily edited, and it deserves a closer human read.

Context

The numbers and the harness that produced them are both public. On SlopBench the calibrated ensemble reaches AUC 0.942, calls 67% of AI texts "Likely AI" and 1.7% of human texts. Per-engine figures are published too, including the uncomfortable ones: classifiers that score near-perfectly on the RAID benchmark drop to AUC 0.75 on current models, and the GPT-2 perplexity tests to about 0.64.

How the 23 engines reach a score

SlopTotal does not ask one model for an opinion. It runs 23 independent detectors and shows all 23 scores, because the useful information is often in the disagreement. Nine are neural classifiers trained to separate human from machine text, among them DeBERTa-v3-large, RoBERTa-large and a 4.4M-parameter BERT-tiny. Seven are statistical tests that need no detector training: they measure how predictable the text is to GPT-2 models, with perplexity, token ranks, log-rank and the cross-entropy between two models. The other seven read the prose itself: sentence-length variance, vocabulary, structure, hedging and the stock phrases AI models overuse.

The overall score is not an average. A logistic model fitted on SlopBench weighs each engine by what it adds once the others are known, so engines that fail in the same way do not count twice. Very short texts are pulled toward the middle, because a few words cannot carry much evidence.

The verdict bands are set on human writing: 45 is where the top 5% of human texts begin, 55 the top 2% and 80 the top 0.5%. So a score of 55 or more means fewer than 2 in 100 human texts score that high. Other languages have their own fit, and each language is marked supported, experimental or not yet reliable.

Measured on 3,252 texts

An accuracy figure means little without saying what it was measured on. SlopTotal is measured on SlopBench, an open benchmark of 1,626 human texts, every one written before ChatGPT existed, and 1,626 AI texts on the same topics and at the same lengths from 14 current models (GPT-6, DeepSeek, Qwen, Llama, Mistral, Gemma, GLM among them). It spans news, encyclopedias, science abstracts, Q&A answers, Reddit posts, reviews, student essays, non-native English and fiction, because a detector tested on one kind of writing ends up with numbers that collapse in the wild.

Two slices are there to catch unfairness: 87 passages of literature published between 1532 and 1915, where any high score is an error by construction, and essays by non-native English writers, the people detectors most often accuse wrongly. Every headline number is measured on kinds of writing the model was not tuned on, and the results are published in the repository, failures included.

Where detection stops working

Short text is unreliable, in every detector. Under about 80 words the score swings on word choice alone, and it settles from about 200 words. If a tweet gets a confident answer, distrust the answer.

Lightly edited AI text is the hard case. Each pass of human rewriting removes machine fingerprints, and there is no point at which editing stops mattering. Source code is out of scope: the engines are trained on natural language and do not reliably detect AI-written code, so SlopTotal does not claim to.

A score is evidence, not a verdict. Use the 23 scores to decide where to look and what to ask, then ask. No detector output should decide a grade, a hire or a publication on its own.

Questions we get asked

Can SlopTotal detect text from any LLM?

Yes. The score is calibrated on text from 14 current models, and the classifiers were trained on output like any LLM. Heavily edited text tends to land in the middle bands, so check the engine table.

Is it free?

Yes. No account, no credits and no paid plan.