A lightweight, fast, full-text search engine for static websites, written in Rust and compiled to WebAssembly.
tinysearch is a full-text search engine built for static websites. It indexes site content and compiles it into a compact WebAssembly module that runs entirely in the browser, eliminating the need for a backend search server. It solves the problem of adding fast, client-side search to static sites without bloating page sizes.
Developers and maintainers of static websites (blogs, documentation, portfolios) built with generators like Jekyll, Hugo, or Zola who need an integrated, lightweight search solution.
Developers choose tinysearch for its exceptionally small WASM footprint and Rust-based performance, offering a viable alternative to heavier JavaScript search libraries. Its focus on minimal bundle size makes search feasible for sites where every kilobyte counts.
🔍 Tiny, full-text search engine for static websites built with Rust and Wasm
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Creates exceptionally small bundles, such as 40kB brotli for 40 posts, minimizing page load impact for static sites.
Works seamlessly with popular generators like Jekyll, Hugo, and Zola, as documented in the README examples.
Allows customization of indexed and metadata fields via TOML, enabling tailored setups for blogs, docs, or e-commerce.
Generates standalone WASM modules without external JavaScript, simplifying deployment and reducing reliance on third-party libraries.
Only supports whole-word matching with no partial matches or suggestions, a trade-off admitted in the README for size reduction.
Designed for small to medium sites; bundle size grows linearly (~2 kB per article), making it impractical for very large content bases.
The Rust library usage is marked experimental with potential breaking changes, adding risk for production integrations.
tinysearch is an open-source alternative to the following products:
Lunr JS is a lightweight, full-text search library for JavaScript that runs in the browser, providing search capabilities without external dependencies.
elasticlunr is a lightweight, full-text search library for JavaScript that provides search capabilities similar to Elasticsearch but runs entirely in the browser.