Quick verdict
Choose Chroma if you want the quickest start for a Python or JavaScript RAG application, a simple client-server option, and a self-serve hosted service with published usage prices. Choose LanceDB if you want embedded search over data kept in an open columnar format on local disk or object storage, with full-text and hybrid search, SQL and a wider set of IVF-based indexes available without any service. Note two caveats: Chroma's hybrid Search API is Chroma Cloud only, and LanceDB's managed option is now LanceDB Enterprise by quote.
Chroma is an open source vector database (Apache 2.0) with Python and JavaScript clients. It can run in-memory inside your process, persist to local disk, or run as a single-node server started with chroma run; the documented self-hosted modes use an HNSW index. Chroma Cloud is the hosted, serverless version, with a distributed SPANN and SPFresh index, collection schemas with sparse (BM25 or SPLADE) and full-text indexes, and a Search API that fuses dense and sparse results with RRF. The Search API page states it is Chroma Cloud only, with local support planned for a future release.
LanceDB is an open source (Apache 2.0) retrieval library that runs in your application process with no server, which its documentation calls LanceDB Embedded. It is built on Lance, an open columnar format, so tables, versions and indexes are files that can live on local disk or object storage. SDKs cover Python, TypeScript and Rust, and the same tables support vector search, BM25 full-text search, hybrid search, reranking, filtering and SQL. The commercial LanceDB Enterprise adds a distributed deployment as Managed, BYOC or custom.
Lifecycle note on LanceDB Cloud. Earlier LanceDB documentation described a self-serve LanceDB Cloud. On 7 November 2026 the docs list only LanceDB Embedded and LanceDB Enterprise, and the former Cloud docs page returns 404. We found no official retirement notice, so this page does not treat a self-serve LanceDB Cloud as a purchasing option; ask LanceDB directly if you need one.
Side by side
| Aspect | Chroma | LanceDB |
|---|---|---|
| Run modes | In-memory, persistent local, single-node server, or Chroma Cloud | In-process library only (no server); Enterprise for distributed serving |
| Storage | Local persistence or the Chroma server; Cloud storage managed by Chroma | Lance columnar files on local disk or object storage |
| Languages | Python and JavaScript/TypeScript clients | Python, TypeScript and Rust SDKs; REST API for Enterprise |
| Vector index types | HNSW (self-hosted); SPANN with SPFresh (Chroma Cloud) | IVF_FLAT, IVF_PQ, IVF_RQ, IVF_SQ, IVF_HNSW_SQ, IVF_HNSW_FLAT, IVF_HNSW_PQ |
| Full-text and hybrid search | Chroma Cloud only: sparse (BM25, SPLADE) and full-text indexes, Search API with RRF; self-hosted has where_document $contains | BM25 full-text index and hybrid search in the open source library, RRF by default or other rerankers |
| Filtering | where filters on metadata ($eq, $gt, $in, $and, $or and others) and where_document on text | Filters and SQL, with BTREE, BITMAP and LABEL_LIST scalar indexes |
| Embedding integration | Built-in embedding functions; default local all-MiniLM-L6-v2 | Embedding registry (OpenAI, Sentence Transformers, Cohere and others) |
| Managed offering | Chroma Cloud: Starter, Team, Enterprise, self-serve | LanceDB Enterprise only (Managed, BYOC, custom), by quote; no self-serve cloud documented |
| Published prices | Yes: plan fees and per-GiB usage rates | No list prices |
| Licence | Apache 2.0; Chroma Cloud commercial | Apache 2.0 (library and Lance format); Enterprise commercial |
| Main trade-off | Easiest start and a self-serve cloud, but self-hosted is single-node and hybrid search needs Cloud | Richer embedded feature set on an open format, but managed use means an Enterprise contract |
Key differences
Embedded library or small server
Both can run inside your Python process, but they diverge from there. Chroma can also run as a server, so several application processes can share one database over the network, and it moves to Chroma Cloud with the same client API. The documented self-hosted modes are single-node, so horizontal scale is a Chroma Cloud feature.
LanceDB stays a library: there is no LanceDB server to run in open source form. Because its data is Lance files on disk or object storage, several readers can open the same tables and the data is also usable by analytics and training pipelines. A shared network service with distributed serving is what LanceDB Enterprise provides. In our view LanceDB fits pipelines, notebooks, desktop or edge applications, and Chroma fits applications that want a small shared server or a hosted service.
# Chroma: local persistent client
import chromadb
client = chromadb.PersistentClient(path="./chroma")
docs = client.get_or_create_collection("docs")
# LanceDB: embedded table on local disk (an object storage URI also works)
import lancedb
db = lancedb.connect("./lancedb")
table = db.open_table("docs") Hybrid and full-text search
This is the clearest functional difference in open source use. LanceDB has a BM25 full-text search index and hybrid search in the library itself, fusing vector and keyword results with RRF by default, linear combination, or model-based rerankers (provider-specific rerankers are Python only). Chroma self-hosted offers metadata filters and where_document text filters such as $contains, but sparse and full-text indexes and the RRF-based Search API are documented for Chroma Cloud only as of November 2026. If you need BM25 hybrid retrieval without a hosted service, LanceDB covers it today.
Index types and data format
Chroma uses HNSW for self-hosted collections and a distributed SPANN index with SPFresh on Chroma Cloud, with little to configure. LanceDB offers IVF-based indexes (IVF_FLAT, IVF_PQ, IVF_RQ, IVF_SQ) and combinations of IVF partitions with HNSW graphs (IVF_HNSW_SQ, IVF_HNSW_FLAT, IVF_HNSW_PQ), plus scalar indexes for filters. Its documentation notes that some of these (IVF_SQ, IVF_HNSW_FLAT, IVF_HNSW_PQ) are built only by the embedded library, not by Enterprise deployments. Lance as an open columnar format is the deeper difference: the same files can hold images, text, metadata and vectors and be read by other tools.
Managed options and pricing transparency
Chroma Cloud is self-serve: sign up on Starter at $0 plus usage, move to Team, or negotiate Enterprise with single-tenant clusters and SLAs. Billing is per GiB written, per GiB stored per month, per TiB queried and per GiB returned, all published. LanceDB sells LanceDB Enterprise as a Managed deployment run by LanceDB, a BYOC deployment in your AWS, Google Cloud or Azure account, or a custom deployment, with no published prices. Teams that want to start a hosted deployment with a credit card today have that option with Chroma, not LanceDB.
Pricing and licensing
Chroma. Open source Chroma is free. Chroma Cloud, listed on trychroma.com/pricing on 7 November 2026 ($ sign, currency code not stated): Starter $0 a month plus usage, with $5 of free credits, 10 databases and 10 team members; Team $250 a month plus usage, including $100 of usage that does not roll over, 100 databases, 30 team members, SOC 2 and volume discounts; Enterprise custom, with single-tenant clusters, SLAs and dedicated support. Usage rates: $2.50 per GiB written, $0.33 per GiB stored per month, $0.0075 per TiB queried and $0.09 per GiB returned. Service pauses when a usage limit is reached until the limit is changed.
LanceDB. LanceDB Embedded is free under Apache 2.0; you pay for your own disk or object storage. LanceDB Enterprise (Managed, BYOC or custom) is priced by contacting LanceDB, and no list prices are published. No self-serve LanceDB Cloud plan, free tier or usage rate was found on LanceDB's official site or documentation on 7 November 2026.
Pricing checked on the vendors' official pages on 7 November 2026. Prices change; confirm before buying.
Where each one leads
Chroma strengths
- Very quick start in Python or JavaScript, with a default local embedding model
- Same client API from in-process use to a server and Chroma Cloud
- Self-serve hosted service with published plan fees and usage rates
- Many built-in embedding function integrations
LanceDB strengths
- Full-text BM25 and hybrid search in the open source library, without a hosted service
- Data stored in the open Lance columnar format on local disk or object storage
- Wider choice of IVF and IVF-HNSW indexes plus scalar indexes
- SQL and filtering over the same tables, useful for multimodal and training data
- SDKs for Python, TypeScript and Rust
Limitations
Chroma limitations
- Documented self-hosted modes are single-node; distributed scale is Chroma Cloud
- The hybrid Search API and sparse or full-text indexes are Chroma Cloud only as of November 2026
- Cloud collection schemas are set at creation and cannot yet be modified
- Fewer index choices than LanceDB or server databases such as Milvus
LanceDB limitations
- No documented self-serve cloud; managed use means a quote-only LanceDB Enterprise contract
- No server in open source form, so sharing across many services needs Enterprise or your own service layer
- Some indexes are built only by the embedded library, not by Enterprise deployments
- Provider-specific rerankers are Python only, and multitenancy is not documented for the library
When to choose each
Choose Chroma if
- You are building a RAG prototype or small application and want minimal setup
- Several processes need to share one small vector database over the network
- You want to move to a hosted service with a credit card and published prices
- Your stack is Python or JavaScript and you like built-in embedding functions
Choose LanceDB if
- You need BM25 hybrid search without depending on a hosted service
- You want vectors and other data in an open columnar format on object storage
- You build data pipelines, notebooks, edge or desktop applications that embed the database
- You need Rust support or SQL over the same tables
- You are ready to negotiate an Enterprise contract for managed or BYOC deployment
When neither is right
- You need a self-hosted, horizontally scaled vector database server: see Milvus vs Qdrant.
- You want a fully managed service with no infrastructure and self-serve plans: see Pinecone vs Weaviate.
- Your data already lives in PostgreSQL: see pgvector vs Pinecone.
- You only need a similarity search library inside your own code, with no persistence layer: see the Faiss profile.
Final recommendation
Chroma is the more direct fit for application developers who want the shortest path from a notebook to a running RAG app and a self-serve hosted service with published prices, accepting that hybrid search currently needs Chroma Cloud. LanceDB is the more direct fit for teams that want embedded vector, full-text and hybrid search over data in an open format, without running any service, and who either stay embedded or are ready for an Enterprise contract. Decide first whether you need a server or a hosted plan, then whether you need hybrid search outside a cloud service; those two answers usually settle it.
Frequently asked questions
Can I self-host Chroma hybrid search?
Not with the Search API as of November 2026. Chroma's documentation says the Search API, which fuses sparse and dense results with RRF, is available in Chroma Cloud only, with local support planned for a future release. Self-hosted Chroma offers metadata and where_document filters.
Is LanceDB Cloud still available?
On 7 November 2026 LanceDB's documentation listed only LanceDB Embedded and LanceDB Enterprise (Managed, BYOC or custom), and the former Cloud docs page returned 404. We found no official retirement notice; contact LanceDB if you need a hosted plan.
Do both run inside my application?
Yes. Chroma can run in-memory or with local persistence in your process, and also as a single-node server. LanceDB runs only in-process in its open source form, reading and writing Lance files on disk or object storage.
Which is cheaper?
Both are free in open source form under Apache 2.0. For hosted use, Chroma Cloud publishes prices (Starter $0 plus usage, Team $250 a month plus usage). LanceDB Enterprise is quote-only, so you cannot compare list prices directly.
Sources
- Chroma Cloud pricing
- chroma-core/chroma GitHub repository (licence)
- Chroma Cloud Search API overview
- Chroma metadata filtering
- LanceDB documentation overview
- LanceDB indexing
- LanceDB hybrid search
- LanceDB Enterprise
- lancedb/lancedb GitHub repository (licence)
Checked November 2026.
How we research comparisons: our editorial method.