The embedding model is the stickiest decision in a retrieval stack. You can swap a vector database with an ETL job, but changing the embedding model means re-embedding the entire corpus, because vectors from different models live in incompatible spaces. That asymmetry is why this choice deserves more care than it usually gets: teams agonize over the database and then default to whatever embedding model their tutorial used.
This ranking is for teams building semantic search, RAG, and recommendation systems in production: corpora from thousands to hundreds of millions of chunks, multilingual content as a routine requirement, and a bill that scales with every document ingested and every query served. We ranked six serious options, and the verdict on each entry says when a lower-ranked model beats the winner.
TL;DR
For most production retrieval systems in 2026, the best embedding model is voyage-4. At $0.06 per million tokens it delivers near-flagship retrieval quality, a 32,000-token context window, Matryoshka dimensions down to 256, and int8 and binary quantization, with the first 200 million tokens free. Pay up for voyage-4-large when recall on a hard domain justifies double the price. Pick Gemini Embedding 2 when your corpus mixes text with images, audio, or video, Cohere Embed 4 when documents are long or procurement demands private deployment, OpenAI text-embedding-3-small when lowest cost and maximum ecosystem support outweigh raw quality, and BGE-M3 when the embeddings must run on your own hardware.
How this ranking was made
Verified July 6, 2026
We ranked for production retrieval specifically: RAG pipelines and semantic search, not classification or clustering side uses. Every price, dimension count, context length, and version fact on this page was pulled from the vendors' live pricing pages, documentation, launch posts, and platform listings, all fetched on the verification date shown here; nothing is quoted from memory or from third-party listicles. Benchmark numbers are labeled with who reported them, and vendor-reported comparisons are treated as claims, not facts. BearPlex builds RAG and retrieval systems for clients, which is where the operational judgments come from. No vendor paid for placement, and BearPlex sells none of these models. We excluded rerankers and late-interaction retrieval systems, which sit at a different layer of the stack, and closed-platform embeddings that cannot be exported.
Retrieval quality
Reported benchmark performance on retrieval tasks, weighted by who reported it and how recent the model generation is.
Cost at corpus scale
Price per million tokens from the vendors' published pricing as of the verification date, plus free tiers and batch discounts.
Dimension flexibility and storage footprint
Matryoshka truncation, quantization options, and how much vector storage the default output actually costs downstream.
Context length
Maximum input tokens per embedding call, which decides how much chunking gymnastics your pipeline needs.
Language and modality coverage
Multilingual quality and whether images, PDFs, audio, or video can share the embedding space with text.
Deployment and lock-in
Open weights versus API-only, license terms, platform availability, and what it costs to leave.
All 6 at a glance
Dimension
#1 Voyage 4 family
#2 Gemini Embedding 2
#3 Cohere Embed 4
#4 OpenAI text-embedding-3
#5 BGE-M3
#6 Jina Embeddings v5
Access model
Proprietary API (voyage-4-nano open-weight)
Proprietary API, free tier
Proprietary API, Bedrock, dedicated instances
Proprietary API
Open weights, MIT
Open weights (CC BY-NC 4.0) + commercial API
Price per 1M text tokens
$0.02 to $0.12 by size; first 200M free
$0.20 ($0.10 batch); free tier
$0.12 (partner-platform listed)
$0.02 small, $0.13 large
Free to self-host
Token-billed API, 10M free trial tokens
Max input tokens
32,000
8,192
128,000
8,192
8,192
32,000 (small), 8,192 (nano)
Output dimensions
256 to 2,048, default 1,024
128 to 3,072 (MRL)
256 to 1,536, default 1,536
1,536 / 3,072, reducible
1,024 dense + sparse + multi-vector
1,024 (small), truncates to 32
Modalities and languages
Text; multilingual
Text, image, audio, video, PDF; 100+ languages
Text, images, mixed PDFs; multilingual
Text; multilingual
Text; 100+ languages
Text; 93 languages listed (v5-omni adds image, audio, video)
Standout fact (verified July 2026)
Vendor-run RTEB: +14.05% vs text-embedding-3-large; shared space across sizes
One embedding space across five modalities; MRL truncation auto-normalized
128k context, 16x the OpenAI and Gemini input limit
Cheapest mainstream API embedding at $0.02 per 1M (small)
~35M monthly HF downloads; 3 retrieval signals per forward pass
677M model matches its 3.8B predecessor on retrieval (vendor-reported)
The ranking
1
Voyage 4 family
Voyage AI (a MongoDB company)
The retrieval-quality leader per dollar: four sizes sharing one embedding space, from an open-weight nano to a mixture-of-experts flagship.
The Voyage 4 series, launched January 15, 2026, is the strongest default in this roundup. Voyage reports that voyage-4-large leads the 29-dataset RTEB retrieval benchmark, beating OpenAI text-embedding-3-large by an average of 14.05 percent and Cohere Embed 4 by 8.2 percent on NDCG; those are vendor-run numbers, but the mid-tier voyage-4 at $0.06 per million tokens is the pick we actually recommend, because it approaches flagship quality at half the price of OpenAI's large model. The engineering is genuinely distinctive: all four models produce compatible embeddings in a shared space, so you can embed documents with voyage-4-large and queries with voyage-4-lite, and Voyage describes voyage-4-large as the first production-grade embedding model built on a mixture-of-experts architecture. Every model in the family takes 32,000-token inputs, offers 256 to 2,048 Matryoshka dimensions, and outputs float, int8, uint8, binary, or ubinary, which cuts vector storage bills before the database ever sees them. The trade-offs: the main models are API-only (only voyage-4-nano ships open weights, under Apache 2.0), and MongoDB ownership means the roadmap's center of gravity is Atlas.
Best for
Production RAG and semantic search where retrieval quality per dollar is the deciding factor
Pipelines that want asymmetric retrieval: a large model for indexing, a cheap one for queries, one shared space
Teams using quantization and Matryoshka truncation to control vector storage costs at scale
Not for
Corpora with images, audio, or video: the 4-series text models are text-only
Strict self-hosting or data-sovereignty requirements beyond what the open-weight nano covers
Teams that need audited, third-party benchmark evidence before trusting vendor-run comparisons
Launched
January 15, 2026
Context
32,000 tokens across the family
Dimensions
1,024 default; 256, 512, 2,048 via Matryoshka
Quantization
float, int8, uint8, binary, ubinary output types
Benchmark claim
Leads RTEB; +14.05% vs text-embedding-3-large (vendor-run, NDCG, 29 datasets)
Open weights
voyage-4-nano only (Apache 2.0, Hugging Face)
Pricing
voyage-4-lite is $0.02, voyage-4 is $0.06, and voyage-4-large is $0.12 per million tokens, each with the first 200 million tokens free and a 33 percent batch discount. Specialist siblings voyage-code-3 and voyage-context-3 are $0.18 per million, also with 200 million free tokens. The previous-generation voyage-3.5 remains available at $0.06 with no free allocation.
2
Gemini Embedding 2
Google
One embedding space for text, images, audio, video, and PDFs, with MRL truncation from 3,072 down to 128 dimensions.
gemini-embedding-2 is Google's latest embedding model, billed in its docs as the first multimodal embedding model in the Gemini API, and it is the broadest model in this roundup: it embeds text, images, video, audio, and PDFs into a single semantic space, covers more than 100 languages, takes 8,192-token inputs, and uses Matryoshka Representation Learning so you can truncate from 3,072 dimensions to 128, with truncated outputs auto-normalized. For a corpus where screenshots, scanned PDFs, and recordings sit next to text, this is the strongest managed option, and the Gemini API's free tier means you can evaluate it without a card. The costs are the catch: at $0.20 per million text tokens it is the most expensive text embedding here, more than three times voyage-4, with batch halving that to $0.10. Non-text inputs meter separately: $0.45 per million image tokens, $6.50 for audio, $12.00 for video, and per-request caps apply (6 images, 180 seconds of audio, 120 seconds of video, 6-page PDFs). One structural warning from Google's own docs: embedding spaces are incompatible between model generations, so migrating from gemini-embedding-001 to 2 means re-embedding everything.
Best for
Multimodal corpora: product images, scanned documents, slide decks, and recordings searched alongside text
Teams already on the Gemini API or Vertex stack who want one vendor for models and embeddings
Prototyping on the free tier before committing spend
Not for
Cost-sensitive text-only workloads: at $0.20 per million tokens you are paying for modality breadth you may not use
Teams that want open weights or a self-host path
Model id
gemini-embedding-2 (gemini-embedding-001 now legacy)
Context
8,192 tokens
Dimensions
128 to 3,072 via MRL; 768, 1,536, 3,072 recommended
Modalities
Text, images, video, audio, PDFs in one space
Languages
100+
Pricing
Free tier available on the Gemini API. Paid: $0.20 per million text tokens ($0.10 batch), $0.45 per million image tokens, $6.50 per million audio tokens, and $12.00 per million video tokens. The legacy text-only gemini-embedding-001 is $0.15 per million tokens ($0.075 batch).
3
Cohere Embed 4
Cohere
The long-document and enterprise pick: a 128,000-token context window, text plus image plus mixed-PDF inputs, and private deployment paths.
embed-v4.0's defining spec is its 128,000-token context window, sixteen times the input limit of OpenAI and Gemini and four times Voyage's. That changes pipeline design: contracts, filings, and reports can be embedded whole or in very large sections instead of being shredded into paragraph chunks, and the model natively handles text, images, and mixed text-image PDFs. Output dimensions are Matryoshka-style at 256, 512, 1,024, or 1,536. The enterprise story is the other reason it ranks here: Embed 4 is available through AWS Bedrock and through Cohere's Model Vault dedicated deployments (from $4.00 per hour or $2,500 per month), which is the path regulated buyers actually purchase. Two honest caveats. Cohere's own pricing page now leads with those dedicated instances, and per-token API pricing ($0.12 per million input tokens) is easier to find on partner platform listings than on cohere.com. And the model shipped April 15, 2025, so it is the oldest current-generation model here; Voyage's vendor-run benchmark puts voyage-4-large 8.2 percent ahead of it on retrieval.
Best for
Long-document retrieval: legal, financial, and compliance corpora where 512-token chunks destroy context
Enterprises that need VPC or dedicated deployment through Bedrock or Model Vault
Mixed text-and-image PDF collections embedded without a separate OCR and layout pipeline
Not for
Teams optimizing purely for retrieval quality per dollar, where the Voyage 4 series leads
Anyone expecting transparent self-serve token pricing on the vendor's own pricing page
Model id
embed-v4.0
Context
128,000 tokens, the longest in this roundup
Dimensions
256, 512, 1,024, 1,536 (default)
Modalities
Text, images, mixed text-image PDFs
Released
April 15, 2025
Deployment
Cohere API, AWS Bedrock, Model Vault dedicated instances
Pricing
$0.12 per million input tokens on the API, as listed on Vercel's AI Gateway; image inputs meter separately at rates shown on partner platforms, and Cohere itself does not publish self-serve token rates on cohere.com. Cohere's own pricing page leads with Model Vault dedicated deployments: Embed 4 from $4.00 per hour or $2,500 per month (Small) and $5.00 per hour or $3,250 per month (Medium).
4
OpenAI text-embedding-3
OpenAI
The ecosystem default: cheap, integrated everywhere, good enough for most workloads, and visibly aging.
text-embedding-3-small at $0.02 per million tokens is the cheapest mainstream API embedding, and that plus universal ecosystem support keeps the pair on this list. Both models take 8,192-token inputs and support the dimensions parameter, OpenAI's Matryoshka-style truncation: per OpenAI's docs, text-embedding-3-large cut to 256 dimensions still outperforms the old ada-002 at full size. OpenAI reports MTEB scores of 62.3 for small and 64.6 for large. Every framework, vector database, and tutorial supports these models out of the box, which has real operational value and makes them the lowest-friction choice for a team shipping its first retrieval feature. The honest negative is momentum: OpenAI's documentation lists nothing newer than the text-embedding-3 pair, while every other vendor in this roundup has shipped a new generation since these models launched, and Voyage's vendor-run RTEB comparison claims a 14 percent retrieval gap against text-embedding-3-large. Choose OpenAI for cost and ubiquity, not for quality leadership.
Best for
Teams already on the OpenAI API who want one vendor and zero integration friction
High-volume, cost-sensitive workloads where $0.02 per million tokens is the deciding number
First retrieval features where ecosystem maturity beats squeezing out the last few points of recall
Not for
Retrieval-quality-critical systems, where newer generations from Voyage and Google report stronger results
Multimodal corpora: the text-embedding-3 line is text-only
Long documents: the 8,192-token input forces chunking that Cohere's 128k window avoids
Models
text-embedding-3-small, text-embedding-3-large
Price
$0.02 / $0.13 per million tokens
Dimensions
1,536 / 3,072 default, reducible via dimensions parameter
Context
8,192 tokens
MTEB (OpenAI-reported)
62.3 (small), 64.6 (large)
Pricing
text-embedding-3-small is $0.02 per million tokens and text-embedding-3-large is $0.13 per million tokens (roughly 62,500 and 9,615 pages per dollar respectively, per OpenAI's docs). No free embedding tier.
5
BGE-M3
BAAI (Beijing Academy of Artificial Intelligence)
The open-source workhorse: MIT license, dense plus sparse plus multi-vector retrieval from one model, and no per-token bill ever.
BGE-M3 is what you deploy when the embeddings must run on your own hardware. It is MIT licensed with no commercial restrictions, takes 8,192-token inputs, covers more than 100 languages, and its signature trick is producing three retrieval signals in one forward pass: 1,024-dimension dense vectors, sparse lexical weights, and ColBERT-style multi-vector representations. That means hybrid dense-plus-sparse retrieval, the highest-leverage retrieval upgrade for most RAG systems, comes out of a single model instead of two. Adoption is the other proof point: roughly 35 million monthly downloads on Hugging Face, which makes it the de facto open-source standard and guarantees integration support everywhere. The FlagEmbedding family also offers larger, stronger siblings (bge-multilingual-gemma2 on a gemma-2-9b base, bge-en-icl with in-context learning) when quality matters more than serving cost. The honest accounting: raw retrieval quality trails the 2026 API flagships, and free means you now own GPU serving, batching, autoscaling, and model upgrades. For sovereignty, air-gapped deployments, or embedding costs that must not scale with tokens, it is the clear pick.
Best for
Data-sovereignty, on-premise, and air-gapped deployments where API calls are off the table
Hybrid retrieval built from one model: dense, sparse, and multi-vector signals in a single pass
High-volume embedding workloads where per-token API pricing would dominate the budget
Not for
Teams without GPU serving experience or infrastructure bandwidth
Squeezing maximum retrieval quality: the 2026 API flagships report stronger results
Multimodal corpora, unless you adopt the separate BGE-VL line
Free. MIT licensed for academic and commercial use with open weights on Hugging Face. The real cost is inference infrastructure: GPU serving, scaling, and the engineering time to run it well.
6
Jina Embeddings v5
Jina AI
Small-model engineering for edge and budget deployments: a 677M-parameter model that matches its own 3.8B predecessor on retrieval.
jina-embeddings-v5-text, released in February 2026, is the most interesting efficiency story in this roundup. The 677M-parameter small variant handles 32,000-token inputs, outputs 1,024 dimensions with Matryoshka truncation all the way down to 32, and Jina reports 67.0 on MMTEB and 71.7 on MTEB English, matching its own 3.8B-parameter v4 on retrieval at 5.6 times smaller. A 239M nano variant (8,192 tokens, 768 dimensions) goes smaller still, and the small model ships 14 GGUF quantization variants plus MLX builds, which makes this the most credible option here for on-device and edge retrieval. Language coverage is broad but reported inconsistently: Jina's model page lists 93 supported languages for the small variant while the launch post cites 119. The v5-omni siblings extend the same embedding space to text, images, audio, and video, and stay index-compatible with v5-text. The reason it ranks sixth is licensing, not engineering: the open weights are CC BY-NC 4.0, research and non-commercial only, so production use means the hosted pay-per-token API or a commercial license from Jina. That friction, plus an ecosystem far smaller than OpenAI's or BGE's, is the trade.
Best for
Edge and on-device retrieval via GGUF and MLX quantized builds
Long-context multilingual retrieval from a small, cheap-to-serve model
Teams that want near-flagship quality without flagship-scale inference hardware
Not for
Teams expecting truly open weights: CC BY-NC 4.0 blocks commercial self-hosting without a license
Buyers who want a large vendor's SLA and ecosystem behind the retrieval layer
Released
February 2026 (launch post dated February 19; model page lists February 18)
93 supported per the model page (launch post cites 119)
Benchmarks
MMTEB 67.0, MTEB English 71.7 (vendor-reported, small)
License
CC BY-NC 4.0 weights; commercial via API
Pricing
Weights are free under CC BY-NC 4.0 for research and evaluation only. Commercial use runs through the hosted Jina API, billed on tokens processed, with 10 million free trial tokens for new users; package rates are shown in the Jina dashboard rather than on a public price list.
When none of these is the answer
If retrieval quality is poor, the embedding model is usually the second or third thing to fix, not the first. Chunking strategy, hybrid dense-plus-sparse ranking, a reranker, and an evaluation harness move answer quality more than swapping one modern embedding model for another, and no general-purpose model rescues a corpus where exact identifiers, part numbers, and internal jargon carry the meaning; those need a sparse or keyword signal fused into the ranking regardless of which model you pick. There are also domains where a small open model fine-tuned on your own query-document pairs beats every API flagship on this page, but only if you have the labeled evaluation data to prove it.
All of that is retrieval-system engineering rather than model selection, and it is the work BearPlex does for clients: chunking, embedding choice, hybrid ranking, reranking, and evaluation built as one pipeline, with the model decision made against your corpus and your constraints rather than a leaderboard's.
For most teams, voyage-4: near-flagship retrieval quality at $0.06 per million tokens, a 32,000-token context window, Matryoshka dimensions, quantized output types, and 200 million free tokens to start. Move up to voyage-4-large when recall on a difficult domain justifies $0.12, and sideways to Gemini Embedding 2 or Cohere Embed 4 when multimodality or a 128k context window matters more than price.
Often, yes. For a typical product corpus with decent chunking and a reranker, text-embedding-3-small at $0.02 per million tokens performs respectably, and its ecosystem support is unmatched. The gap shows on harder retrieval: OpenAI has not shipped a new embedding generation while Voyage, Google, Cohere, and Jina all have, and Voyage's vendor-run benchmark claims a 14 percent retrieval gap against text-embedding-3-large. If retrieval quality is your product, evaluate the newer generations before defaulting.
Decide on operations and data constraints, not ideology. APIs win when you want zero serving infrastructure and the best reported quality: the current flagships are all API-first. Open source wins when data cannot leave your environment, when per-token pricing would dominate the budget at your volume, or when you plan to fine-tune on domain data. BGE-M3 is the strongest truly open option: MIT licensed with dense, sparse, and multi-vector retrieval from one model.
Less than most teams expect. A million chunks at roughly 500 tokens each is 500 million tokens. At list prices verified in July 2026, that is $10 with text-embedding-3-small, $30 with voyage-4 (and the first 200 million tokens are free), $60 with Cohere Embed 4, and $100 with Gemini Embedding 2, or $50 with its batch pricing. Query-time embedding is an ongoing trickle on top. The bill that actually grows is vector storage and the LLM calls downstream, which is why Matryoshka truncation and int8 or binary quantization matter more than the embedding invoice itself.
Only by re-embedding everything. Vectors from different models, and even different generations of the same model, live in incompatible spaces; Google's documentation is explicit that migrating between its embedding generations requires re-embedding all existing data. Plan for it: keep raw text alongside vectors, record the model id and dimension count in metadata, and treat a model swap as a batch re-index job rather than an emergency.
Not linearly, and you pay for every dimension in vector storage and query latency. Modern models are trained with Matryoshka Representation Learning, so truncated embeddings keep most of their quality: OpenAI's docs state text-embedding-3-large cut to 256 dimensions still beats the older full-size ada-002, and Gemini, Voyage, Cohere, and Jina all ship the same mechanism. In practice 1,024 dimensions is a sensible default, and truncating harder plus adding a reranker usually beats storing 3,072-dimension vectors.
All six options here are credible multilingual choices, so the decision falls to deployment and cost. Gemini Embedding 2 covers more than 100 languages behind a managed API, the Voyage 4 series is trained for multilingual retrieval at the strongest price-quality ratio, jina-embeddings-v5-text-small lists 93 supported languages in a 677M model, and BGE-M3 covers more than 100 languages with an MIT license for self-hosting. Whatever you pick, evaluate on your actual language mix: aggregate multilingual scores hide big per-language variance.
Only if your corpus genuinely contains meaning that lives outside text: product photos, diagrams, scanned PDFs where layout matters, or audio and video content. Then Gemini Embedding 2 (text, image, audio, video, PDF in one space) and Cohere Embed 4 (text, images, mixed-PDF inputs) are the serious managed options, with Jina's v5-omni line as the small-model alternative. If your documents are text with decorative images, a text-only model plus a standard extraction pipeline is cheaper and simpler.