Add search to a product catalog or e-commerce site so users can find items even with spelling mistakes.
Build a searchable documentation site where users can find pages by partial or fuzzy matches.
Create a blog or article search feature that ranks results by relevance without a backend database.
Search through a list of contacts, books, or any collection stored locally in the browser.
Fuse.js is a lightweight JavaScript library that lets you add search to your app without needing a backend server or database. It specializes in "fuzzy" search, meaning it finds results even when the user types something slightly wrong, like "javscript" instead of "JavaScript." It works both in the browser and on the server, and is meant for searching small-to-medium collections of data entirely on the client's machine. The library uses an algorithm called Bitap for approximate string matching, which means it can handle typos and partial matches. You set it up by passing your data (like a list of books or articles) and telling it which fields to search (like title or author). Results come back ranked by relevance. You can also weight fields differently, for example, a match in the title might count more than a match in the description. More advanced features include exact-match operators, multi-word token search with typo tolerance per word, combining conditions with AND/OR logic, and character-level match highlighting so you can visually mark which parts of a result matched the query. A newer beta feature called FuseWorker runs searches in parallel across Web Workers, background threads that keep the browser's main interface responsive, for large datasets of around 100,000 documents. You would use Fuse.js when building a website or app where you want users to search through a list of items, product catalogs, documentation, blog posts, or any collection, without setting up a dedicated search service like Elasticsearch. It is written in TypeScript, has no external dependencies, and ships as a tiny file (around 8 kilobytes compressed). Installation is through npm or a CDN script tag.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.