Basic Usage
Use the convenience function for quick analysis:Class API
ReadabilityScorer
The main scorer class:Target Settings
Default target settings optimized for web content:analyze()
Perform comprehensive readability analysis.Article content to analyze (full text with markdown formatting)
Overall readability score (0-100)
Letter grade:
A (Excellent), B (Good), C (Average), D (Needs Work), F (Poor)Flesch-Kincaid Grade Level (target: 8-10)
Comprehensive readability metrics:
flesch_reading_ease(float): Flesch Reading Ease score (0-100)flesch_kincaid_grade(float): Grade levelgunning_fog(float): Gunning Fog indexsmog_index(float): SMOG indexcoleman_liau_index(float): Coleman-Liau indexautomated_readability_index(float): ARIdale_chall_readability(float): Dale-Chall scoresyllable_count(int): Total syllableslexicon_count(int): Total wordssentence_count(int): Total sentencespolysyllable_count(int): Complex word count
Content structure metrics:
total_sentences(int): Number of sentencesavg_sentence_length(float): Average words per sentenceshortest_sentence(int): Shortest sentence lengthlongest_sentence(int): Longest sentence lengthsentence_length_variance(float): Sentence length variationtotal_paragraphs(int): Number of paragraphsavg_sentences_per_paragraph(float): Average sentences per paragraphtotal_words(int): Total word countavg_word_length(float): Average characters per wordlong_sentences(int): Sentences over 25 wordsvery_long_sentences(int): Sentences over 35 words
Text complexity indicators:
transition_word_count(int): Number of transition wordstransition_words_per_100(float): Transitions per 100 wordspassive_sentence_count(int): Passive voice sentencespassive_sentence_ratio(float): Percentage passive voicecomplex_word_count(int): Words with 3+ syllablescomplex_word_ratio(float): Percentage complex words
Actionable recommendations for improving readability
Quick status assessment:
grade_level_status(string):optimal,too_simple,too_complexease_status(string):good,difficult,too_easysentence_length_status(string):good,too_longoverall_assessment(string):excellent,acceptable,needs_improvement
Flesch Reading Ease
The primary readability metric (0-100 scale):Flesch Score Interpretation
- 90-100: Very Easy - 5th grade
- 80-89: Easy - 6th grade
- 70-79: Fairly Easy - 7th grade
- 60-69: Standard - 8th-9th grade ✅ Target
- 50-59: Fairly Difficult - 10th-12th grade
- 30-49: Difficult - College
- 0-29: Very Difficult - College graduate
Reading Level (Grade Level)
Flesch-Kincaid Grade Level indicates U.S. school grade:Sentence Structure Analysis
Analyze sentence length and variation:Sentence Length Guidelines
- Optimal average: 15-20 words
- Long sentence: > 25 words
- Very long sentence: > 35 words (should be split)
- Variance: Higher variance = more dynamic writing
Paragraph Analysis
Analyze paragraph structure:Complexity Analysis
Identify complexity indicators:Passive Voice
Target: Under 20% passive voiceComplex Words
Words with 3+ syllables:Transition Words
Improve flow with transition words:Recommendations
Get specific recommendations for improvement:Score Calculation
The overall score (0-100) is calculated from:-
Flesch Reading Ease (30 points)
- 60-80 = optimal
- < 30 = -30 points
- < 50 = -20 points
-
Grade Level (25 points)
- 8-10 = optimal
-
14 = -25 points
-
12 = -15 points
-
Sentence Length (20 points)
- < 20 words = optimal
-
30 words = -20 points
-
25 words = -10 points
-
Very Long Sentences (up to 15 points penalty)
- Each very long sentence: -3 points
-
Paragraph Structure (10 points)
- 2-4 sentences = optimal
-
6 sentences = -10 points
-
Passive Voice (10 points)
- < 20% = optimal
-
30% = -10 points
-
Transition Words (5 points)
- Good use: +5 points
- Very few: -5 points
Status Assessment
Quick readability assessment:Real-World Example
Complete readability analysis:Integration with SEO Modules
Combine with other analyzers:Best Practices
- Target 8th-10th grade level - optimal for web content
- Aim for Flesch 60-70 - “fairly easy” reading level
- Keep sentences under 20 words - improves comprehension
- Use 2-4 sentences per paragraph - web-friendly formatting
- Limit passive voice to 20% - more engaging writing
- Add transition words - improves flow and coherence
- Break up long sentences - split any sentence over 35 words
- Vary sentence length - creates better rhythm
- Use simple words - when possible without losing meaning
- Score 80+ before publishing - ensures good readability
Related Modules
- SEO Quality Rater - Includes readability in overall SEO score
- Keyword Analyzer - Keyword placement affects sentence structure
- Content Length Comparator - Longer content needs better readability