What the checker counts
Paste a draft, or enter a public URL. Pasted text is scored in the browser and is not uploaded. A URL is fetched on Posting Dude's server, the main text is pulled out of the HTML, and that text is scored in the browser. The address and the paste are not stored.
Words are groups of English letters and numbers. An apostrophe or a hyphen stays inside the word, so don't and state-of-the-art each count as one word. Sentences split on periods, question marks, exclamation marks, and ellipses. Common abbreviations such as Dr., e.g., and U.S. are kept inside the sentence, and so are decimals such as 3.14. A paragraph is a block separated by a blank line. On a fetched page, headings, paragraphs, and list items start new paragraphs.
Reading time divides the word count by 200 and rounds to the nearest second. 200 words per minute is a round planning figure, not a measured speed for any one reader. A text with at least one word is shown as at least one second.
The Flesch formulas
Reading ease is the formula Rudolf Flesch published in 1948. Grade level is the Flesch–Kincaid formula from Kincaid and others in 1975, in a U.S. Navy report on enlisted personnel. This page uses those public formulas. It does not add a house curve on top.
Syllables are estimated from spelling, not from a dictionary. Apostrophes are removed, then the word is split on hyphens. A piece of three letters or fewer counts as one syllable, and a number counts as one. Longer pieces count groups of consecutive vowels, and y counts as a vowel. A final e is dropped unless the piece ends in le, as in table. A final ed is dropped unless the letter before it is t or d, as in wanted. Each piece counts as at least one syllable. The estimate can miss a syllable, so treat the scores as a consistent reading of this text, not as a certified grade.
Both formulas divide by the sentence count and by the word count. A sample with no words, or with words but no sentence, is not scored. The formulas were written for a passage. One or two sentences can swing the result, including a grade below 0 or a reading ease above 100. The checker shows that number and does not pull it back into a band.
Reading ease = 206.835 − 1.015 × (words ÷ sentences) − 84.6 × (syllables ÷ words) Grade level = 0.39 × (words ÷ sentences) + 11.8 × (syllables ÷ words) − 15.59
The usual score bands
These are the usual labels for the Flesch Reading Ease scale, with the school levels commonly printed beside them. A score of 90 sits in Very easy. A score of 89 sits in Easy. They describe the prose. They are not a Google ranking scale, and this page does not add a target score of its own.
- 90–100 Very easy, about 5th grade
- 80–89 Easy, about 6th grade
- 70–79 Fairly easy, about 7th grade
- 60–69 Standard, about 8th to 9th grade
- 50–59 Fairly difficult, about 10th to 12th grade
- 30–49 Difficult, college
- 0–29 Very difficult, college graduate
Long sentences and the passive-voice estimate
A sentence over 25 words is listed, longest first, up to eight of them. The cutoff is a reading aid. It is not a rule from the Flesch formulas, and a long sentence can still be the right sentence.
The passive count is a heuristic. A sentence matches when a form of be — am, is, are, was, were, be, been, or being — is followed within four words by a past participle. Words such as not and never, and adverbs ending in ly, are skipped in that gap. Regular participles are words of four letters or more that end in ed, except a short list that are not participles, such as need and red. Common irregular participles, such as written, made, and shown, are included. The door was red does not match. She is tired does, because tired ends in ed, even when a reader would call tired an adjective. The label on the result says heuristic for that reason.
What a URL check reads
The fetch stops at 1.5 MB, follows at most three http or https redirects, and does not run JavaScript. Iframes are not loaded. JSON-LD and other scripts are not scored. The checker prefers a main element. If that is missing, it uses the longest article. If both are missing, it uses the body. Nav, footer, aside, form, and buttons are left out, and so are dialogs and status messages. A header that contains a nav is left out with that nav. A header that holds the page title is kept. Text that the HTML marks hidden is still read, because some pages put the article there until a script shows it, and this checker does not run that script. The heading outline is the H1–H6 text from that same region, in document order.
Local hosts, IP addresses, and private or link-local addresses, including 127.0.0.1 and 169.254.169.254, are refused before any request. A public name that resolves to a private address is refused as well. A redirect onto one of those addresses stops the check.
What the score does not decide
A higher reading ease does not, by itself, raise a ranking, earn a snippet, or win a citation in an assistant. Search engines do not publish a Flesch target. A page can be clear and still be the wrong page for the query. The score answers a smaller question: using these two public formulas and this syllable estimate, how dense is the prose.
Use it to compare two drafts of the same page. Fix a sentence you cannot say aloud, then look at the title and the description, which are a different problem from the body.
The meta title checker previews a title and description before you publish. The schema markup checker reads JSON-LD and compares it with Google's documented rich-result properties. The free tools index lists the other tools on this site. Pricing lists Launch and Studio. The why page covers what happens when distribution stops after launch day.