How readability scores work — and when they lie
A readability index turns two things you can measure — how long your sentences are, and how long your words are — into one number that predicts how hard a text is to read. It does not measure whether the writing is good, accurate or interesting. It measures whether an average reader has to work to parse it.
Every formula on this page was fitted on a specific corpus in a specific language. That is the part most tools leave out, and it is the reason this one asks which language you actually wrote in before it prints a number.
The formula behind the main score
Flesch Reading Ease is the most widely used index, and the arithmetic is public:
206.835 - 1.015 × (words / sentences) - 84.6 × (syllables / words)
Worked example. Take the sentence "The cat sat on the mat and waited for the rain to stop." That is 13 words, 1 sentence, 14 syllables.
- words per sentence = 13
- syllables per word = 14 / 13 = 1.08
- 206.835 - (1.015 × 13) - (84.6 × 1.08) = 102.3
Above 100 the scale stops meaning much, which is itself informative: Flesch was fitted on prose, not on one short sentence. Scores are stable from roughly 200 words upward — below that, adding a single long word moves the result by several points.
What the number is for
- Editing against a target. Most newsroom style guides aim at Flesch 60-70; US insurance and healthcare rules often require a specific grade level by law. A score gives you something to edit toward.
- Finding the two sentences that break a page. The overall figure matters less than the outliers. A paragraph at grade 16 inside an article at grade 9 is usually one sentence with three subordinate clauses.
- Comparing drafts. The absolute value is arguable; the direction of travel between draft 2 and draft 3 is not.
Why the language matters more than the formula
Flesch counts syllables per word. Italian words are longer in syllables than English ones for reasons that have nothing to do with difficulty — so running an Italian text through Flesch reports it as far harder than it reads. That is why other languages got their own fitted formulas, and this tool switches to them automatically:
- Gulpease (Italian) uses letters instead of syllables:
89 + (300 × sentences - 10 × letters) / words. Its scale is anchored to school levels: below 80 is hard for someone with only primary school, below 60 hard with middle school, below 40 hard with a high-school diploma. - Fernández Huerta (Spanish) and Kandel-Moles (French) keep the Flesch shape with coefficients refitted on their own corpora.
- Wiener Sachtextformel (German) leans on the share of three-syllable words, because German builds difficulty by compounding.
- LIX (Björnsson, Swedish) uses no syllables at all — just sentence length plus the percentage of words over six letters. That makes it the one index here that transfers across alphabets, which is why it is shown for every alphabetic text. It does not transfer to Chinese, Japanese or Thai: "longer than six letters" is a property of alphabetic words, and a two-character Chinese word is not Björnsson's short word.
Chinese, Japanese, Korean and Thai
These four languages have no alphabetic syllables to count, and three of them are written without spaces between words. Feeding them into Flesch produces a number, and the number is meaningless — usually because a naive counter has already reported the whole paragraph as one word.
This tool does two things instead. It segments the text with Intl.Segmenter, the word-boundary engine built into the browser, so word and sentence counts are right in the first place. Then it prints no index at all for that text, and shows only the measures that survive segmentation: word count, sentence count and words per sentence. Not even LIX is shown — it counts words over six letters, and that is a fact about alphabets, not about difficulty. A missing score you can trust is worth more than a score you cannot.
FAQ - Frequently Asked Questions
#, * and angle brackets are not letters, but the words around them still get counted, and stray line breaks can be read as sentence boundaries — which shortens average sentence length and inflates the score. Paste the rendered text, not the source.