textstat
github.com
What it is
textstat is a free, open-source Python library for measuring readability, text complexity, and grade level. It calculates Flesch Reading Ease, Flesch-Kincaid Grade, SMOG, Coleman-Liau, ARI, Dale-Chall, and Gunning Fog scores. Its text_standard function combines multiple tests to estimate the school grade needed to understand a passage. Other functions count words, sentences, characters, letters, syllables, polysyllabic words, and monosyllabic words, while reading-time estimates use character counts. English is the default language, with listed variants and measures for Spanish, Arabic, Italian, and German. Installation is documented through pip, Poetry, Pipenv, pipx, or GitHub source; pipx can provide a command-line tool. Python 3.6 or later is required, and the package uses the MIT license. Documentation says SMOG is statistically invalid below 30 sentences, despite returning results from three sentences. Two Spanish formulas also have stated reliability limits. The project requests GitHub issues for problems and email reports for vulnerabilities.
Spec sheet
- Purpose
- Textstat is a Python library for calculating text statistics to assess readability, complexity, and grade level.Read 8 Oct 2026 · github.com
- Integrations
- For syllable calculation, it uses Pyphen in most languages and defaults to nltk.corpus.cmudict for en_US.Read 8 Oct 2026 · github.com
- Support
- The project asks users to report problems by opening a GitHub issue.Read 4 Oct 2026 · github.com
- License
- The repository identifies its license as MIT.Read 8 Oct 2026 · github.com
- Command line
- The documentation says Textstat can be installed standalone as a command-line tool with pipx.Read 4 Oct 2026 · docs.textstat.org
- Consensus score
- Its text_standard function estimates the school grade level needed to understand text based on multiple readability tests.Read 8 Oct 2026 · github.com
- Formula limitations
- The documentation says the Spanish Gutiérrez de Polini scores are unreliable for more complex text and the Crawford formula is valid only for elementary-school-level texts.Read 8 Oct 2026 · github.com
- Installation
- The project documents installation with pip or easy_install, from GitHub source, or from PyPI.Read 8 Oct 2026 · github.com
- Language coverage
- English is the default, and the documentation lists language variants for some formulas, including German, Spanish, French, Italian, Dutch, Polish, and Russian.Read 8 Oct 2026 · github.com
- Language-specific formulas
- The library includes Spanish-specific formulas, an Arabic Osman score, an Italian Gulpease index, and the German Wiener Sachtextformel.Read 8 Oct 2026 · github.com
- Other metrics
- Its functions include reading time, syllable, word, sentence, character, letter, polysyllable, and monosyllable counts.Read 4 Oct 2026 · github.com
- Readability formulas
- It includes measures such as Flesch Reading Ease, Flesch-Kincaid Grade Level, SMOG, Coleman-Liau, ARI, Dale-Chall, and Gunning Fog.Read 8 Oct 2026 · github.com
- Reading time
- It estimates reading time using a default assumption of 14.69 milliseconds per character.Read 8 Oct 2026 · github.com
- Runtime requirement
- PyPI lists Python >=3.6 as a requirement.Read 4 Oct 2026 · pypi.org
- Security reporting
- The security policy asks people to report vulnerabilities by email and says Textstat does not offer a paid bug bounty programme.Read 4 Oct 2026 · github.com
- SMOG limitation
- The documentation says SMOG is statistically invalid for texts under 30 sentences, although textstat requires at least 3 sentences to return a result.Read 8 Oct 2026 · github.com
- Spanish formula limits
- The project says Gutiérrez de Polini scores for complex text are unreliable and Crawford is valid only for elementary-school-level texts.Read 4 Oct 2026 · github.com
- Support and contributions
- The project directs users to open GitHub issues for problems and pull requests for fixes or contributions.Read 8 Oct 2026 · github.com
- Supported users
- PyPI classifies the intended audience as developers, education, and science/research.Read 4 Oct 2026 · pypi.org
- Text counts
- It can count syllables, words, sentences, characters, letters, polysyllabic words, and monosyllabic words.Read 8 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Multiple established readability formulas
- Grade-level consensus estimate
- Counts words, sentences, and syllables
- Supports several language-specific measures
- MIT-licensed Python package
Limits
- Requires Python 3.6 or later
- SMOG is invalid below 30 sentences
- Spanish formulas have stated limitations
- No plain-language rewrites
Who it suits
textstat suits developers, educators, and science or research users working with text input. It is appropriate for Python projects needing readability scores and basic text statistics.
Verdict
textstat offers broad readability scoring and text-count functions in a free MIT-licensed package. Interpret its documented formula limits, especially for short texts and certain Spanish measures.
Where Specifiction places it
- AI Readability Checkers#17 of 267.7