A JavaScript implementation of fzy's fuzzy string matching algorithm for scoring and highlighting matches.
fzy.js is a JavaScript library that implements the fzy fuzzy string matching algorithm for scoring and highlighting search matches. It provides the same fuzzy search functionality used on GitHub.com, allowing developers to add intelligent, fast search to their applications.
JavaScript developers building search interfaces, autocomplete components, or command palettes that require fuzzy matching capabilities.
Developers choose fzy.js for its accurate implementation of GitHub's proven fuzzy matching algorithm, zero dependencies for minimal bundle impact, and straightforward API for integrating fuzzy search into existing projects.
A javascript port of fzy's scoring algorithm. As seen on GitHub.com!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the proven fzy algorithm used by GitHub, ensuring high-quality match rankings that mimic familiar search experiences, as shown in the scoring examples.
Returns exact character positions of matches via the positions() function, enabling straightforward visual feedback in search results without additional parsing logic.
Has no external libraries, keeping bundle size minimal (gzipped size is highlighted in badges) and reducing project bloat for lightweight integrations.
Offers a minimal API with core functions like score, positions, and hasMatch, making it easy to integrate into existing JavaScript code, as demonstrated in the full example.
Focuses solely on basic fuzzy matching without built-in options for case-insensitivity, partial word scoring, or custom weightings, which some alternatives provide.
Fuzzy matching can be slow for extensive datasets or long strings, and the library lacks optimizations like caching or indexing, potentially impacting real-time search responsiveness.
Provides only the scoring algorithm, requiring significant additional development to build user interfaces for search results, input handling, and visual feedback.