wolfgarbe/symspell

SymSpell: 1 million times faster spelling correction & fuzzy search through Symmetric Delete spelling correction algorithm

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 55 minutes ago
Added to GitGenius on September 20th, 2026
Created on March 25th, 2014
Open Issues & Pull Requests: 34 (+0)
GitHub issues: Enabled
Number of forks: 310
Total Stargazers: 3,466 (+0)
Total Subscribers: 69 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 579 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • port request (1)

Detailed Description

SymSpell is a spelling correction and fuzzy search library that implements the Symmetric Delete algorithm for approximate string matching.

The tool solves the problem of slow spelling correction by dramatically reducing the computational complexity of finding candidate corrections. Rather than generating expensive edit operations like transpositions, replacements, and insertions against the input term, SymSpell inverts the problem: it pre-calculates only the inexpensive delete operations against dictionary terms during initialization, then applies the same delete-only approach at lookup time. This approach is language-independent and particularly advantageous for languages with large character sets, such as Chinese with its seventy thousand Unicode Han characters. An average five-letter word has roughly three million possible spelling errors within an edit distance of three, but SymSpell needs to generate only twenty-five deletes to cover them all.

The tool suits applications requiring fast single-word spelling correction, query correction for search systems, chatbot text processing, optical character recognition post-processing, and fuzzy search functionality. It is most valuable when speed is critical and you need to correct against a substantial dictionary. The README positions it as significantly faster than alternative approaches, including BK-tree and Norvig's standard algorithm, though it does not compare it to other modern spelling correction libraries.

The project maintains an active codebase with regular updates addressing bug fixes and feature enhancements. Documentation is comprehensive, covering both the core algorithm and practical usage patterns. The tool is available as a packaged library, indicating ongoing maintenance and distribution through standard channels.