fuzzysearch is a tiny, blazing-fast fuzzy search library for JavaScript that checks whether a “needle” string can be found inside a “haystack” string in order, but not necessarily contiguously. It implements a simplified fuzzy searching algorithm that does not use Levenshtein distance; instead it returns a boolean indicating whether all characters of the needle appear in sequence within the haystack. This makes it ideal for filtering lists or autocomplete suggestions quickly based on incomplete user input. Because it operates with a very small algorithmic footprint, it is both lightweight in size and extremely fast in practice. The library exposes a single, minimal API (fuzzysearch(needle, haystack)), making it easy to drop into any project without configuration. It is commonly showcased in the author’s autocomplete demo, where fuzzysearch powers the filtering of suggestions as users type.
Features
- Minimal single-function API: fuzzysearch(needle, haystack)
- Boolean fuzzy matching based on ordered character inclusion rather than edit distance
- Extremely small and fast implementation suitable for client-side filtering
- Ideal for search boxes, autocomplete widgets, and quick list filtering
- Available as an npm package for easy integration into bundlers and Node projects
- MIT license, making it safe to embed in open-source and commercial codebases