- Home
- AI Readability Checkers
- textstat
textstat
What it is
textstat is a free, open-source Python library for calculating readability, text complexity, and grade-level measures. It includes Flesch Reading Ease, Flesch-Kincaid Grade, SMOG, Coleman-Liau, ARI, Dale-Chall, and Gunning Fog, while text_standard estimates the school grade level needed to understand a passage using multiple readability tests. Other functions count words, sentences, characters, letters, syllables, polysyllabic words, and monosyllabic words, and estimate reading time. English is the default language; listed language variants and measures also cover Spanish, Arabic, Italian, and German. Installation options include pip, Poetry, Pipenv, pipx, and GitHub source, and pipx can install the library as a standalone command-line tool. The package is intended for developers, education, and science or research, accepts text as input, and requires Python 3.6 or later. Its documentation notes that SMOG is statistically invalid for texts under 30 sentences, even though a result is returned from three sentences. Some Spanish formulas also have stated limitations.
For and against
For
- Free Python package distributed under the MIT license
- Includes multiple readability and grade-level measures
- Counts words, sentences, characters, and syllables
- Offers installation through pip, Poetry, Pipenv, and pipx
- Includes listed measures for several languages
Against
- Requires Python 3.6 or later
- SMOG is statistically invalid below 30 sentences
- Gutiérrez de Polini scores are unreliable for complex text
- Crawford is valid only for elementary-school-level texts
The verdict
textstat combines a broad selection of readability scores with basic text counts and reading-time estimation. Users should account for the documented sentence-count and Spanish-formula limitations when interpreting results.
Who it suits
textstat suits developers, educators, and science or research users who need text statistics or readability and grade-level measures. It requires Python 3.6 or later and takes text as input.
Plans and prices
textstat
Python package · MIT license
Read 8 Oct 2026 · github.com
On the record
- Command line
- The documentation says Textstat can be installed standalone as a command-line tool with pipx.docs.textstat.org · read 4 Oct 2026
- Consensus score
- Its text_standard function estimates the school grade level needed to understand text based on multiple readability tests.github.com · read 8 Oct 2026
- 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.github.com · read 8 Oct 2026
- Installation
- The project documents installation with pip or easy_install, from GitHub source, or from PyPI.github.com · read 8 Oct 2026
- Integrations
- For syllable calculation, it uses Pyphen in most languages and defaults to nltk.corpus.cmudict for en_US.github.com · read 8 Oct 2026
- Language coverage
- English is the default, and the documentation lists language variants for some formulas, including German, Spanish, French, Italian, Dutch, Polish, and Russian.github.com · read 8 Oct 2026
- Language-specific formulas
- The library includes Spanish-specific formulas, an Arabic Osman score, an Italian Gulpease index, and the German Wiener Sachtextformel.github.com · read 8 Oct 2026
- License
- The repository identifies its license as MIT.github.com · read 8 Oct 2026
- Other metrics
- Its functions include reading time, syllable, word, sentence, character, letter, polysyllable, and monosyllable counts.github.com · read 4 Oct 2026
- Purpose
- Textstat is a Python library for calculating text statistics to assess readability, complexity, and grade level.github.com · read 8 Oct 2026
- Readability formulas
- It includes measures such as Flesch Reading Ease, Flesch-Kincaid Grade Level, SMOG, Coleman-Liau, ARI, Dale-Chall, and Gunning Fog.github.com · read 8 Oct 2026
- Reading time
- It estimates reading time using a default assumption of 14.69 milliseconds per character.github.com · read 8 Oct 2026
- Runtime requirement
- PyPI lists Python >=3.6 as a requirement.pypi.org · read 4 Oct 2026
- Security reporting
- The security policy asks people to report vulnerabilities by email and says Textstat does not offer a paid bug bounty programme.github.com · read 4 Oct 2026
- 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.github.com · read 8 Oct 2026
- 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.github.com · read 4 Oct 2026
- Support
- The project asks users to report problems by opening a GitHub issue.github.com · read 4 Oct 2026
- Support and contributions
- The project directs users to open GitHub issues for problems and pull requests for fixes or contributions.github.com · read 8 Oct 2026