typos
Source Code Spelling Correction
What it is and what it does
Typos is a command-line spell checker designed specifically for source code. It scans files for spelling mistakes and can automatically correct them, with built-in support for ignoring false positives through configuration files. Unlike traditional spell checkers that validate against a dictionary of correct words, typos maintains a curated list of known typo corrections to keep false positives low enough to run safely in CI/CD pipelines and pull requests without manual review.
The tool integrates with GitHub Actions, pre-commit hooks, and other CI systems, and provides multiple output formats (diff, JSON, plain text) for custom integrations. It handles common development scenarios like ignoring people's names, acronyms, and localized content through a `_typos.toml` configuration file. The package has no runtime dependencies and is distributed as pre-built binaries for multiple platforms and architectures.
Use it for:
- Run in CI/CD to catch spelling mistakes in pull requests before merge, configured to auto-correct or report only.
- Integrate with pre-commit hooks to check spelling locally before commits, using the tool's low false-positive design.
- Scan monorepos for spelling errors across many files and languages without slowing down the build pipeline.
- Configure file-type-specific rules to skip spell-checking localized content (like .po files) while still checking filenames.
- Generate JSON output to feed typo reports into custom dashboards or quality gates in your development workflow.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Finds and corrects spelling mistakes in source code across files, with configurable rules to minimize false positives and integrate into CI/CD workflows.
Yes. Typos is actively maintained, has no runtime dependencies, runs on all major platforms, and is specifically designed for source code with low false positives—making it safe to run unattended in CI. The permissive dual license and integration with standard tools (GitHub Actions, pre-commit) make it a straightforward addition to most development workflows.
Install
typos on PyPI
pip
pip install typosuv
uv add typospoetry
poetry add typosInstalling typos
Before you install
Medium install friction due to platform-specific wheels (macOS, Linux, Windows, including ARM64 support), but the package is actively maintained with a recent release and no runtime dependencies to manage.
License in practice
Dual-licensed under MIT or Apache 2.0, both permissive licenses that allow commercial and private use with minimal restrictions.
Quickstart
pip install typos
typos # scan current directory for spelling mistakes
typos --write-changes # automatically fix found typos
Requires Python 3.8 or later; the tool is a compiled binary wrapped for Python, so installation pulls a pre-built wheel for your platform.
Verify before relying
- Whether the dictionary of known typo corrections is regularly updated and how community contributions are incorporated.
- Performance characteristics on very large monorepos (the description claims 'fast enough' but no benchmarks are linked in the fact sheet).
- How the tool handles non-English source code or domain-specific terminology.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,209,617/month — #4,217 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: typos-1.49.0-py3-none-macosx_10_12_x86_64.whl; typos-1.49.0-py3-none-macosx_11_0_arm64.whl; typos-1.49.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; typos-1.49.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl; typos-1.49.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; typos-1.49.0-py3-none-musllinux_1_2_aarch64.whl; typos-1.49.0-py3-none-musllinux_1_2_x86_64.whl; typos-1.49.0-py3-none-win32.whl; typos-1.49.0-py3-none-win_amd64.whl
Keywords: development, spelling
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
codespellCodespell finds and fixes common misspellings…
copyleft · top 5,000 on PyPI
mkdocs-spellcheckA spell checker plugin for MkDocs that…
permissive · top 15,000 on PyPI
pyspellcheckerDetects misspelled words and suggests…
permissive · top 5,000 on PyPI
pyspellingPySpelling wraps Aspell or Hunspell to automate…
permissive · top 15,000 on PyPI
symspellpysymspellpy is a Python port of SymSpell v6.7.2…
permissive · top 15,000 on PyPI
pyenchantPyEnchant provides Python bindings to the…
copyleft · top 5,000 on PyPI
sphinxcontrib-spellingA Sphinx extension that checks documentation…
permissive · top 5,000 on PyPI
language_tool_pythonPython wrapper for LanguageTool that checks…
copyleft · top 15,000 on PyPI
dodgyDodgy scans Python source code for suspicious…
permissive · top 15,000 on PyPI
translation-finderDiscovers and identifies translation files in…
copyleft · top 15,000 on PyPI