skillfed

symspellpy

Python SymSpell

symspellpy v6.10.0 518.4K downloads/30d#6,222 on PyPI877
Permissive license MIT License Copyright (c) 2025 mmb L (Python port https://github.com/mammothb/symspellpy) Copyright (c) 2021 Wolf Garbe (Original C# implementation https://github.com/wolfgarbe/SymSpell) Permission… (full text in the JSON record) Active released

What it is and what it does

symspellpy is a Python port of the SymSpell spell-checking library, designed to provide fast spell correction and word segmentation with efficient memory use. It implements the SymSpell v6.7.2 algorithm, which uses an optimized edit-distance comparison approach to find spelling corrections and segment unsegmented text. The package includes unit tests ported from the original project to ensure accuracy.

The library is intended for developers and educators building spell-checking features into applications. It has no external runtime dependencies, making it straightforward to integrate. The most recent release added a fast distance comparer to improve performance under default settings. The package is actively maintained and supports modern Python versions (3.10 through 3.14).

Use it for:

  • Implement spell correction in search engines or text input fields to suggest corrections for user typos.
  • Segment concatenated words (e.g., 'thequickbrown' → 'the quick brown') in text processing pipelines.
  • Build autocomplete or query suggestion systems that tolerate misspellings.
  • Preprocess user-generated text in NLP workflows to normalize spelling before further analysis.
  • Create accessibility features that help users with dyslexia or language barriers find intended words.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

symspellpy is a Python port of SymSpell v6.7.2 that performs fast spell checking and word segmentation with low memory overhead, using an optimized distance comparison algorithm.

Yes. symspellpy is a mature, actively maintained spell-checking library with no external dependencies, permissive MIT licensing, and broad Python version support. It is well-suited for projects needing fast spell correction and word segmentation. The only caveat is the note in the documentation that the port itself has not been optimized for speed—verify performance against your use case before committing to production.

Install

symspellpy on PyPI

pip

pip install symspellpy

uv

uv add symspellpy

poetry

poetry add symspellpy

Installing symspellpy

Before you install

Low friction: pure Python wheel with no runtime dependencies. Active maintenance—last commit 2026-08-09, released 34 days ago. Supports Python 3.10 through 3.14.

License in practice

MIT License (permissive). You may use, modify, and distribute freely provided you include the license notice and acknowledge both the Python port author (mmb L) and the original C# author (Wolf Garbe).

Quickstart

pip install symspellpy

from symspellpy import SymSpell, Verbosity

sym_spell = SymSpell(max_dictionary_edit_distance=2)
# Load dictionary, then call sym_spell.lookup() to find corrections

Requires Python 3.10 or later.

Verify before relying

  • Whether the package has been optimized for speed since the note in the description that states 'the port has not been optimized for speed'.
  • Performance characteristics and memory consumption compared to the original C# SymSpell implementation.
  • Availability and completeness of the dictionary files needed for typical spell-checking workflows.

Package facts

License MIT License Copyright (c) 2025 mmb L (Python port https://github.com/mammothb/symspellpy) Copyright (c) 2021 Wolf Garbe (Original C# implementation https://github.com/wolfgarbe/SymSpell) Permission… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 34 days since the last release
Last repo commit
First released
Downloads 518,418/month — #6,222 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: symspellpy-6.10.0-py3-none-any.whl

Keywords: spellchecker, symspell, word segmentation

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: EducationLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

spell checker pythonword segmentation librarysymspell implementationfast spell correctiontypo detection and correctionedit distance spellcheckfuzzy string matching
spell-checkingtext-processingnlp

More Linguistic packages