Skip to main content
Updated
Embedding models turn text into vectors so you can search, cluster, and build RAG by meaning, not keywords. The hard part isn’t finding a good one - it’s matching retrieval quality, price, dimensions, and self-hosting needs to your workload. We compared 15 leading options.

Best Embedding Models

#ModelBest for
The score is a normalized RTEB rank, not a percent-correct number, so small on-device models like Qwen3-Embedding-0.6B and EmbeddingGemma 300M land near the bottom despite being genuinely useful for local work.

How to Choose

When choosing between these models, consider:
  • Access: First decide whether you’ll call a hosted API or self-host. Proprietary models like Voyage 4 Large, Gemini Embedding 2, Cohere Embed v4.0, and the OpenAI models are API-only. Open-weight models can be self-hosted, but the 7B-8B ones (Octen, Qwen3-Embedding-8B, NV-Embed-v2, E5 Mistral) need a high-end machine, while smaller models (BGE-M3, Snowflake, Qwen3-Embedding-0.6B, EmbeddingGemma) run on a typical one.
  • Quality: We use RTEB, the Retrieval Embedding Benchmark, as the main score. It measures retrieval accuracy on held-out and private datasets across domains like law, healthcare, finance, and code, which makes it harder to game than older public benchmarks. We normalize each model’s RTEB rank to a 0-100 scale, so 100 is the top-ranked model and low numbers mean a low rank, not a percent-correct figure. That’s why small on-device models score near the bottom even though they’re useful.
  • Price: We use API cost per 1M input tokens for a clean comparison. Several open-weight models show n/a because they have no single first-party per-token rate - your cost is the hardware you run them on, or whatever host you route through.
  • Output Dimensions: Bigger vectors can capture more, but they cost more to store and search. Most top models support Matryoshka truncation, so you can start at the full size and cut to 512 or 768 to save storage and speed up search with little quality loss.
  • Licensing: Check this before you build. NV-Embed-v2 and Jina Embeddings v5 Text Small ship open weights under noncommercial licenses, so commercial use needs a paid API or a separate agreement despite the “open weight” label.

Other Models We Considered


Frequently Asked Questions

Voyage 4 Large is our top pick for general-purpose retrieval quality, and it’s the one to beat. If you want open weights you can self-host, Octen-Embedding-8B leads that field.
Octen-Embedding-8B leads on retrieval, with Qwen3-Embedding-8B close behind and far broader language coverage. Both need a high-end machine, so budget for the hardware or route them through an API.
On a typical machine, BGE-M3, Snowflake Arctic Embed L v2.0, Qwen3-Embedding-0.6B, and EmbeddingGemma 300M all run comfortably. EmbeddingGemma goes smallest for phones and edge devices; BGE-M3 gives you the most retrieval flexibility.
For raw multilingual dense retrieval, Qwen3-Embedding-8B generally edges it, but BGE-M3 adds sparse and multi-vector retrieval in one model. Choose by whether you want hybrid retrieval or just the strongest dense vectors.
Move to text-embedding-3-small for a cheap upgrade or text-embedding-3-large for better quality. Both beat ada-002 and add dimension shortening, so migration is usually a straight swap.
Roughly. RTEB’s private datasets make it harder to game than older benchmarks, but retrieval quality still depends on your own corpus. Shortlist the top two or three candidates by score, then test them on your data before committing.
Usually fewer than the maximum. Many of these models support Matryoshka truncation, so you can cut dimensions to save storage and speed up search with little quality loss. Test at 512 or 768 before paying to store full-size vectors.