The Readability Checker computes the Flesch Reading Ease and Flesch-Kincaid Grade Level scores entirely in your browser. Reading Ease is 206.835 minus 1.015 times the average words per sentence, minus 84.6 times the average syllables per word. Grade Level is 0.39 times the average words per sentence, plus 11.8 times the average syllables per word, minus 15.59. Both formulas come from the 1948 and 1975 papers by Rudolf Flesch and J. Peter Kincaid respectively.
Sentence segmentation is done by splitting on the regex /[.!?]+/ — anything ending with a period, exclamation, or question mark plus surrounding whitespace counts as a boundary. That works for most prose but produces inflated counts when text contains abbreviations like 'Mr.' or 'e.g.', and undercounts when sentences end in ellipsis or are joined with semicolons. If your scores look off, check whether your text uses unusual punctuation conventions.
Word counting strips non-word characters with a regex, splits on whitespace, and filters empty strings. The result matches what most word processors call a 'word' but it counts hyphenated compounds (state-of-the-art) as a single token because hyphens are word characters in JavaScript's \w class. Em-dash separated phrases count as separate words.
Syllable estimation is a heuristic: count contiguous runs of vowels (a, e, i, o, u) in a lowercased word, treat that count as the syllable estimate, then subtract one for a trailing silent 'e' and add one for a trailing 'le' pattern. This matches the dictionary syllable count for common English words within roughly ten percent. Words with unusual phonotactics (rural, choir, fire) and most non-English vocabulary will be miscounted.
The Flesch family of scores was calibrated on twentieth-century English educational material. Applying them to other languages produces nonsense — German has longer compound words, Spanish has different syllable density, and Chinese characters break the per-word and per-syllable assumptions entirely. Use these scores only for English prose.
Reading time uses the standard 238 words-per-minute average for adult silent reading, sourced from the 2019 meta-analysis by Brysbaert. For technical or unfamiliar material, real reading speed is closer to 100 to 150 words per minute, so treat the displayed number as an optimistic floor rather than a precise estimate.
All metrics recompute via a useMemo hook on every text change. Because the calculations are O(n) over the input, even multi-thousand-word essays stay interactive on modest hardware. No request leaves the page — your draft, including unpublished material under embargo or NDA, stays in the tab.