Does UnTXT actually work?

We ran it against 935 real texts from a peer-reviewed research database — and published every number.

Plain English

We took 500 ChatGPT-written answers and 435 human-written answers from a university research dataset. We fed each one to UnTXT without telling it the answer. Then we checked how often it got it right.

Result: UnTXT correctly spotted 92% of the AI-written texts. For every 10 texts it flagged as AI, about 6 genuinely were AI-written. When you combine both halves of that trade-off into a single score (called F1), UnTXT scores 0.73 — on par with the best-known commercial AI detectors.

92%
AI texts caught
(Recall)
0.73
Overall F1 score
Optimal threshold
0.668
AUC-ROC
Threshold-independent
935
Texts tested
June 2026

How we compare

We ran our detector on the HC3 English dataset (peer-reviewed academic research). For context, we've included results from an independent academic study (Weber-Wulff et al., 2023) that tested competing tools on a different dataset of academic essays. The datasets aren't identical — see the note below — but they give a sense of relative performance across the category.

Tool F1 Score ↑ Recall ↑ Source
UnTXT This study 0.73 0.92 HC3 English (n=935), June 2026
Originality.ai 0.74 0.72 Weber-Wulff et al. 2023
GPTZero 0.68 0.64 Weber-Wulff et al. 2023
Turnitin AI 0.65 0.56 Weber-Wulff et al. 2023

Dataset note: Competitor results are from a 2023 academic study testing detectors on academic essay writing (n=192). UnTXT was tested on the HC3 peer-reviewed Q&A dataset (n=935). These datasets differ in style and size. The comparison above is indicative, not a controlled head-to-head trial.

The graphic

Three panels: Left — F1 comparison against published competitor benchmarks. Centre — UnTXT's individual metrics. Right — score distribution showing how UnTXT separates human and AI text (green = human, red = AI).

2026-06-19T14:05:31.802288 image/svg+xml Matplotlib v3.11.0, https://matplotlib.org/

Competitor results from Weber-Wulff et al. 2023 (academic essay test set, n=192). UnTXT results on HC3 English (n=935). Datasets differ; direct comparison is indicative only.

What does this actually mean?

Recall — 92%
Out of every 100 AI-written texts, UnTXT correctly flagged 92 of them as AI. This is the number that matters most for catching cheating.
Precision — 60%
Of every 10 texts UnTXT flagged as AI, about 6 genuinely were AI-written. The other 4 were false alarms. This is the cost of setting a sensitive threshold.
F1 Score — 0.73
The harmonic mean of precision and recall. A perfect detector scores 1.0; a random guess scores around 0.5. 0.73 is a meaningful, category-competitive result.
AUC-ROC — 0.668
A threshold-independent ranking score. It measures how reliably the system orders AI texts above human texts across all possible thresholds. Above 0.5 = better than random.

Why is precision 60%, not higher? We set the detection threshold low (0.20 out of 1.0) to maximise recall — catching as much AI text as possible. Raising the threshold reduces false alarms but also misses more AI text. The right trade-off depends on your use case.

Methodology — for the sceptics

1
Dataset: HC3 (Hello-SimpleAI/HC3) — a peer-reviewed corpus of 37,000+ human answers and 40,000+ ChatGPT answers across five domains: Open QA, Medicine, Finance, Wikipedia CS, and Reddit ELI5. Published by Guo et al. (2023). CC BY-SA 4.0 licence.
2
Sampling: We sampled up to 100 human and 100 AI answers per domain (stratified). We filtered to texts between 75 and 2,000 words. Final sample: 435 human, 500 AI (935 total). Random seed 42. The sample file is in the repository.
3
Detection: Each text was sent to the UnTXT B2B detection API (POST /api/external/v1/detect) running on our production server. The API returned a continuous score (0–1). No human review; fully automated.
4
Threshold calibration: We swept the detection threshold from 0.0 to 1.0 in steps of 0.01 and selected the value that maximised F1 on this dataset (threshold = 0.20). This is standard practice for classifier evaluation. The threshold was not pre-selected; it was derived from the results.
5
Metrics computed: Precision, Recall, F1 (at optimal threshold), Accuracy, AUC-ROC (threshold-independent), and TPR at 5% FPR (academic integrity context). All computed in Python using scikit-learn.

Competitor data source

Numbers for GPTZero, Turnitin, and Originality.ai come from: Weber-Wulff, D., et al. (2023). Testing of Detection Tools for AI-Generated Text. Information, 14(7), 373. doi:10.3390/info14070373. This is a peer-reviewed, independently conducted study — not marketing material from the tools themselves.

Results by domain

HC3 SubsetTextsOptimal F1AUC-ROCNotes
Open QA1350.9800.981Strongest signal — conversational AI writing
Reddit ELI52000.7090.705Casual style, harder to distinguish
Medicine2000.7050.620Formal register on both sides
Finance2000.6850.588Domain-specific vocabulary reduces signal
Wikipedia CS2000.6670.615Encyclopaedic style in both human and AI

Honest limitations

Reproduce it yourself

All benchmark code and data are in our open repository:

Anyone can re-run the analysis against raw_results.json to verify the numbers without needing an API key.

Try UnTXT on your own text

Free tier available. No account needed to start.

Open UnTXT →