Vector Database Size Calculator
Work out how much storage and memory your embeddings take: number of vectors × dimensions × bytes per number, plus the index, metadata and copies.
One vector for each chunk of text, image or item you store.
Each chunk becomes one vector.
About 1 token per ¾ of an English word.
Your embedding model's output size. Check its docs; some let you shorten it.
IDs, titles, the chunk text if you store it (about 4 bytes a token).
1 = one copy. 2 or 3 for high availability.
Often 16; 32–64 for higher recall. Graph ≈ vectors × M × 2 × 4 bytes.
A rough allowance when you don't know the index type.
Replaces each vector with a short code: sub-vectors × bits ÷ 8 bytes.
Enter what your database or cloud charges. Many hosted vector databases price by RAM or read units instead; this is storage only.
How your vector database size is worked out
Vectors × dimensions × bytes per number, then the extras.
- 1
Count the vectors
1,000,000 vectors
- 2
Size of one vector
1,536 × 4 B= 6,144 B each
- 3
All the vectors
1,000,000 × 6,144 B= 6.144 GB= 5.722 GiB
- 4
Add the extras
No extras in Simple= 6.144 GB total
Read more: the formula, a worked example and size tables
An embedding is a list of numbers (a vector) that stands for a chunk of text, an image or another item. A vector database stores one vector per item, so its size starts with a simple sum: how many vectors × how many numbers in each × how many bytes each number takes. Then it adds metadata, an index to search quickly, and any extra copies. The index and overhead figures here are rough; every database stores things a little differently, so check its own sizing guide before you buy hardware.
The formula
vectors = number of vectors (or documents × chunks per document)
chunks per document = (tokens − overlap) ÷ (chunk size − overlap), rounded up
bytes per vector = dimensions × bytes per number (float32 4, float16 2, int8 1, binary 1/8)
with product quantization: bytes per vector = sub-vectors × bits ÷ 8
raw vectors = vectors × bytes per vector
metadata = vectors × metadata bytes
HNSW index ≈ vectors × M × 2 × 4 bytes (or raw vectors × overhead %)
total = (raw vectors + metadata + index) × copies
RAM = (raw vectors + index) × copies
vectors later = vectors × (1 + growth %)months (or + vectors a month × months)
GB = bytes ÷ 1,000,000,000 · GiB = bytes ÷ 1,073,741,824
storage cost a month = total in GB × your price per GB-month
Worked example
Take 1,000,000 vectors of 1,536 dimensions in float32. One vector is 1,536 × 4 = 6,144 bytes. All of them take 1,000,000 × 6,144 = 6,144,000,000 bytes = 6.144 GB, and 6,144,000,000 ÷ 1,073,741,824 = 5.722 GiB.
In Advanced, add 200 bytes of metadata per vector: 1,000,000 × 200 = 200,000,000 bytes = 0.2 GB. An HNSW index with M = 16 is about 1,000,000 × 16 × 2 × 4 = 128,000,000 bytes = 0.128 GB. With one copy the total is 6.144 + 0.2 + 0.128 = 6.472 GB (6.028 GiB), and the RAM to hold vectors and index is 6.144 + 0.128 = 6.272 GB. Growing 5% a month for 12 months multiplies the count by 1.0512 = 1.7959, so you will have about 1,795,856 vectors taking 6.472 × 1.7959 = 11.62 GB. If your provider charges 0.10 a GB-month, that is 6.472 × 0.10 = 0.65 a month now and 11.62 × 0.10 = 1.16 a month in a year.
Counting by document length: 10,000 documents of 50,000 tokens, cut into 500-token chunks overlapping by 50, make (50,000 − 50) ÷ 450 = 110.997, so 111 chunks each and 1,110,000 vectors.
Size of 1 million vectors
| Dimensions | float32 | float16 | int8 | binary |
|---|---|---|---|---|
| 384 | 1.536 GB | 768 MB | 384 MB | 48 MB |
| 768 | 3.072 GB | 1.536 GB | 768 MB | 96 MB |
| 1,024 | 4.096 GB | 2.048 GB | 1.024 GB | 128 MB |
| 1,536 | 6.144 GB | 3.072 GB | 1.536 GB | 192 MB |
| 3,072 | 12.29 GB | 6.144 GB | 3.072 GB | 384 MB |
Bytes per vector
| Dimensions | float32 | float16 | int8 | binary |
|---|---|---|---|---|
| 384 | 1,536 | 768 | 384 | 48 |
| 768 | 3,072 | 1,536 | 768 | 96 |
| 1,024 | 4,096 | 2,048 | 1,024 | 128 |
| 1,536 | 6,144 | 3,072 | 1,536 | 192 |
| 3,072 | 12,288 | 6,144 | 3,072 | 384 |
- Quantization trades a little search accuracy for a lot of space: int8 is 4× smaller than float32, binary 32× smaller. Many databases keep the full float32 vectors on disk and only the small ones in RAM, then re-check the top results.
- HNSW is the most common index. Its graph grows with M: doubling M roughly doubles the graph. The upper layers add a few percent more; the × 2 × 4 rule covers the main bottom layer.
- Metadata can be bigger than the vectors if you store the chunk text: 500 tokens of English is roughly 2,000 bytes.
- Leave headroom. Databases also use space for write logs, segments being merged and the operating system. Plan for some spare RAM and disk on top of these figures.
Dimension chips are common sizes only, not tied to any one model. Checked 2026-10-13.
Common questions
How much storage do 1 million embeddings need?
It depends on the dimensions and the number format. 1,000,000 vectors of 1,536 dimensions stored as float32 (4 bytes a number) take 1,000,000 × 1,536 × 4 = 6,144,000,000 bytes, which is 6.144 GB or 5.72 GiB. The same vectors at 768 dimensions take half that, 3.072 GB.
How do I work out the size of a vector?
Multiply the number of dimensions by the bytes per number: 4 for float32, 2 for float16, 1 for int8 and 1/8 for binary (1 bit). A 1,536-dimension float32 vector is 1,536 × 4 = 6,144 bytes. A 1,024-dimension binary vector is 1,024 ÷ 8 = 128 bytes.
How much extra memory does an HNSW index use?
The HNSW graph stores links between neighbouring vectors. A common rough estimate is vectors × M × 2 × 4 bytes, where M is the number of links per node (often 16) and each link is a 4-byte number. For 1 million vectors with M = 16 that is about 128 MB. Real databases add their own overheads, so treat it as approximate.
What is the difference between GB and GiB?
A GB is 1,000,000,000 bytes. A GiB is 1,073,741,824 bytes (1024³). Cloud bills and disk makers usually use GB; operating systems and RAM often use GiB. 6.144 GB is 5.72 GiB.
Does quantization reduce vector database size?
Yes. int8 (scalar) quantization makes each number 1 byte instead of 4, so vectors are 4 times smaller. Binary quantization uses 1 bit a number, 32 times smaller. Product quantization replaces each vector with a short code, for example 96 sub-vectors × 8 bits = 96 bytes instead of 6,144. Many databases still keep the full vectors on disk to re-check the top results.
Do replicas double the storage?
Yes. Each copy (replica) holds all the vectors, metadata and index again. With a replication factor of 3 you need three times the disk and RAM of one copy.
Related calculators
Made by Zulu Calculator, part of AlphaZulu LLC. Formulas are shown in full and rule figures are checked against official sources; see how we build calculators.