Score text for reading difficulty

Paste any text and get a Flesch-Kincaid grade-level score with the two component ratios (words per sentence, syllables per word) used to compute it. Switch Scope to score per paragraph or per line, and pick how many Decimals the output should show. The transform runs in your browser; nothing uploads. For a fuller stats breakdown, see text statistics.

Input
Line 1:1 LF cloud_done Saved locally
Result Readability Score
0 lines 0 chars

Flesch-Kincaid grade level, with the working shown

The Flesch-Kincaid grade-level formula is 0.39 * (words / sentences) + 11.8 * (syllables / words) - 15.59. The result is a US-school grade level: 8.0 means an average eighth grader can read the text. News writing typically lands at 8 to 10. Plain-language guidelines aim for 6 to 8. Academic prose is often 12 and up.

The tool tokenizes sentences with [^.!?]+[.!?]+, words with \S+, and syllables with [aeiouy]+ on lowercased text (one syllable per vowel-group is a fast approximation; it is not perfect on every word but it is the standard cheap heuristic). All three values feed the formula. The output also lists words-per-sentence and syllables-per-word so the score is auditable.

Scope controls what gets scored. Whole Text (default) returns one score for the whole input. Per Paragraph splits on blank lines and returns one block per paragraph. Per Line returns the grade-level only, one per line, useful for headline batches. Decimals sets how many digits after the point are shown (0 to 6, default 1).

How to use score text for reading difficulty

  1. 1Paste or type your text into the input panel on the left.
  2. 2The grade-level score appears in the output panel as you type.
  3. 3Switch Scope to Per Paragraph or Per Line for finer-grained scoring.
  4. 4Set Decimals to control how many digits the score shows.
  5. 5Click Copy in the output header to copy the result.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What this tool actually does

Flesch-Kincaid grade-level formula

The output uses 0.39 * (words/sentences) + 11.8 * (syllables/words) - 15.59. The result is a US-school grade. Lower scores read easier; higher scores read harder. The formula is the original Kincaid 1975 specification.

Sentence, word, and syllable tokenizers

Sentences: [^.!?]+[.!?]+. Words: \S+ (any non-whitespace run). Syllables: [aeiouy]+ on the lowercased input, counting each vowel run as one syllable. Empty inputs default each count to 1 to avoid divide-by-zero.

Scope = Whole Text, Per Paragraph, or Per Line

Default Whole Text reports a single block: grade level, words per sentence, syllables per word. Per Paragraph splits on \n\n+ and emits one block per paragraph. Per Line emits one terse line per non-empty input line: Line N: FK=score.

Decimals sets output precision

Default 1 (e.g. 8.4). Range 0 to 6. Set to 0 for a clean integer grade; set higher to compare similar scores.

Score is a heuristic, not a verdict

The vowel-group syllable heuristic over- and under-counts depending on the word (fire = 1 syllable but the heuristic says 2; idea = 3 syllables but the heuristic says 2). For most prose the score is within half a grade of a hand count. Treat it as a relative comparison tool rather than an exact reading age.

Worked example

Two sentences, 19 words, around 35 syllable groups. The grade-level lands at roughly 9.4 (early high school). Switch Scope to Per Line and the output becomes one Line N: FK=... entry per non-empty line.

Input
Readability scores estimate how hard a text is to read. The Flesch-Kincaid formula combines sentence length and syllable density.
Output
Flesch-Kincaid grade level: 9.4
Words per sentence: 9.5
Syllables per word: 1.8

Settings reference

Option Effect on output
Scope = Whole Text (default) One block: grade, words/sentence, syllables/word.
Scope = Per Paragraph One block per paragraph (split on blank lines).
Scope = Per Line One Line N: FK=score entry per non-empty line.
Decimals (default 1) Digits after the decimal point. 0 to 6.
Empty input Grade reported with default 1/1/1 counts (avoids divide-by-zero).
Formula 0.39 * (words/sentences) + 11.8 * (syllables/words) - 15.59.

FAQ

What does the grade level mean?
A US-school grade. 8.0 means an average eighth grader can read the text. News and blog prose typically lands between 8 and 10. Plain-language guidance aims for 6 to 8.
How are syllables counted?
By counting runs of vowels (a, e, i, o, u, y) on the lowercased text. Each run is one syllable. This is a fast approximation; it is not perfect on every word but it is the standard cheap heuristic for Flesch-Kincaid implementations.
Why does my score differ from another tool?
Different tools use different syllable counters and slightly different sentence regexes. The grade-level formula is fixed (Kincaid 1975), but the inputs to it vary. Treat scores as relative within one tool, not absolute across tools.
Can I score each paragraph separately?
Yes. Switch Scope to Per Paragraph. The input is split on blank lines and each paragraph gets its own block.
Is the input sent anywhere?
No. The score runs in your browser. Nothing uploads, nothing is logged.