Every detector in the package, running in your browser on whatever you
paste. No API key, no request, no server — the library is zero-dependency and
synchronous, so this page runs the real thing. The numbers below are what
checkOutput returns.
Each detector returns 0–1 and you pick the line. The tick on each track is the threshold for the selected preset — switch presets and watch the ticks move while the scores stay put.
Nothing short-circuits on the first failure, so a verdict shows the whole picture rather than whichever check happened to be ordered first. Passing scores are reported too — those are what you feed to your metrics.
A miss is annoying; discarding a healthy response and retrying against a slower provider is worse. That is why the corpus carries traps — markdown tables, repeated list prefixes, rhetorical refrains — that a naive detector flags.
Chinese, Japanese and Thai put no spaces between words, so a whole clause is one
token and word n‑grams measure nothing. TAIL_LOOP switches to
characters and reads its own threshold — the label shows which ran.