The Complete Embedding Model Comparison Guide — Dimensions, MTEB, Context, Price & Vector Storage Cost
In a Retrieval-Augmented Generation (RAG) pipeline, the embedding model you pick drives both retrieval quality and running cost. For the exact same text, per-token pricing can differ by more than 20× between models, and a larger embedding dimension proportionally increases vector storage cost. This guide explains the four metrics you should weigh when choosing an embedding model — dimension, context, price and MTEB — plus the formula for vector storage cost.
1. Embedding dimension — the main cost driver
The embedding dimension is the number of values in the vector that represents a piece of text. Models use anywhere from 384 to 3,072 dimensions; more dimensions can capture richer meaning but cost more to store and search. Vectors are usually stored as float32 (4 bytes per number), so a 1,024-dimension vector takes 1,024 × 4 = 4,096 bytes (4 KB). Storing 10 million documents takes 4,096 × 10,000,000 ≈ 40 GB. At 3,072 dimensions the same corpus needs about 120 GB.
That is why recent models support Matryoshka embeddings: the vector is trained so you can truncate it from the front to 256, 512 or 1,024 dimensions with minimal quality loss. Reducing text-embedding-3-large (3,072-dim) to 256 dimensions cuts storage to one-twelfth. Use this tool's "Matryoshka dimension" option to simulate the savings directly.
2. Maximum context — the chunk-size ceiling
Maximum context is how many input tokens you can embed at once, and it varies widely. Cohere embed-english-v3.0 supports only 512 tokens, while Voyage models support 32,000 tokens and Cohere embed-v4.0 reaches 128,000. A small-context model forces you to split documents into more, smaller chunks, which increases both the number of stored vectors and the embedding token count. For long-document RAG, a generous context window reduces chunking overhead.
3. MTEB score — the retrieval-quality benchmark
MTEB (Massive Text Embedding Benchmark) averages embedding performance across dozens of tasks such as classification, retrieval and clustering. A higher score suggests stronger general-purpose quality, but it does not guarantee performance on your specific domain or language. For Korean or multilingual RAG, models like BGE-M3, Voyage or Gemini embeddings may beat a higher-English-MTEB model. Treat MTEB as a first-pass filter, then validate the finalists on your own eval set.
4. Token price — the embedding cost formula
Most embedding APIs bill per 1M tokens. The embedding cost formula is:
- Embedding cost (USD) = (total tokens ÷ 1,000,000) × price per 1M tokens
- Total tokens = number of documents × average tokens per document
- Monthly cost = one-time index cost × re-embeds per month + (monthly queries × query tokens ÷ 1M × price)
For example, 100,000 documents × 500 average tokens = 50M tokens. With OpenAI text-embedding-3-small ($0.02/1M) that is 50 × $0.02 = $1. The same job costs $6.5 with text-embedding-3-large ($0.13/1M) and $0.3 with Google text-embedding-005 ($0.006/1M). If your corpus rarely changes, embedding is nearly a one-time cost, after which storage and query costs recur monthly.
5. Vector storage cost — where dimension matters
Where you store vectors (Pinecone, Qdrant or pgvector) changes the monthly cost. For simplicity this tool models only the storage rate ($/GB·month). Storage size is dimension × documents × 4 bytes, so reducing dimension (Matryoshka) or applying int8/binary quantization (4×–32× compression) can dramatically lower storage cost. (Quantization savings are not modeled here, and real vector-DB bills also add read/write units, RAM and replicas.)
6. Models at a glance
| Model | Provider | Dim | Context | $/1M | MTEB |
|---|---|---|---|---|---|
| text-embedding-3-small | OpenAI | 1536 | 8,191 | $0.02 | 62.3 |
| text-embedding-3-large | OpenAI | 3072 | 8,191 | $0.13 | 64.6 |
| voyage-3-large | Voyage AI | 1024 | 32,000 | $0.18 | 65.5 |
| voyage-3.5 | Voyage AI | 1024 | 32,000 | $0.06 | 64.0 |
| voyage-3.5-lite | Voyage AI | 1024 | 32,000 | $0.02 | 62.0 |
| embed-english-v3.0 | Cohere | 1024 | 512 | $0.1 | 64.5 |
| embed-v4.0 | Cohere | 1536 | 128,000 | $0.12 | 65.0 |
| jina-embeddings-v3 | Jina AI | 1024 | 8,192 | $0.02 | 65.0 |
| text-embedding-005 | 768 | 2,048 | $0.006 | 62.0 | |
| gemini-embedding-001 | 3072 | 2,048 | $0.15 | 68.3 | |
| BGE-M3 | BAAI | 1024 | 8,192 | — | 59.5 |
| mistral-embed | Mistral AI | 1024 | 8,000 | $0.1 | 59.0 |
The "cheapest" model and the "highest-scoring" model are rarely the same answer. Total-cost ranking shifts with document count, update frequency, query volume and dimension, so enter your own scenario in the calculator and compare by monthly total cost.