At a glance
| Product type | Open source vector database usable in-process or as a single-node server, plus serverless Chroma Cloud |
| Vector index types | HNSW (single-node); SPANN with SPFresh (Chroma Cloud) |
| Hybrid search | Chroma Cloud only: Search API with sparse (BM25, SPLADE) and dense queries fused by RRF |
| Metadata filtering | Yes: where filters on metadata and where_document $contains on text |
| Embedding integration | Built-in embedding functions; default local all-MiniLM-L6-v2 |
| Scaling and multitenancy | Self-hosted is single-node; Chroma Cloud is distributed with tenants and databases |
| Deployment (managed or self-hosted) | Embedded or self-hosted server, or Chroma Cloud (Starter, Team, Enterprise) |
| Licensing and pricing model | Apache 2.0; Cloud billed per GiB written, GiB-month stored and TiB queried |
Chroma is one of the quickest ways to add vector retrieval to a Python or JavaScript application: pip install, create a collection and query, with a default local embedding model. Self-hosted Chroma is single-node; for scale and hybrid search through the Search API you move to Chroma Cloud, which bills per GiB written, stored and queried.
Overview
Chroma is an open source vector database from Chroma (the company behind trychroma.com), released under Apache 2.0 with Python (chromadb on PyPI) and JavaScript (chromadb on npm) clients. It can run in-memory inside your application for prototyping, persist to local disk, or run as a server with chroma run, so it sits between an embedded library and a standalone database. The documented self-hosted modes are single-node and use an HNSW index.
Chroma Cloud is the hosted, serverless version. Its documentation describes a distributed vector index based on SPANN and SPFresh, collection schemas with sparse vector indexes (BM25 or SPLADE) and full-text indexes on documents, and a Search API that combines sparse and dense queries with Reciprocal Rank Fusion. The Search API page states it is available in Chroma Cloud only, with local support planned for a future release. If no embedding function is set, Chroma embeds text locally with the all-MiniLM-L6-v2 Sentence Transformers model.
Key features
- In-memory, persistent local and client-server modes from the same Python and JavaScript clients
- Default local embedding with all-MiniLM-L6-v2, plus built-in embedding functions for OpenAI, Cohere, Google, Hugging Face, Jina AI, Mistral and others
- Metadata filtering with where clauses ($eq, $gt, $gte, $lte, $in, $nin, $and, $or, $contains) and document filters (where_document $contains)
- HNSW index on single-node deployments; distributed SPANN and SPFresh index on Chroma Cloud
- Chroma Cloud schemas with sparse vector indexes (BM25, SPLADE) and full-text indexes on documents
- Search API with hybrid dense and sparse queries fused by RRF (Chroma Cloud only)
- Tenants and databases as organising units in Chroma Cloud, with up to 10 or 100 databases on the self-serve plans
Integrations and ecosystem
Pros and cons
Pros
- Very low setup effort for Python and JavaScript prototypes, with a default local embedding model
- Apache 2.0 licence and the same client API from in-process to Chroma Cloud
- Simple, published Cloud usage rates and a $0 Starter plan with $5 credits
- Many built-in embedding function integrations
Cons
- The documented self-hosted modes are single-node; the distributed architecture is offered as Chroma Cloud
- The Search API with hybrid RRF search is Cloud only as of November 2026
- Cloud collection schemas, including sparse indexes, are set at creation and cannot yet be modified
- Fewer index choices than databases such as Milvus
Pricing
Open source Chroma is free. Chroma Cloud is serverless and usage-based: Starter is $0 a month plus usage with $5 of free credits (10 databases, 10 team members); Team is $250 a month plus usage and includes $100 of usage that does not roll over (100 databases, 30 team members, SOC II, volume discounts); Enterprise is custom priced with single-tenant clusters, SLAs and dedicated support. Usage rates are $2.50 per GiB written, $0.33 per GiB stored per month, $0.0075 per TiB queried and $0.09 per GiB returned (network, shown in the calculator). Prices use a $ sign without a currency code.
Pricing checked on the vendor's official page on 7 November 2026. Prices change; confirm before buying.
Who it is best for
Developers building RAG prototypes or small to medium applications in Python or JavaScript who want vector search with minimal setup and a path to a hosted service.
Typical use cases
- RAG prototypes and notebooks with local embeddings
- Document question answering inside a Python or Node.js application
- Hosted semantic and hybrid search on Chroma Cloud
- Per-project vector stores using Cloud databases
Who should look elsewhere
- Teams that need a self-hosted, horizontally scaled cluster: compare Milvus or Qdrant.
- Analytics or multimodal workloads that want vectors stored in an open columnar format on object storage, where LanceDB fits.
Verdict
Chroma is a developer-friendly vector database that is quick to start with and keeps the same API from local prototypes to Chroma Cloud. Its limits are a single-node self-hosted mode and hybrid search that currently requires the Cloud service, so larger self-hosted deployments should look at clustered alternatives.
Frequently asked questions
Is Chroma an embedded library or a database server?
Both. Chroma can run in-memory or with local persistence inside your Python or JavaScript process, or as a single-node server started with chroma run. Chroma Cloud is the hosted, distributed version.
Is Chroma free?
The open source project is free under Apache 2.0. Chroma Cloud Starter is $0 a month plus usage with $5 of free credits; Team is $250 a month plus usage.
Does Chroma support hybrid search?
On Chroma Cloud, yes: the Search API combines sparse (BM25 or SPLADE) and dense queries with Reciprocal Rank Fusion. The documentation says the Search API is Cloud only for now, with local support planned.
Which embedding model does Chroma use by default?
If you do not set an embedding function, Chroma uses all-MiniLM-L6-v2 from Sentence Transformers, running locally. You can switch to built-in functions for providers such as OpenAI or Cohere.
Sources
- Chroma Cloud pricing
- chroma-core/chroma GitHub repository (licence)
- Chroma embedding functions
- Chroma metadata filtering
- Chroma Cloud index configuration reference
- Chroma Cloud Search API overview
Checked November 2026.
Listed in: Vector Databases & AI Search.
How we research reviews and what star ratings mean: our editorial method.