Chroma

active

by Chroma · since 2023 · also known as ChromaDB, Chroma Cloud

Open-source retrieval database for AI apps, from embedded Python to serverless Chroma Cloud.

vectordocumentsearch enginedatabase engineopen source (permissive)growing

Overview

Chroma started as the simplest way to add embeddings search to a Python notebook and became the default vector store in many LLM tutorials. The core was rewritten in Rust in 2025, and Chroma now offers dense, sparse (BM25/SPLADE), full-text and regex search, metadata filtering and collection forking. Locally it runs in-process or as a single server; Chroma Cloud is a serverless, object-storage-backed distributed version billed by data written, stored and queried. Ideal for getting RAG working quickly; evaluate the distributed story carefully for very large self-hosted deployments.

Strengths & trade-offs

Strengths

  • +Lowest-friction start: pip install and go, embedded or client-server
  • +Same API from laptop to serverless cloud
  • +Dense, sparse, full-text and regex search in one collection
  • +Collection forking for cheap copy-on-write datasets
  • +Default integration in LangChain, LlamaIndex and many agent frameworks

Trade-offs

  • −Self-hosted distributed mode is less battle-tested than Milvus or Qdrant
  • −Limited tunables for index internals
  • −Stable releases slowed in 2026 while development builds continue
  • −No RBAC in the open-source server

Great for

  • +Prototyping RAG in notebooks
  • +Embedded retrieval in Python apps
  • +Agent memory
  • +Serverless RAG backends

Think twice for

  • −Billion-vector self-hosted clusters
  • −Complex relational filtering
  • −Strict enterprise access control on self-hosted

Capabilities

Native or official first-party support · 6 of 25 tracked

✓Secondary indexes
✓Full-text search
✓Vector search
✓JSON
✓Durable persistence
✓Branching
–Transactions
–Joins
–Geospatial
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Native
Multi-region
No
Transactions
Limited ACID
Consistency
Eventual
Schema
Schemaless
Architecture
Embedded, Single node, Serverless, Client server
Query languages
Chroma API (where filters)

Single-node open source is comfortable into the tens of millions of vectors; Chroma Cloud's distributed engine on object storage scales further.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

available on · AWS

Ecosystem

apis & protocolsREST/JSON, Python in-process
client languagesPython, JavaScript, Rust

Alternatives to Chroma

Compare all→
QdrantVector35.9

Rust vector search engine with rich payload filtering, quantization and a managed cloud.

chroma vs qdrant →
LanceDBVector27.5

Embedded, serverless retrieval database on the Lance columnar format for multimodal AI data.

chroma vs lancedb →
PineconeVector15.5

Fully managed serverless vector database with built-in embedding, reranking and assistants.

chroma vs pinecone →
WeaviateVector33.4

Open-source AI-native vector database with hybrid search, modules for embeddings and multi-tenancy.

chroma vs weaviate →
pgvectorVector40.0

The standard Postgres extension for vector similarity search with HNSW and IVFFlat indexes.

chroma vs pgvector →
MilvusVector45.9

Cloud-native, distributed open-source vector database built for billions of vectors.

chroma vs milvus →

Chroma FAQ

What is Chroma?

Chroma is a vector database by Chroma, first released in 2023. Chroma started as the simplest way to add embeddings search to a Python notebook and became the default vector store in many LLM tutorials. The core was rewritten in Rust in 2025, and Chroma now offers dense, sparse (BM25/SPLADE), full-text and regex search, metadata filtering and collection forking. Locally it runs in-process or as a single server; Chroma Cloud is a serverless, object-storage-backed distributed version billed by data written, stored and queried. Ideal for getting RAG working quickly; evaluate the distributed story carefully for very large self-hosted deployments.

Is Chroma open source?

Yes. Chroma is open source. License: Apache License 2.0.

Does Chroma support ACID transactions?

Partly. Chroma offers limited ACID guarantees (for example, single-record or single-partition transactions), with eventual consistency.

Does Chroma scale horizontally?

Chroma scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at medium scale (≤ 10 TB).

How can I run Chroma?

You can self-host it, embed it in your application, use the vendor's managed cloud and run it serverless. Managed offerings include Chroma Cloud. It is available on AWS.

What is Chroma best for?

Chroma is a strong fit for prototyping RAG in notebooks, embedded retrieval in Python apps and agent memory. Think twice for billion-vector self-hosted clusters.

What are the best alternatives to Chroma?

Common alternatives to Chroma include Qdrant, LanceDB, Pinecone, Weaviate and pgvector. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is Chroma?

Chroma ranks #29 of 844 databases on the WhichDB Score (49.0/100), and #1 among vector databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.