Reading time calculator
Minutes per section, Markdown-aware, code left out.
Paste two versions of a lesson and see what changed, paragraph by paragraph, with the changed words highlighted. Then check that the edit kept every heading, code block, link and image.
Free, no sign-up. Nothing you type leaves your browser.
13% +26 / −20 words
Before: 16 blocks · After: 18 blocks
diff block for a pull request or a message.Tools like git diff compare lines. That suits code, where a line is usually one statement. Prose doesn’t work that way. In Markdown a paragraph is often a single long line, so one changed word marks the whole paragraph as replaced and you hunt for the difference yourself. If an editor re-wraps the text, every line after the edit changes even though the words didn’t.
This checker compares what a reader reads: whole paragraphs, headings, list blocks and code blocks. Spacing and line breaks inside a block are ignored, so re-wrapping isn’t a change. When a paragraph was edited rather than replaced, because the two versions share enough of their words in the same order, it shows as one change with the removed and added words highlighted. Unrelated paragraphs show as one removed and one added.
Each check compares the two versions directly. Headings are compared by their text, so a reworded heading counts as changed. Code blocks must match exactly, apart from spacing. Links and images are compared by address, and each one is counted, so a link that appeared twice must still appear twice. Length is counted in words outside code blocks. The share of changed words at the top is counted the same way, so a long code example doesn’t drown out the prose.
The example in the checker is an SSH lesson from a programming bootcamp, revised four ways: an intro paragraph reworded, a sentence removed, a new step added, and a link changed. The result:
| What | Result |
|---|---|
| Paragraphs | 3 changed, 2 added (the new step and its code), 0 removed, 13 unchanged |
| Words | 13% changed: 26 added, 20 removed |
| Headings and code | All 5 headings and all 3 code blocks kept |
| Links | 1 removed |
| Length | 6 words longer (3%) |
The one warning is the link. Here it was intended: the new address goes to GitHub’s troubleshooting page, which is more useful at that point in the lesson. But the checker can’t tell a better link from a broken one, so this is the change to open before publishing. The removed sentence deserves a second look too. It explained what the passphrase protects; without it, the step is an instruction with no reason given.
Paste the old version on the left and the new one on the right. The checker splits both into paragraphs, headings, lists and code blocks, shows which were changed, added or removed, and highlights the changed words inside each edited paragraph.
A line diff, like git diff, compares line by line, which suits code. In prose a paragraph is often one long line, so one changed word marks the whole line, and re-wrapping marks every line. A paragraph diff compares the units a reader reads and shows the words that changed.
Yes. Plain text is split into paragraphs at blank lines and compared the same way. The checks for headings, code, links and images simply have less to report.
The link check compares addresses. If an address changed, the old one is no longer in the text, so it counts as removed even when the link text stayed the same. That’s deliberate: a changed address is the edit most worth opening.
Compare it with the version your learners have now. Read every changed paragraph, make sure each warning in the checks is a change you wanted, run any code that changed, and open every changed link.
No. The comparison 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.