Research · 2026

Not all text is human.

25-dimensional stylometric analysis reveals the fingerprint of AI-generated writing. Paste text below — everything runs in your browser. No server, no API, no data leaves your machine.

25
Stylometric features
3,356
Training samples
700/700
Cross-platform parity
Analysis input

How it works

Three steps, all computed locally. No server, no API keys, no data leaves your browser.

1

Extract

25 stylometric features computed from your text — lexical diversity, sentence rhythm, punctuation patterns, word choice, and structural markers. Pure regex + arithmetic, identical logic to the Python research pipeline.

2

Classify

An XGBoost model (200 trees, max depth 6) transpiled to JavaScript via m2cgen scores the 25-dimensional vector. Inference takes under 10ms. Trained on 3,356 human and AI texts across 6 domains.

3

Visualize

Your text's fingerprint plotted against human and AI baselines on an interactive radar chart. The top 5 discriminating features are highlighted with deviation bars showing exactly where your text differs.

Stylometric Fingerprint

Mean feature vectors for human-written and AI-generated text across all 25 dimensions. The two profiles diverge measurably — word count, paragraph structure, and stopword usage drive the separation.

Human vs AI — 25-dimension radar overlay

Training data

What drives the classifier

XGBoost feature importance rankings. Word count and paragraph structure dominate; word-choice features (adverbs, function words, adjectives) form the second tier. Sentence rhythm (burstiness) and punctuation round out the signal.

Top 12 features by importance gain

XGBoost
✓

Cross-Platform Validation

The JavaScript feature extractor produces output identical to the Python implementation across 700 test samples — verified within floating-point tolerance (1e-6). Browser inference matches the Python model for 100% of samples.