Embedding Models 2026 Compared: text-embedding-3, Cohere, BGE-M3, Voyage & Jina
An embedding model comparison evaluates models such as OpenAI text-embedding-3, Cohere Embed v4, BGE-M3, Voyage and Jina by dimensions, context length, MTEB/MMTEB benchmarks, multilinguality, cost, self-hosting and license. For German-language RAG systems, what counts is not the English MTEB rank but the demonstrated quality on MMTEB, MIRACL and MTEB-DE.
Key Takeaways
- The English MTEB rank is not a German rank: on MMTEB, MIRACL-de and MTEB-DE, English-optimized models often lose 5-15 nDCG@10 points on compound words, technical language and long-word-heavy retrieval.
- For German-language RAG systems, Cohere Embed v4 (best proprietary German), BGE-M3 (open-source standard for multilingual RAG, MIT) and Qwen3-Embedding-8B (highest MMTEB score among the open models compared here, Apache 2.0, but more GPU-intensive) are the leaders for 2026.
- Self-hosting determines sovereignty: BGE-M3 (MIT), mxbai and Qwen3-Embedding (Apache 2.0) are downloadable and can therefore run on your own EU infrastructure; Jina v3/v4 only with a commercial license. OpenAI and Voyage remain API-only under US jurisdiction.
- Matryoshka models (text-embedding-3, Cohere v4, Voyage 4) allow dimension truncation: going from 3,072 to 512-1,024 dims costs only around 1-3% retrieval quality but saves 3-6x storage and latency.
- A cross-encoder reranker is the single most effective measure: plus 5-15 points recall@5; contextual embeddings + contextual BM25 + reranker reduce failed top-20 retrievals by 67% according to Anthropic.
- Embeddings derived from personal data are most probably personal data themselves. For regulated DACH workloads, self-operated models (BGE-M3, mxbai, Qwen3-Embedding) on EU infrastructure are the lowest-risk choice. US APIs need a transfer mechanism under Art. 44 et seq. GDPR in addition to the data processing agreement.
An embedding model converts text into numerical vectors that make semantic similarity measurable. These vectors are the foundation of every RAG system. A well-founded embedding model comparison evaluates the candidates by dimensions, context length, MTEB/MMTEB benchmarks, multilinguality, cost, self-hosting capability and license. For the DACH region, the rule is: the English MTEB rank is not a German rank. What matters is MMTEB, MIRACL and MTEB-DE.
- Best German (proprietary): Cohere Embed v4, multilingual leader, available via API, via Azure or as a private deployment in your own VPC or on-premises (as of 2026).
- Open-source standard for multilingual RAG: BGE-M3 (MIT), SOTA on MIRACL, combining dense, sparse and multi-vector in a single model.
- Highest MMTEB score among the open models compared here: Qwen3-Embedding-8B (Apache 2.0), but it needs considerably more GPU capacity than BGE-M3.
- Open weights with a license caveat: Jina v3/v4, developed in Berlin and part of Elastic since October 2025. v4 is multimodal and also processes visual documents. The weights are free for non-commercial use only. Commercial use is possible only via the API or with a separate license.
Why the English MTEB rank is misleading
MTEB v1 is dominated by English tasks. The correct DACH references are MMTEB (the Massive Multilingual Text Embedding Benchmark with over 500 tasks and 250+ languages), MIRACL (18-language monolingual retrieval) and German subsets such as MTEB-DE, GermanQuAD-Retrieval and MIRACL-de. These benchmarks regularly reorder the leaderboard: models that shine in English often lose 5-15 nDCG@10 points in German, especially on compound words, technical language, legal and medical terminology, and tokenization-heavy long-word retrieval.
For German B2B corpora, a further complication is that named entities, product codes, paragraph numbers, ICD codes, SAP material numbers, IBANs and case reference numbers are precisely the tokens where pure dense retrieval models struggle. The choice of model is therefore always a decision about German language quality, not about the global leaderboard.
The most important embedding models of 2026 compared
The following table summarizes the key selection criteria. Unless linked, benchmark figures are drawn from the internal research basis (as of 2026). License information for the open-weight models comes from the model cards on Hugging Face (as of October 2026).
Model | Dimensions | Context | License / Hosting | German signal | Matryoshka | Multimodal | Sovereignty |
|---|---|---|---|---|---|---|---|
OpenAI text-embedding-3-large | 3,072 (truncatable) | 8,192 | API + Azure OpenAI (EU regions) | solid EN, weaker on DE technical tasks | yes | no | US jurisdiction, no on-prem |
OpenAI text-embedding-3-small | 1,536 (truncatable) | 8,192 | as above | similar pattern | yes | no | US jurisdiction |
Cohere Embed v4 | 256-1,536 | 128k | API, Bedrock EU, Azure EU, private deployment (VPC/on-prem) | top-tier German, MTEB v2 ~65 | yes | yes | sovereign only as a private deployment |
BGE-M3 (BAAI) | 1,024 + sparse + multi-vec | 8,192 | MIT, self-host | top-tier multilingual, SOTA MIRACL | no | no | fully sovereign |
Jina Embeddings v3 (Berlin) | 1,024 (task LoRA) | 8,192 | CC BY-NC 4.0 (non-commercial) | strong, beats OpenAI/Cohere on MTEB at 570M params | yes | no | part of Elastic since 10/2025, commercial use only via API or with a license |
Jina Embeddings v4 | up to 2,048 / multi-vec | 32k | Qwen Research License (non-commercial) | MMTEB retrieval 66.49; ViDoRe 90.17 | yes | yes | part of Elastic since 10/2025, commercial use only via API or with a license |
jina-embeddings-v2-base-de | 768 | 8,192 | Apache 2.0, self-host | bilingual DE/EN, CPU-capable (322 MB) | no | no | fully sovereign |
Voyage-3.5 / voyage-4 | variable | up to 32k | API only (MongoDB/Voyage) | EN/finance/legal/code-focused | partial | yes (multimodal-3/3.5) | US jurisdiction |
mxbai-embed-large-v1 (Berlin) | 1,024 | 512 | Apache 2.0, self-host | EU-developed, EN-heavy | yes | no | DACH-native |
Qwen3-Embedding-8B | variable | 32k | Apache 2.0, self-host | MMTEB ~70.58, very strong | yes | no | fully sovereign |
multilingual-e5-large-instruct | 1,024 | 514 | MIT, self-host | solid multilingual | partial | no | fully sovereign |
Proprietary APIs: OpenAI, Cohere, Voyage
OpenAI text-embedding-3-large delivers solid English scores with 3,072 dimensions and 8,192 tokens of context, but falls noticeably behind Cohere and BGE on German specialist tasks. It remains API-only (including via Azure OpenAI in European regions such as Sweden Central or Switzerland North), which means US jurisdiction persists. Cohere Embed v4 is the proprietary multilingual leader with the best German signal, up to 128k context and Matryoshka truncation from 256 to 1,536 dimensions. You can run it sovereignly as a private deployment in your own VPC or on-premises. Voyage (part of MongoDB since February 2025) is specialized in English, finance, legal and code; for German-language retrieval it is not the benchmark.
Open-weight models: BGE-M3, Jina, Qwen3
BGE-M3 (BAAI, MIT) is the open-source standard for DACH multilingual RAG: 1,024 dimensions, 8,192 tokens of context, SOTA on MIRACL and, uniquely, dense, sparse and multi-vector embeddings in a single model. Jina v3 and v4 were developed in Berlin, but Jina AI has been part of Elastic since October 2025. v4, with 32k context, additionally processes visually rich documents (tables, charts, diagrams) and reaches ViDoRe 90.17 in multi-vector mode. Beware of licenses: jina-embeddings-v3 is licensed under CC BY-NC 4.0, jina-embeddings-v4 under the Qwen Research License. Both allow self-hosting for non-commercial purposes only. For commercial use, you need the API or a separate license. For the same reason, NV-Embed-v2 (NVIDIA, CC-BY-NC) is ruled out for commercial DACH deployments. Freely usable alternatives are jina-embeddings-v2-base-de (Apache 2.0), at 322 MB the pragmatic bilingual choice for GPU-less mid-market stacks, and Qwen3-Embedding (Apache 2.0).
Practical example: storage costs and Matryoshka
A concrete calculation example for 10 million vectors at 1,024 dimensions with an HNSW index:
- float32 (baseline): raw vectors 40 GB, plus 50-100% HNSW overhead -> effective working set 60-80 GB.
- halfvec (float16): around 30-40 GB with negligible recall loss.
- Scalar Quantization (SQ8): around 10-20 GB with only 1-3% recall loss.
- Binary + rescore: around 5-10 GB, but only with full-vector rescoring of the top-N, otherwise 30-60% recall loss.
Add to this Matryoshka: text-embedding-3-large with 3,072 dimensions is overdimensioned for most enterprise RAG cases. Truncating to 1,024 or 512 dimensions costs only around 1-3% retrieval quality but saves 3-6x storage and ANN latency. No additional training is needed. The same applies to Cohere Embed v4, mxbai-2d and Voyage 4. For greenfield builds, the recommendation is: choose a Matryoshka-capable model and store at 512-1,024 dimensions. BGE-M3 is not Matryoshka-trained, but its fixed 1,024 dimensions already fall within this range.
Don't forget the reranker
The choice of model is only half the battle. A cross-encoder reranker after the first retrieval stage is the single most effective measure in the pipeline: it typically lifts recall@5 by 5-15 percentage points. According to Anthropic's study on Contextual Retrieval, contextual embeddings plus contextual BM25 reduce the top-20 retrieval failure rate by 49%, and with an additional reranker by 67%, each compared with standard embeddings. Sovereignly self-hostable rerankers are BGE Reranker v2-m3 (Apache 2.0) and mxbai-rerank-large-v2 (Apache 2.0). Jina Reranker v2 and v3 are licensed under CC BY-NC 4.0 and require a separate license for commercial use. As a proprietary alternative, Cohere Rerank is available via API or as a private deployment in your own VPC or on-premises.
Recommendation for DACH and multilingual use cases
The concrete ranking for German-language enterprise RAG (as of 2026) weighs quality, resource requirements and license: 1. Cohere Embed v4 (best German, proprietary, sovereign only as a private deployment), 2. BGE-M3 (open-source standard for multilingual RAG, MIT, fully sovereign, much lighter to run), 3. Qwen3-Embedding-8B (Apache 2.0, highest MMTEB score ~70.58 among the open models in this comparison, but needs considerably more GPU capacity), 4. Jina v3/v4 (developed in Berlin, part of Elastic since 10/2025, v4 multimodal, commercial use only via API or with a license), 5. BGE-multilingual-gemma2 (even heavier, but strong on several splits). OpenAI text-embedding-3-large ranks well behind on German tasks.
The most sovereign stack: BGE-M3 or Qwen3-Embedding, self-hosted on a single L4/A10G GPU, complemented by BGE Reranker v2-m3. All three models are licensed under MIT or Apache 2.0, and all layers run on DACH sovereign clouds (STACKIT, IONOS, OTC, Hetzner). Cohere Embed v4 comes into play where the slightly better German quality justifies the commercial commitment. For full data control, Cohere also offers Embed as a private deployment in your own VPC or on-premises. Important for compliance: embeddings derived from personal data are most probably personal data in their own right (see EDPB Opinion 28/2024). For regulated workloads, self-hostable models are therefore the lowest-risk choice. If an external provider computes or stores the embeddings for you, even in an EU cloud, you need a data processing agreement under Art. 28 GDPR. A US API is not ruled out, but it additionally needs a transfer mechanism under Art. 44 et seq. GDPR. If the provider is certified under the EU-US Data Privacy Framework, the adequacy decision is sufficient. With standard contractual clauses, you also need to assess whether the law of the destination country undermines that protection (transfer impact assessment).
For agencies and B2B decision-makers
The choice of embedding model determines the retrieval quality, storage costs and GDPR compliance of your RAG system in equal measure. Anyone building for the DACH market should select not by English MTEB rank but by demonstrated German quality and sovereignty. As a Vienna-based agency, Blck Alpaca designs and implements sovereign, multilingual RAG and AI agent stacks and supports you from model selection through self-hosting to reranker integration. Talk to us if you want to set up a GDPR-compliant embedding setup for German-language content or optimize an existing system for German retrieval quality.
Opens the chat with a prepared prompt.
Frequently asked questions
Which embedding model is the best for German in 2026?
What do dimensions and context length mean for embedding models?
Can I self-host embedding models?
What is Matryoshka in embeddings and why does it save costs?
Are embeddings personal data under the GDPR?
Want to go deeper?
Get new analyses straight to your inbox, or see how we put this knowledge to work for companies.