Analyze Text Readability — Flesch-Kincaid and More

Analyze text readability using Flesch-Kincaid, Gunning Fog, Coleman-Liau, and other formulas. Learn how readability scores are calculated, what they mean, and how to improve your writing's accessibility.

Advanced

Detailed Explanation

Readability Analysis

Readability formulas estimate how easy or difficult a text is to read. They use measurable text features — word length, sentence length, syllable count — as proxies for complexity.

Flesch Reading Ease

The most widely used formula, scoring 0-100 (higher = easier):

Score = 206.835 - (1.015 × ASL) - (84.6 × ASW)

ASL = Average Sentence Length (words per sentence)
ASW = Average Syllables per Word

Score interpretation:

Score Level Audience
90-100 Very Easy 5th grade
80-89 Easy 6th grade
70-79 Fairly Easy 7th grade
60-69 Standard 8th-9th grade
50-59 Fairly Difficult 10th-12th grade
30-49 Difficult College
0-29 Very Difficult College graduate

Flesch-Kincaid Grade Level

Converts the Flesch score to a U.S. grade level:

Grade = (0.39 × ASL) + (11.8 × ASW) - 15.59

A grade level of 8.0 means the text is readable by an average 8th grader.

Gunning Fog Index

Emphasizes complex (3+ syllable) words:

Fog = 0.4 × (ASL + percentage of complex words)

Implementation

function syllableCount(word) {
  word = word.toLowerCase().replace(/[^a-z]/g, "");
  if (word.length <= 3) return 1;
  word = word.replace(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, "");
  word = word.replace(/^y/, "");
  const matches = word.match(/[aeiouy]{1,2}/g);
  return matches ? matches.length : 1;
}

function fleschReadingEase(text) {
  const sentences = text.split(/[.!?]+/).filter(s => s.trim());
  const words = text.trim().split(/\s+/);
  const totalSyllables = words.reduce((sum, w) => sum + syllableCount(w), 0);

  const asl = words.length / sentences.length;
  const asw = totalSyllables / words.length;

  return 206.835 - (1.015 * asl) - (84.6 * asw);
}

Improving Readability

  1. Shorten sentences — aim for 15-20 words per sentence
  2. Use simpler words — "use" instead of "utilize", "help" instead of "facilitate"
  3. Use active voice — "The team built the app" vs. "The app was built by the team"
  4. Break up long paragraphs — 2-4 sentences per paragraph for web content
  5. Avoid jargon — or define technical terms when first used

Limitations

Readability formulas have significant limitations. They cannot assess logical coherence, cultural context, or domain knowledge requirements. Technical documentation may score as "difficult" but be perfectly clear to its target audience. These scores are best used as guidelines, not rigid rules.

Use Case

Content marketers target specific readability levels for their audience (grade 7-8 for general web content). Technical writers ensure documentation is accessible to its intended readers. Healthcare communicators verify patient materials are at a 6th-grade level as required by health literacy guidelines, and publishers use readability scores as part of editorial quality assurance.

Try It — Word Counter

Open full tool