Chroma Review: The Embedded Vector Database
TL;DR: Chroma is the easiest vector database to get started with. pip install and you're querying in 30 seconds. Great for prototypes and small applications. The open-source single-node setup is built for smaller workloads; for heavier loads the team now offers a managed Chroma Cloud tier, and competitors like Pinecone and Weaviate are worth comparing.
If you've spent any time building a chatbot or a document-search tool, you've run into the same wall: you need somewhere to store embeddings, and most of the options ask you to stand up a server before you've written a line of useful code. Chroma is the response to that frustration. It's an open-source vector database you install with a single pip command, and you can be running a query inside a minute.
That low barrier is the whole point. Chroma has become the default first stop for developers learning retrieval-augmented generation (RAG), the technique behind most AI tools that answer questions over your own documents. You don't need Docker. You don't need a config file. You write four lines of Python and you have working semantic search.
The trade-off used to be simple: easy to start, but you'd outgrow it. That story has shifted. The Chroma team now runs a managed cloud service and a distributed engine for larger workloads, so the old "fine for toys, useless in production" line no longer holds up cleanly. For a small Australian team building its first AI feature, the practical question is less "will I hit a wall" and more "how far does the free local version take me before I should pay for the hosted one."
Here's what we found.
What Is Chroma?
Chroma is an embedded vector database built around simplicity (chroma-core/chroma on GitHub):
- pip install chromadb, zero configuration
- Python-first, native Python API
- Persistent or in-memory, your choice
- Embeddings included, optional auto-embedding
- Filtering, metadata and document filters
- Local or server, runs anywhere
Price: Free (Apache 2.0). A paid, managed Chroma Cloud tier also exists for hosted workloads.
Getting Started
import chromadb
client = chromadb.Client()
collection = client.create_collection("docs")
collection.add(documents=["Hello world"], ids=["1"])
results = collection.query(query_texts=["greeting"], n_results=1)That's it. No Docker, no config files, no database setup. Chroma gets you from idea to working vector search faster than anything else in the category.
Performance
The figures below are illustrative rather than drawn from a published benchmark, treat them as a rough shape, not a guarantee. Real numbers swing widely with your hardware, the embedding model you pick, and your index settings.
| Dataset Size | Ingestion Time | Query Latency | Memory |
|---|---|---|---|
| 1,000 docs | 2s | 15ms | 80 MB |
| 10,000 docs | 18s | 35ms | 350 MB |
| 100,000 docs | 4m | 120ms | 2.1 GB |
| 1M docs | 45m | 800ms | 12 GB |
The pattern holds up in practice: local single-node Chroma is comfortable up to roughly 100k documents. Past that, query latency on the open-source local engine starts to bite, which is the point where the distributed Chroma Cloud offering, backed by a Rust execution engine, or another managed service enters the conversation.
When to Upgrade
Worth noting up front: Chroma itself supports vector, full-text, regex, and metadata search, and Chroma Cloud adds hosted hybrid search (Chroma official site). So "switch tools to get hybrid search" is less clear-cut than it once was, the table below is about scale and shared access, not missing features.
| Sign | Upgrade To |
|---|---|
| Query latency > 200ms | Pinecone Serverless or Chroma Cloud |
| Dataset > 500k docs | Weaviate Cloud or Chroma Cloud |
| Multi-user concurrency | Any managed service |
| Need hybrid search at scale | Pinecone, Weaviate, or Chroma Cloud |
| Team needs shared access | Pinecone, Weaviate, or Chroma Cloud |
Pros and Cons
| Pros | Cons |
|---|---|
| Easiest setup in category | Local single-node engine isn't built for millions of docs |
| Great for learning | Slower at scale than managed competitors |
| Zero configuration | Fewer features than the heavyweight platforms |
| Strong for prototyping | Local mode is single-process |
| Free and open-source | Cloud scale means moving to the paid hosted tier |
A note on the cons: an older version of this review listed "no managed cloud option," which is no longer accurate. Chroma Cloud is a live, fully managed serverless service from the Chroma team, with multi-region hosting on AWS and GCP and usage-based billing.
Verdict
Score: 8.0/10
Chroma is the "hello world" of vector databases, and that's a compliment. If you're learning RAG, start here, the simplicity is deliberate, and it saves you hours you'd otherwise spend wrestling with infrastructure. The honest caveat is just that the free local version is a starting point. When you need scale, concurrency, or shared team access, you either move to Chroma's own hosted tier or weigh up a managed alternative. Knowing where that line sits for your project is the whole skill.
This review was run against an earlier Chroma release; as of mid-2026 the project has moved well past it (current releases are tracked on GitHub), so check the version you're installing before relying on any specific behaviour here.
*Published June 19, 2026*




