gemma-4-12B-it
google/gemma-4-12B-itgemma-4-12B-it at Q4_K_M is exactly 7,121,861,440 bytes (6.63 GiB / 7.12 GB) — an effective 4.764 bits per weight, not the nominal 4. Its KV cache at 32K is 2.47 GiB, not the 12.00 GiB a flat formula predicts.
Shipped quantizations
| Quant | Size● | Exact bytes● | Effective bpw● | Tensors● | Publisher |
|---|---|---|---|---|---|
| UD-IQ2_M | 3.92 GiB | 4,213,353,280 | 2.818 | — | unsloth |
| UD-IQ3_XXS | 4.32 GiB | 4,639,716,160 | 3.104 | — | unsloth |
| IQ2_S | 4.39 GiB | 4,708,743,648 | 3.150 | — | bartowski |
| Q2_K | 4.50 GiB | 4,830,148,992 | 3.231 | — | AtomicChat |
| IQ2_M | 4.60 GiB | 4,940,986,848 | 3.305 | — | bartowski |
| Q2_K | 4.73 GiB | 5,077,875,168 | 3.397 | — | bartowski |
| Q3_K_S | 4.78 GiB | 5,135,014,720 | 3.435 | — | unsloth |
| IQ3_XXS | 4.79 GiB | 5,145,090,528 | 3.442 | — | bartowski |
| Q2_K_L | 4.96 GiB | 5,321,669,088 | 3.560 | — | bartowski |
| IQ3_XS | 5.15 GiB | 5,525,772,768 | 3.696 | — | bartowski |
| Q3_K_M | 5.30 GiB | 5,693,872,960 | 3.809 | 667 | unsloth |
| Q3_K_S | 5.33 GiB | 5,724,838,368 | 3.829 | — | bartowski |
| IQ3_M | 5.34 GiB | 5,733,992,832 | 3.836 | — | AtomicChat |
| IQ3_M | 5.56 GiB | 5,969,922,528 | 3.993 | — | bartowski |
| Q3_K_M | 5.67 GiB | 6,087,088,512 | 4.072 | — | AtomicChat |
| Q3_K_M | 5.87 GiB | 6,301,391,328 | 4.215 | 667 | bartowski |
| IQ4_XS | 5.94 GiB | 6,375,734,080 | 4.265 | 667 | unsloth |
| Q3_K_L | 6.12 GiB | 6,566,320,512 | 4.392 | — | AtomicChat |
| IQ4_XS | 6.18 GiB | 6,635,256,192 | 4.438 | — | AtomicChat |
| Q3_K_L | 6.20 GiB | 6,652,828,128 | 4.450 | — | bartowski |
| IQ4_NL | 6.26 GiB | 6,716,357,440 | 4.493 | — | unsloth |
| Q4_0 | 6.28 GiB | 6,738,475,840 | 4.507 | 667 | unsloth |
| Q4_K_S | 6.30 GiB | 6,764,526,400 | 4.525 | — | unsloth |
| IQ4_XS | 6.32 GiB | 6,780,746,208 | 4.536 | 667 | bartowski |
| Q4_K_S | 6.54 GiB | 7,024,046,720 | 4.699 | — | jwest33 |
| Q4_K_S | 6.54 GiB | 7,024,048,512 | 4.699 | — | AtomicChat |
| IQ4_NL | 6.62 GiB | 7,105,640,928 | 4.753 | — | bartowski |
| Q4_K_M | 6.63 GiB | 7,121,861,440 | 4.764 | — | unsloth |
| Q4_K_S | 6.68 GiB | 7,169,538,528 | 4.796 | — | bartowski |
| Q4_K_M | 6.87 GiB | 7,381,381,760 | 4.938 | — | jwest33 |
| Q4_K_M | 6.87 GiB | 7,381,382,944 | 4.938 | 667 | lmstudio-community |
| Q4_K_M | 6.87 GiB | 7,381,383,552 | 4.938 | — | AtomicChat |
| Q4_1 | 6.89 GiB | 7,397,604,160 | 4.948 | — | unsloth |
| Q4_02 shards | 6.94 GiB | 7,450,674,176 | 4.984 | — | bartowski |
| Q4_K_M | 7.14 GiB | 7,662,533,088 | 5.126 | — | bartowski |
| Q4_1 | 7.22 GiB | 7,755,430,368 | 5.188 | — | bartowski |
| Q4_K_L | 7.36 GiB | 7,906,327,008 | 5.289 | — | bartowski |
| Q5_K_S | 7.64 GiB | 8,204,680,000 | 5.488 | — | unsloth |
| Q5_K_S | 7.77 GiB | 8,338,371,200 | 5.578 | — | jwest33 |
| Q5_K_S | 7.77 GiB | 8,338,372,992 | 5.578 | — | AtomicChat |
KV cache by context
| Context | KV cache (f16)● | Flat formula | Overstated by | Full / windowed / recurrent |
|---|---|---|---|---|
| 4,096 | 0.72 GiB | 1.50 GiB | 2.09× | 8 / 40 / 0 |
| 8,192 | 0.97 GiB | 3.00 GiB | 3.10× | 8 / 40 / 0 |
| 16,384 | 1.47 GiB | 6.00 GiB | 4.09× | 8 / 40 / 0 |
| 32,768 | 2.47 GiB | 12.00 GiB | 4.86× | 8 / 40 / 0 |
| 65,536 | 4.47 GiB | 24.00 GiB | 5.37× | 8 / 40 / 0 |
| 131,072 | 8.47 GiB | 48.00 GiB | 5.67× | 8 / 40 / 0 |
40 of 48 layers cache only a 1,024-token window rather than the full context, on a period of . Figures assume the default configuration; --swa-full disables the saving entirely.
Compare with
Will it run on your card?
Why other calculators give a different number
A parameters × bits ÷ 8 estimate puts Q4_K_M at roughly 6.27 GiB. The real file is 6.63 GiB, because a quantization is a mixture and some tensors are always kept at higher precision. The larger discrepancy is the cache: a flat formula gives 12.00 GiB at 32K context where the real figure is 2.47 GiB, because most of this model's layers cache a fixed window rather than the whole context.
Architecture
Questions people ask
- How much VRAM does gemma-4-12B-it need?
- Q4_K_M is exactly 7,121,861,440 bytes (6.63 GiB) in weights. Add the KV cache, which depends on your context length, plus roughly half a gigabyte of runtime overhead.
- How large is gemma-4-12B-it's KV cache?
- 2.47 GiB at 32K context with an f16 cache, computed per layer. Quantizing the cache to q8_0 roughly halves it, which is often the difference between a context length fitting and not.
- Which quantization of gemma-4-12B-it should I use?
- Q4_K_M is the usual default. Pick the largest quantization that fits your card at the context you actually need — the table above gives exact sizes for every one published.