Typesense is a free, open source search engines project written in C++ and released under GPL-3.0. It has 26,568 GitHub stars, 974 forks and 879 open issues, and was last pushed 37 hours ago. On this registry it ranks #4 of 8 tracked projects in Search Engines, with 5 head-to-head comparisons available. It gained 21 stars over the last 6 tracked days.

Typesense — Lightning-fast, typo-tolerant search engine for all

What is Typesense?

Typesense is an open-source, C++-built search engine released under the GPL-3.0 licence that provides typo-tolerant, low-latency full-text search for developers and teams who want an Algolia alternative they host and control themselves.

What it is

Typesense is a search engine written in C++ and distributed under the GPL-3.0 licence. It lives in the search infrastructure layer of the stack, alongside the datastore and enterprise-search ecosystems its topic list names, and it is built around an in-memory index with an HTTP API. Clients talk to a server over a port (8108 by default), define collections with typed fields, index documents, and issue queries through parameters such as q, query_by, filter_by and sort_by. Official API clients exist for several languages, with Search UI Components and InstantSearch integration for front-end work, and the project is developed in the open with a published roadmap, documentation site, Slack community and community threads.

The concrete problem it solves is the cost and operational weight of hosted search. The README positions it explicitly as an open-source Algolia alternative and as an easier-to-use ElasticSearch alternative, and the topic list also names Pinecone. Rather than paying a per-request SaaS bill and shipping document data to a third party, a team runs a Typesense server, keeps its own index in its own data directory, and gets fuzzy matching, faceting and filtered sorting from the first query. Typo tolerance is on out of the box: a search for stork matches a document named Stark Industries without a synonym list or custom analyzer chain.

Key capabilities

  • Typo tolerance works out of the box, with no configuration step required before the first fuzzy query.
  • In-memory, C++ architecture targeted at low-latency responses.
  • Collections defined with typed fields such as string and int32, facet: True for faceting, and a default_sorting_field.
  • HTTP API served on port 8108, authenticated with an --api-key passed at server start.
  • Query parameters including q, query_by, filter_by and sort_by for filtering and ranked sorting.
  • Geo search, faceting, merchandising and semantic/hybrid search, reflected in both the topic list and the published demos.
  • Official API clients, including a Python client installed with pip install typesense, plus Search UI Components for search interfaces.

Who uses it and how

  • E-commerce teams building catalogue browsing and search, covered by the e-commerce store demo and the merchandising topic.
  • Teams indexing large corpora at scale, demonstrated on 32M MusicBrainz songs, 28M OpenLibrary books, 2M RecipeNLG recipes and 1M Linux kernel commit messages.
  • Applications needing spellcheck and type-ahead, demonstrated with a 333K English word spellchecker.
  • Location-aware products, demonstrated by a geosearch browsing experience.
  • Teams running semantic or hybrid search over user-generated text, demonstrated on 300K Hacker News comments.

Getting started

The server starts from an official Docker image, for example docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE, and a client such as Python installs with pip install typesense. Building from source is documented for anyone who prefers a native binary.

How it compares

Algolia and Pinecone are hosted, paid services, whereas Typesense is self-hosted under the GPL-3.0 licence, so the index and the documents inside it stay on infrastructure the operator controls and there is no per-request billing model. Against ElasticSearch, the README makes a narrower claim: Typesense is positioned as easier to set up, integrate, operate and scale, rather than as a feature-for-feature replacement. The trade-off is that the operator, not a vendor, carries the availability and capacity work.

When to use it — and when not to

A self-hoster has to run the Typesense server itself, persist the data directory mounted at /data, manage the API key and size memory for an in-memory index, which is real operational work. The repository shows 879 open issues against 974 forks, so the issue backlog is substantial and teams that want a managed SLA with no operations work should look at a hosted provider instead. The GPL-3.0 licence also matters if Typesense is to be embedded in a proprietary product, and anyone needing a guaranteed support contract should weigh that before committing.

project readme (upstream, from github) — read inline

Typesense is a fast, typo-tolerant search engine for building delightful search experiences.

An Open Source Algolia Alternative &
An Easier-to-Use ElasticSearch Alternative


Website | Documentation | Roadmap | Slack Community | Community Threads | Twitter


✨ Here are a couple of live demos that show Typesense in action on large datasets:

🗣️ 🎥 If you prefer watching videos:

Quick Links

Features

  • Typo Tolerance: Handles typographical errors elegantly, out-of-the-box.
  • Simple and Delightful: Simple to set-up, integrate with, operate and scale.
  • ⚡ Blazing Fast: Built in C++. Meticulously architected from the ground-up for low-latency (<50ms) instant searches.
  • Tunable Ranking: Easy to tailor your search results to perfection.
  • Sorting: Dynamically sort results based on a particular field at query time (helpful for features like "Sort by Price (asc)").
  • Faceting & Filtering: Drill down and refine results.
  • Grouping & Distinct: Group similar results together to show more variety.
  • Federated Search: Search across multiple collections (indices) in a single HTTP request.
  • Geo Search: Search and sort by results around a latitude/longitude or within a bounding box.
  • Vector Search: Index embeddings from your machine learning models in Typesense and do a nearest-neighbor search. Can be used to build similarity search, semantic search, visual search, recommendations, etc.
  • Semantic / Hybrid Search: Automatically generate embeddings from within Typesense using built-in models like S-BERT, E-5, etc or use OpenAI, PaLM API, etc, for both queries and indexed data. This allows you to send JSON data into Typesense and build an out-of-the-box semantic search + keyword search experience.
  • Conversational Search (Built-in RAG): Send questions to Typesense and have the response be a fully-formed sentence, based on the data you've indexed in Typesense. Think ChatGPT, but over your own data.
  • Natural Language Search: LLM-powered intent detection & query understanding, that converts any free-form natural language phrases into structured filters, sorts and queries.
  • Image Search: Search through images using text descriptions of their contents, or perform similarity searches, using the CLIP model.
  • Voice Search: Capture and send query via voice recordings - Typesense will transcribe (via Whisper model) and provide search results.
  • Scoped API Keys: Generate API keys that only allow access to certain records, for multi-tenant applications.
  • JOINs: Connect one or more collections via common reference fields and join them during query time. This allows you to model SQL-like relationships elegantly.
  • Synonyms: Define words as equivalents of each other, so searching for a word will also return results for the synonyms defined.
  • Curation & Merchandizing: Boost particular records to a fixed position in the search results, to feature them.
  • Raft-based Clustering: Setup a distributed cluster that is highly available.
  • Seamless Version Upgrades: As new versions of Typesense come out, upgrading is as simple as swapping out the binary and restarting Typesense.
  • No Runtime Dependencies: Typesense is a single binary that you can run locally or in production with a single command.

Don't see a feature on this list? Search our issue tracker if someone has already requested it and add a comment to it explaining your use-case, or open a new issue if not. We prioritize our roadmap based on user feedback, so we'd love to hear from you.

Roadmap

Here's Typesense's public roadmap: https://typesense.link/roadmap.

The first column also explains how we prioritize features, how you can influence prioritization and our release cadence.

Benchmarks

  • A dataset containing 2.2 Million recipes (recipe names and ingredients):
    • Took up about 900MB of RAM when indexed in Typesense
    • Took 3.6mins to index all 2.2M records
    • On a server with 4vCPUs, Typesense was able to handle a concurrency of 104 concurrent search queries per second, with an average search processing time of 11ms.
  • A dataset containing 28 Million books (book titles, authors and categories):
    • Took up about 14GB of RAM when indexed in Typesense
    • Took 78mins to index all 28M records
    • On a server with 4vCPUs, Typesense was able to handle a concurrency of 46 concurrent search queries per second, with an average search processing time of 28ms.
  • With a dataset containing 3 Million products (Amazon product data), Typesense was able to handle a throughput of 250 concurrent search queries per second on an 8-vCPU 3-node Highly Available Typesense cluster.

We'd love to benchmark with larger datasets, if we can find large ones in the public domain. If you have any suggestions for structured datasets that are open, please let us know by opening an issue. We'd also be delighted if you're able to share benchmarks from your own large datasets. Please send us a PR!

Who's using this?

Typesense is used by a range of users across different domains and verticals.

On Typesense Cloud we serve more than 10 BILLION searches per month. Typesense's Docker images have been downloaded over 12M times.

We've recently started documenting who's using it in our Showcase. If you'd like to be included in the list, please feel free to edit SHOWCASE.md and send us a PR.

You'll also see a list of user logos on the Typesense Cloud home page.

Install

Option 1: You can download the [binary packages](https://typesense.

readme truncated — read the full docs on github

Frequently asked questions

Is Typesense free to use?

Typesense is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Typesense do?

Lightning-fast, typo-tolerant search engine for all

What is Typesense written in?

Typesense is primarily written in C++. Its source is publicly available at https://github.com/typesense/typesense, and it has 26,568 GitHub stars.