Key Takeaways
- Chroma (trychroma.com) is a free, open-source embedding database purpose-built for AI applications, not a general-purpose database repurposed for vectors
- Apache-2.0 licensed, confirmed via the GitHub repository
- Over 29,300 GitHub stars as of this review (verified 2026-09-18)
- Locality: fully self-hostable β the open-source database runs entirely on your own infrastructure; Chroma Cloud is a separate, optional managed offering
- Core API is four functions:
create_collection,add,query, anddelete - Three deployment modes: in-memory/ephemeral (prototyping), persistent local storage, and client-server architecture
- Commonly used as the vector-store backend inside LangChain and LlamaIndex RAG pipelines, paired with local embedding models via Ollama or cloud embedding APIs
π In One Sentence
Chroma is a free, open-source (Apache-2.0) vector/embedding database, the chroma-core/chroma project (not the unrelated design tool of the same name), built specifically for AI applications like RAG and semantic search, and it can be self-hosted in-memory, on local disk, or as a client-server deployment.
π¬ In Plain Terms
Instead of building your own storage layer for the numerical "embeddings" that represent your documents, Chroma stores them for you and lets you search by meaning instead of exact keywords. It handles the tokenizing and embedding step automatically if you feed it raw text, runs on your own machine or server via pip install chromadb, and is free.
πNote: This review is the deep-dive companion to Chroma's entry in the Local LLM Software Directory β see that page for how Chroma compares at a glance to dozens of other local and self-hosted AI tools.
What Is Chroma?
Chroma is an open-source embedding database that stores, indexes, and searches the vector representations of your text, images, or other data, so AI applications can retrieve information by semantic similarity instead of exact keyword matching. Its own GitHub description and site tagline position it as "open-source search infrastructure for AI" and "the open-source data infrastructure for AI," built around a small, deliberately simple core API.
- Product type: a self-hosted vector/embedding database, distributed as a Python and JavaScript library plus an optional server binary β not a standalone downloadable GUI app
- Repository: github.com/chroma-core/chroma
- License: Apache-2.0, confirmed via the repository's license classifier on PyPI
- Locality: fully self-hostable β Chroma's open-source database runs entirely on your own infrastructure in every deployment mode; Chroma Cloud is a separate, optional managed/serverless offering for teams that do not want to run it themselves
- Scale: over 29,300 GitHub stars, and Chroma's own site cites more than 15 million monthly downloads of the
chromadbpackage and usage in 90,000-plus open-source codebases β figures that reflect the package's broad download footprint rather than necessarily a count of unique production deployments - Named users referenced on Chroma's own site include Capital One, Mintlify, UnitedHealthcare, Conduit, Propel, Cofounder, Weights & Biases, and Medwise
Chroma's Project History
Chroma is developed as an open-source project under the chroma-core organization on GitHub, with Chroma Cloud later introduced as a separate managed offering built on top of the same database. This review verified the current GitHub star count, license, and package details directly from Chroma's own repository and package registries, but could not verify a specific founder or company name from a primary, dated source during research β so this review does not state one. If you need that detail, check Chroma's own site and press coverage directly rather than relying on a secondary source.
- Chroma's core API was built around a deliberately small surface:
create_collection,add,query, anddelete, aimed at making it fast to get a working retrieval pipeline running - The project has grown to over 29,300 GitHub stars and, per Chroma's own site, more than 15 million monthly downloads of the
chromadbpackage as of this review - Chroma Cloud, a separate managed/serverless offering, was introduced as an optional path for teams that want the same database without self-hosting it β Chroma's site references features like SOC 2 Type II compliance, automatic data tiering, and Bring Your Own Cloud (BYOC) for enterprise on that managed tier
- The latest
chromadbrelease on PyPI at the time of this review is version 1.5.9, published 2026-05-05
What Can You Do With Chroma?
Chroma's feature set centers on storing and querying embeddings for AI applications, per Chroma's own GitHub README and documentation.
- Simple core API β four functions cover the core workflow:
create_collectionto define a collection,addto insert documents,queryto search by similarity, anddeleteto remove entries - Automatic embedding handling β if you feed Chroma raw text without bringing your own embeddings, it tokenizes, embeds, and indexes the documents for you using a default embedding function
- Metadata filtering β you can attach metadata to documents when adding them and filter query results by that metadata alongside semantic similarity
- Three deployment modes β in-memory/ephemeral for quick prototyping, persistent local storage so data survives process restarts, and a client-server architecture for shared, multi-process access
- Language SDKs β official Python (
chromadbon PyPI) and JavaScript/TypeScript (chromadbon npm) clients - Framework integrations β Chroma is commonly used as the vector-store backend inside LangChain and LlamaIndex RAG pipelines, paired with local embedding models (for example via Ollama) or a cloud embedding API
- Chroma Cloud (separate offering) β a managed, serverless tier that Chroma's own site describes as supporting vector, full-text, regex, and metadata search, plus sparse vector search (BM25, SPLADE), automatic data tiering, SOC 2 Type II compliance, and Bring Your Own Cloud (BYOC) for enterprise; verify current feature availability directly on trychroma.com, since these are managed-tier features and not all of them are necessarily present in the self-hosted open-source database
Usage Examples: Three Ways to Use Chroma
These are concrete workflows built from Chroma's documented API, run after pip install chromadb.
- Create an in-memory client and add and query documents:
chromadb.Client()creates an ephemeral client,create_collection()defines a named collection,add()inserts documents with optional metadata and IDs, andquery()searches by semantic similarity β Chroma tokenizes and embeds the text automatically if you do not pass your own embeddings - Use a persistent local client so data survives restarts: Chroma's documented API includes a persistent-client mode (commonly
chromadb.PersistentClient(path=...)in current releases) that writes data to local disk instead of holding it only in memory β verify the exact current constructor and arguments against docs.trychroma.com before shipping code that depends on it, since client APIs can change between releases - Pair Chroma with LangChain as a vector store in a RAG pipeline: the typical workflow is to load and split your documents, embed them with a LangChain-compatible embedding model (local via Ollama or a cloud provider), store the vectors in a Chroma collection through LangChain's Chroma vector-store integration, and then query that store as the retriever step in a retrieval chain β check LangChain's current documentation for the exact integration package and import path, since LangChain's Chroma integration has moved between packages over time
import chromadb
client = chromadb.Client()
collection = client.create_collection(name="my_collection")
collection.add(
documents=["This is document1"],
metadatas=[{"source": "notion"}],
ids=["doc1"],
)
results = collection.query(
query_texts=["This is a query document"],
n_results=2,
)Install Chroma
Chroma installs free via pip or npm, and its source code is on GitHub. There is no standalone GUI installer, since Chroma is a database you add to a Python or JavaScript project (with an optional server component for client-server deployments).
Source | Link |
|---|---|
| Official site (docs, use cases, Chroma Cloud) | trychroma.com |
| Documentation | docs.trychroma.com |
| GitHub repository (source code, Apache-2.0) | github.com/chroma-core/chroma |
| PyPI package (Python) | pypi.org/project/chromadb |
| npm package (JavaScript/TypeScript) | npmjs.com/package/chromadb |
Install with pip install chromadb (Python) or npm install chromadb (JavaScript). No API key or account is required for the open-source, self-hosted database β an account is only needed if you choose to use the separate Chroma Cloud offering.
Chroma Pricing: Is Chroma Really Free?
The open-source Chroma database is free and Apache-2.0 licensed β there is no paid tier gating any feature of the self-hosted database itself. Chroma Cloud is a separate, optional managed offering for teams that want a serverless, hosted version without running the database themselves; as of this review, trychroma.com references starting free on Chroma Cloud with an initial free-credit allowance, but check trychroma.com directly for current terms rather than assuming a specific figure, since managed-tier offers change more often than open-source license terms.
- Open-source database: free, Apache-2.0, no usage limits imposed by Chroma itself
- Your own costs are limited to your own infrastructure (compute and storage) plus whatever embedding provider you use, if you choose a paid cloud embedding API instead of a local model
- Chroma Cloud: a separate, optional managed/serverless offering; as of this review the site references an initial free-credit allowance for new accounts, but verify current pricing and credit terms directly on trychroma.com before budgeting around a specific figure
- No account or sign-up is required to install and use the open-source database
Chroma vs. Qdrant
Chroma and Qdrant are both open-source, self-hostable vector databases that developers commonly evaluate against each other for RAG and semantic-search backends, but they differ in implementation language, deployment options, and how far their filtering capabilities go. Chroma is written primarily in Python with a deliberately small core API and is often chosen for how quickly it gets a prototype running. Qdrant is written in Rust, is built around more extensive filtering capabilities (keyword matching, full-text search, numeric ranges, and geo-location conditions combined with logical operators over JSON payloads), and adds a lightweight "Qdrant Edge" mode for running inside applications on edge devices, alongside its own managed Qdrant Cloud offering.
Written in
- Chroma:
- Python (with a Rust-backed core in newer releases)
- Qdrant:
- Rust
Core API philosophy
- Chroma:
- Deliberately small: create_collection, add, query, delete
- Qdrant:
- Broader API with extensive payload filtering (full-text, numeric range, geo)
Deployment modes
- Chroma:
- In-memory/ephemeral, persistent local storage, client-server
- Qdrant:
- Docker client-server, lightweight embedded "Edge" mode, managed Qdrant Cloud
GitHub stars (verified for this review)
- Chroma:
- Over 29,300 (verified 2026-09-18)
- Qdrant:
- Over 34,700 (verified 2026-09-18)
License
- Chroma:
- Apache-2.0
- Qdrant:
- Apache-2.0
Best fit
- Chroma:
- Fast prototyping and Python-first RAG pipelines with a minimal API surface
- Qdrant:
- Workloads that need rich, structured metadata filtering alongside vector search, or an edge-deployable footprint
Both projects ship updates frequently and both offer a separate managed cloud tier alongside their open-source database β verify current feature parity and pricing on each project's own site before choosing, rather than relying on a point-in-time comparison.
Who Should Use Chroma?
Whether Chroma fits depends on whether you need a dedicated, self-hostable vector database with a minimal API, rather than a broader memory/knowledge-graph layer or a filtering-heavy database.
Competitors and Alternatives
Chroma sits in the vector-database and retrieval-infrastructure layer, alongside embedded vector stores and broader RAG/data frameworks that developers commonly evaluate together. These are not identical products β some are narrower embedded databases, others are broader indexing or orchestration frameworks β but they compete for the same "where do I store and query my embeddings" decision.
txtai
- Best known for:
- Lightweight embedded vector database and semantic search library
- Link:
- txtai review
Articles about txtai (1)
- txtai Review 2026: The Embedded Vector Database That Skips the ServerUpdated September 2, 2026
Also mentioned in:
- Weaviate Review 2026: The Self-Hostable Vector Database for RAGUpdated September 19, 2026
- Milvus Review 2026: The Open-Source Vector Database for Local RAGUpdated September 18, 2026
- Qdrant Review 2026: The Self-Hosted Vector Database for RAGUpdated September 18, 2026
LlamaIndex
- Best known for:
- Data-framework focused specifically on indexing and retrieval for LLM applications
- Link:
- LlamaIndex review
Articles about LlamaIndex (10)
- LlamaIndex Review 2026: Code-First RAG Framework, Not a No-Code BuilderUpdated September 2, 2026
- Chroma Review: Open-Source Vector Database for AI and RAGUpdated September 18, 2026
- Milvus Review 2026: The Open-Source Vector Database for Local RAGUpdated September 18, 2026
- Qdrant Review 2026: The Self-Hosted Vector Database for RAGUpdated September 18, 2026
- Dify Review 2026: Open-Source LLMOps Platform vs. LangChain, FlowiseUpdated September 2, 2026
- Flowise Review 2026: Visual LangChain Workflow Builder Is Shutting DownUpdated September 2, 2026
- Haystack Review 2026: deepset's RAG Framework vs. LangChain and LlamaIndexUpdated September 2, 2026
- RAGFlow Review 2026: Citation-Grade RAG for Complex DocumentsUpdated September 2, 2026
- txtai Review 2026: The Embedded Vector Database That Skips the ServerUpdated September 2, 2026
- Best Local RAG Tools in 2026: Open WebUI, LlamaIndex, and LangChainUpdated August 28, 2026
+15 more not shown
LangChain
- Best known for:
- General-purpose LLM application framework with a large ecosystem of retrieval and agent integrations
- Link:
- LangChain review
Articles about LangChain (10)
- LangChain Review 2026: Features, Pricing, AlternativesUpdated September 5, 2026
- Self-Hosted AI Starter Kit Review 2026: n8n + Ollama + Qdrant in One Compose FileUpdated September 19, 2026
- Chroma Review: Open-Source Vector Database for AI and RAGUpdated September 18, 2026
- cognee Review: Open-Source Knowledge-Graph Memory for AI AgentsUpdated September 18, 2026
- Langchain-Chatchat Review 2026: Self-Hosted RAG and Agent FrameworkUpdated September 18, 2026
- Milvus Review 2026: The Open-Source Vector Database for Local RAGUpdated September 18, 2026
- Qdrant Review 2026: The Self-Hosted Vector Database for RAGUpdated September 18, 2026
- Docker Model Runner Review 2026: Local LLMs via the Docker CLIUpdated September 12, 2026
- n8n Review 2026: AI Workflow Automation With Local Ollama SupportUpdated September 12, 2026
- Agent Zero Review 2026: Features, Install, AlternativesUpdated September 11, 2026
+29 more not shown
Haystack (deepset)
- Best known for:
- Open-source RAG and search pipeline framework from deepset
- Link:
- Haystack review
This is not an exhaustive list of vector databases and retrieval tools β see the Local LLM Software Directory for the full, regularly updated catalog, including Chroma's own directory entry.
Common Mistakes When Evaluating Chroma
Most confusion about Chroma comes from confusing it with the unrelated design tool of the same name, assuming Chroma Cloud features apply to the open-source database, or losing data by using the wrong client mode.
Frequently Asked Questions
What is Chroma?
Chroma (trychroma.com, source at github.com/chroma-core/chroma) is a free, open-source (Apache-2.0) embedding database β a vector database built for AI applications like retrieval-augmented generation and semantic search. This is the chroma-core/chroma project, not the unrelated design/color tool of the same name.
Is Chroma free?
Yes, the open-source Chroma database is free and Apache-2.0 licensed, with no paid tier gating any feature of the self-hosted database. Chroma Cloud is a separate, optional managed offering with its own, separately priced tier β check trychroma.com for current pricing.
How do I install Chroma?
Run pip install chromadb for Python, or npm install chromadb for JavaScript/TypeScript. No API key or account is required for the self-hosted, open-source database.
Does Chroma run fully offline and self-hosted?
Yes. The open-source Chroma database runs entirely on your own infrastructure in every deployment mode β in-memory, persistent local storage, or client-server. Chroma Cloud is a separate, optional managed offering for teams that would rather not self-host.
What are Chroma's deployment modes?
Three: an in-memory/ephemeral mode for quick prototyping (data is lost on exit), persistent local storage so data survives restarts, and a client-server architecture for shared, multi-process access.
What is the core Chroma API?
Four functions cover the core workflow: create_collection to define a collection, add to insert documents (with optional metadata and IDs), query to search by semantic similarity, and delete to remove entries.
Does Chroma handle embeddings automatically?
Yes, by default. If you add raw text without supplying your own embeddings, Chroma tokenizes, embeds, and indexes the documents for you using a default embedding function; you can also bring your own embeddings and embedding model if you prefer.
How is Chroma different from Qdrant?
Chroma is written primarily in Python with a deliberately small core API and is often picked for fast prototyping. Qdrant is written in Rust and built around more extensive metadata filtering (numeric ranges, geo-location, full-text, logical conditions). Both are Apache-2.0 licensed, self-hostable, and also offer a separate managed cloud tier β see the full comparison above.
What license does Chroma use?
Apache-2.0, confirmed via the package classifier on PyPI and the GitHub repository.
What frameworks does Chroma integrate with?
Chroma is commonly used as the vector-store backend inside LangChain and LlamaIndex RAG pipelines, paired with either a local embedding model (for example via Ollama) or a cloud embedding API.
Is Chroma the same as the design/color tool called Chroma?
No. This review covers chroma-core/chroma, the open-source AI vector database at trychroma.com and github.com/chroma-core/chroma. There is a separate, unrelated product that also uses the name "Chroma" in the design/color-tool space β verify you have the right project before installing.
What is Chroma Cloud?
Chroma Cloud is a separate, optional managed/serverless offering built on top of the same database, for teams that do not want to self-host. Chroma's own site references features like SOC 2 Type II compliance and Bring Your Own Cloud (BYOC) on that tier β verify current features and pricing directly on trychroma.com.