Vector & retrieval
Chroma
Embeddable vector store that runs in-process, which makes it the quickest way to prototype retrieval.
- Category
- Vector & retrieval
- Pricing
- Open source
- Runs
- Hosted or self-hosted
- Languages
- Python, TypeScript
- Interface
- Library, Server
- Source
- Open source
What Chroma is
Chroma runs in your process with no server to start, so a retrieval prototype is an import and a few lines. It persists to disk and can be run as a server later, which makes it a good first step whether or not it is the final one.
Best for
Prototyping retrieval, notebooks, and small applications where a service is overkill.
Consider something else if
In-process design is a poor fit for large corpora or many concurrent readers; plan the migration before you need it.
Chroma alternatives
The closest options in vector & retrieval, on the axes that actually separate them.
| Tool | Best for | Pricing | Runs |
|---|---|---|---|
| Chromaopen source | Prototyping retrieval, notebooks, and small applications where a service is overkill. | Open source | Hosted or self-hosted |
| pgvectoropen source | Anyone already running Postgres with up to a few million vectors, which is a larger share of real applications than the category implies. | Open source | Self-hosted |
| Qdrantopen source | Filter-heavy retrieval — multi-tenant, permissioned, or time-scoped — where naive filtering degrades results. | Open source | Hosted or self-hosted |
| Pinecone | Teams who want retrieval to be somebody else's operational problem and are content to pay for that. | Usage-based | Hosted |
| Weaviateopen source | Corpora containing identifiers, product codes, or proper nouns, where pure vector search visibly misses. | Open source | Hosted or self-hosted |
| turbopuffer | Large corpora where only a fraction is queried regularly, and per-tenant indexes that are mostly idle. | Usage-based | Hosted |
Choosing within vector & retrieval
Whether Postgres is already enough
Ask this first and take the answer seriously. At small and medium scale the extension removes a service, a sync problem, and a second consistency model, at very little cost in capability.
Metadata filtering
Real queries are almost never pure similarity — they are similarity within a tenant, a date range, or a permission scope. How well a store combines filters with vector search is the difference that shows up in production.
Questions
What is Chroma?
Chroma runs in your process with no server to start, so a retrieval prototype is an import and a few lines. It persists to disk and can be run as a server later, which makes it a good first step whether or not it is the final one. It is open source and hosted or self-hosted.
What are the alternatives to Chroma?
The closest alternatives are pgvector, Qdrant, Pinecone, Weaviate, turbopuffer. They sit in the same category — vector & retrieval — and differ mainly on hosting model, pricing shape, and how much they abstract away.
Is Chroma the right choice?
Prototyping retrieval, notebooks, and small applications where a service is overkill. The main caveat: In-process design is a poor fit for large corpora or many concurrent readers; plan the migration before you need it.
Whatever you build on, the model is the line item that scales. See what each one costs per million tokens, or price your own workload.