Embedding Storage Calculator
10,000 documents of 2,000 tokens split into 512-token chunks with 64 tokens of overlap make 50,000 vectors; at 1,536 dimensions they take 307.2 MB as float32, 76.8 MB as int8 and 9.6 MB as binary, and embedding the 22,560,000 tokens with text-embedding-3-small costs $0.45 (prices checked 2026-10-16).
How to use
- Enter the number of documents and their average length in tokens. Add metadata bytes per vector if your database stores text or IDs next to each vector.
- Set the chunk size and the overlap between neighbouring chunks, both in tokens.
- Pick the embedding model, the vector dimensions and the storage precision. Read the total size, the vector count, the tokens embedded and the cost.
How it works
Chunks per document = 1 if the document fits in one chunk, otherwise ⌈(document tokens − overlap) ÷ (chunk size − overlap)⌉. Vectors = documents × chunks per document.
Bytes per vector = dimensions × 4 (float32), × 2 (float16), × 1 (int8) or ⌈dimensions ÷ 8⌉ (binary). Storage = vectors × (bytes per vector + metadata bytes), shown in decimal units (1 MB = 1,000,000 bytes).
Tokens embedded = documents × (document tokens + (chunks − 1) × overlap), because overlapping tokens are embedded twice.
Embedding cost = tokens embedded × price per million tokens ÷ 1,000,000, using the standard price and, where listed, the batch price.
FAQ
Does the size include the index?
No. It is the raw vector data plus the metadata you enter. Index structures such as HNSW graphs add more on top, and the amount depends on the database and its settings.
Can I lower the dimensions?
OpenAI text-embedding-3 models accept a dimensions parameter, and Gemini embedding output can be set from 128 to 3072 with 768, 1536 and 3072 recommended. Fewer dimensions save space at some cost in retrieval quality.
What do int8 and binary quantization save?
int8 needs a quarter of float32 storage and binary a thirty-second. Many vector databases keep a compressed copy for search and rescore with full precision, so check what yours actually stores.
How much overlap should I use?
A common starting point is 10% to 20% of the chunk size. More overlap keeps context across chunk borders but adds vectors, storage and embedding cost, which this page shows directly.