Reading time calculator
Minutes per section, Markdown-aware, code left out.
Paste a lesson and see how easy it is to read: the Flesch reading ease score and grade level for the whole text and for every section, with the long sentences, passives and long words behind a low score. Code is ignored.
Free, no sign-up. Nothing you type leaves your browser.
Sections are its ## and ### headings. Headings, tables and code blocks aren’t scored; inline code and links count as one short word.
25 is a common rule of thumb for plain English, not a hard limit.
68 Plain English
Easily understood by 13- to 15-year-olds. Flesch–Kincaid grade level 6.8 (US school grade).
| Section | Words | Ease | Grade |
|---|---|---|---|
| Introduction | 38 | 92Very easy | 3.6 |
| What an API is | 52 | 91Very easy | 3.2 |
| Make your first request | 45 | 94Very easy | 2.3 |
| Keeping your key safeHardest to read | 75 | 5Very difficult | 18.7 |
| Check that it worked | 34 | 94Very easy | 2.3 |
Sections under 30 words get a rough score: one sentence moves it a lot.
A form of “to be” before a past participle. It’s a heuristic: check each one, and rewrite the ones that hide who does what.
The formulas were made for English and only count sentence length and syllables. Syllables are counted from spelling, so a few words will be off by one.
## and ### headings become the rows of the section table.Flesch reading ease comes from Rudolf Flesch (1948). It is 206.835 − 1.015 × (words ÷ sentences) − 84.6 × (syllables ÷ words). Long sentences and long words both pull it down. The Flesch–Kincaid grade level, from J. Peter Kincaid and colleagues (1975), uses the same two counts to estimate a US school grade: 0.39 × (words ÷ sentences) + 11.8 × (syllables ÷ words) − 15.59. Lower is easier.
| Reading ease | Band | Usually read easily by |
|---|---|---|
| 90–100 | Very easy | An average 11-year-old |
| 80–89 | Easy | Anyone: conversational English |
| 70–79 | Fairly easy | Most adults |
| 60–69 | Plain English | 13- to 15-year-olds |
| 50–59 | Fairly difficult | Adults, with some effort |
| 30–49 | Difficult | Readers used to academic text |
| 0–29 | Very difficult | University graduates |
Only prose is scored. Headings, tables and code blocks are left out, and a piece of inline code or a URL counts as one short word, so useEffectCleanup doesn’t count as a five-syllable word. Syllables are counted from spelling with rules for English (vowel groups, a silent final e, -le, -ed and so on), so a few words will be off by one.
In a technical lesson, learners already work hard on the content: new ideas, new commands, and terms you can’t avoid, like “endpoint” or “repository”. Working memory is limited, and every long sentence asks them to hold more of it at once. You can’t make the terms shorter, so make everything around them easy: short sentences, common words, one step at a time.
It matters even more when many of your learners read English as a second language, as they often do in international bootcamps and company academies. Plain sentences cost them far less than dense ones.
The example in the checker is an API lesson for a JavaScript bootcamp. Overall it scores 68, plain English, but one section, “Keeping your key safe”, scores 5 out of 100. Its three sentences average 25 words, its words average 2.08 syllables, and the checker finds eight possible passives in it: “are issued”, “be included”, “be committed” and five more. Here is the same section rewritten:
Your API key proves who you are. Send it in the
Authorizationheader of every request. Never commit it to Git: anyone who sees it can use it. If a key ends up in a commit, revoke it straight away and make a new one. Keep the key in an environment variable instead, and add your.envfile to.gitignore.
| Before | After | |
|---|---|---|
| Words a sentence | 25 | 12 |
| Syllables a word | 2.08 | 1.30 |
| Reading ease | 5 (very difficult) | 85 (easy) |
| Grade level | 18.7 | 4.4 |
The rewrite keeps every instruction, and each sentence now tells the learner what to do. To see exactly what changed between two versions like these, paste them into the Markdown diff checker.
Use the score to find the section worth a second look, then read it as a learner would. Length matters too: the reading time calculator shows how long each section takes to read.
60 or above is plain English, which suits most lesson text. Technical lessons often land between 50 and 60 because the terms themselves are long. Below 50, look at sentence length first: it is usually easier to fix than the vocabulary.
Both use the same two measures, words per sentence and syllables per word, with different weights. Reading ease runs from about 0 (very difficult) to 100 (very easy). The grade level estimates the US school grade a reader needs, so lower is easier.
Give each sentence one idea, put the person doing the action first, and use a short word where it means the same as a long one. Define each technical term the first time you use it, then check the section again.
No. Both formulas were made for English, and the syllable counting here follows English spelling. Other languages have their own adapted formulas, so a score for them here would mislead you.
No. It’s fine when it doesn’t matter who acts, as in “the file is created automatically”. It becomes a problem when it hides who has to act, and in a lesson that is usually the learner.
No. The checker runs in your browser; nothing you paste is sent to a server or saved.
Chalkenso is where courses are designed and improved: instructors note what happened on the exact passage, learners say where they got stuck, and AI drafts the next version for you to approve.