(Dokumentasjon på engelsk)
What it does
Analyzes pasted text and reports 12 statistics in one grid: characters (with and without spaces), words, sentences, paragraphs, lines, syllables, reading time, speaking time, Flesch Reading Ease, Flesch-Kincaid grade level, and a plain-English difficulty label from Very Easy to Very Hard. It opens on a pangram sample so every tile has a value immediately, and Copy as JSON exports the raw numbers behind the tiles.
The counts are deterministic: reading time assumes 200 words/minute, speaking time 130 wpm, and readability uses the standard Flesch formulas (206.835 − 1.015 × words/sentence − 84.6 × syllables/word) with a vowel-group syllable heuristic. 100% client-side.
How to use it
- Paste (or type) text into the Text box - the grid updates on every keystroke.
- Click Sample to reload the built-in pangram paragraph, or Clear to empty the box.
- Read the tiles: counts along the top rows, then reading/speaking time (formatted as
7s/2m 41s), then the two readability scores and the difficulty label. - Click Copy as JSON to get the full statistic object (including the millisecond times and
nullfor unavailable scores).
Examples
Verified by running analyzeText() from src/lib/textStats.ts - the exact function the tool calls. The tool’s default sample text (The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs. How vexingly quick daft zebras jump!):
{
"characters": 122,
"charactersNoSpaces": 100,
"words": 23,
"sentences": 3,
"paragraphs": 1,
"lines": 1,
"syllables": 30,
"readingTimeMs": 6900,
"speakingTimeMs": 10615,
"fleschReadingEase": 88.7,
"fleschKincaidGrade": 2.8,
"readabilityLabel": "Very Easy"
}
The time tiles format those milliseconds: Reading time 7s, Speaking time 11s.
A short sentence shows how the scores skew for easy text - The cat sat on the mat. gives 23 characters, 18 without spaces, 6 words, 1 sentence, 6 syllables, Flesch 116.1, grade -1.4 (yes, negative - the formula goes below zero for very short, simple sentences), label Very Easy, reading time 2s.
An empty box reports all-zero counts, and the readability scores become null (shown as -) because there are no words to measure.
Good to know
- Private: analysis runs entirely in your browser.
- Sentences are counted by terminal punctuation (
.,!,?followed by a space or end); text with words but no terminal punctuation counts as one sentence. - Paragraphs are separated by blank lines; lines are split on
\n(a single unbroken line counts as 1). - Syllable counting uses a vowel-group heuristic with silent-
ehandling - accurate for most English, approximate for unusual words, and skipped entirely for text with no Latin letters. - A word is a run of letters, digits, apostrophes, and hyphens - so
don'tandstate-of-the-arteach count as one word. - Related tools: Word & Character Counter, Case Converter, Sort Lines & Remove Duplicates