Reading Time & Complexity Analyser

Get estimated reading time, sentence count and per-paragraph complexity for any copy

Ad placeholder (leaderboard)

Long-form copy lives or dies on whether a reader can move through it without friction. This analyser gives you the numbers editors actually use: how long the piece takes to read, how dense each paragraph is, and which sentences are doing too much work at once. Paste your draft and tune it before it ships.

How it works

The tool runs four simple passes over your text, all in the browser.

Words are counted by trimming the text and splitting on any run of whitespace, then dropping empty tokens.

Sentences are detected by matching runs of text that end in terminal punctuation (., !, ?, including repeated marks like ?!) where the punctuation is followed by whitespace or the end of the document. This rule avoids splitting on most decimal numbers and trailing initials.

Paragraphs are blocks separated by a blank line.

Reading time uses the standard formula:

seconds = (words / wpm) * 60

We report two rates because audiences differ: 200 wpm for an average reader and 250 wpm for a confident skim.

Complexity and the per-paragraph flag

Average words per sentence is one of the strongest, simplest signals of reading difficulty. For each paragraph the tool computes its own average:

avgWordsPerSentence = paragraphWords / paragraphSentences

If that average is above your chosen threshold, the paragraph is flagged as dense and highlighted. A dense paragraph is rarely wrong, but it is usually easier to read once a few of its longest sentences are split in two.

Tips

  • Aim for an overall average in the 15 to 20 words-per-sentence band for general audiences.
  • Watch the longest-sentence figure: a single 60-word sentence can stall a reader even when the average looks healthy.
  • Vary sentence length deliberately. A short sentence after two long ones resets the reader’s attention.
  • Use the reading-time estimate in your copy (“4 min read”) to set expectations and improve engagement on long pages.

All processing is local. Nothing you paste is uploaded or stored.

Ad placeholder (rectangle)