GGUF Quantization Sizes, Measured

Every figure on this page is a real file size. 66 GGUF checkpoints across 11 models and 6 formats were measured by reading the x-linked-size header on each file's Hugging Face download URL, then divided by the parameter count the model's own safetensors index reports. No format delivers the bit width its name implies.

What each format actually costs

A GGUF file is not uniformly quantized. The K-quant formats apply the named block type to most attention and feed-forward weights, but token embeddings and the output projection are commonly held wider, and every quantized block carries scale and minimum values alongside its packed data. The name describes the dominant block. The file size is what you have to fit on the card.

Measured effective bits per weight, 66 files, 11 models
FormatNominal bitsMeasured meanMinMaxOver nominalSize vs FP16
Q3_K_M3.04.0033.8884.271+33.4%25%
IQ4_XS4.04.4124.3184.642+10.3%28%
Q4_K_M4.04.9144.8265.110+22.8%31%
Q5_K_M5.05.7235.6695.830+14.5%36%
Q6_K6.06.5716.5646.596+9.5%41%
Q8_08.08.5088.5028.533+6.3%53%

The headline is Q4_K_M, the most widely distributed format on Hugging Face, at 4.914 bits per weight rather than 4. The relative overshoot is worst at the low end: Q3_K_M measures 4.003 bits against a nominal 3, a 33 percent overshoot, and in practice it lands almost exactly where a nominal 4-bit format is supposed to. If you are choosing Q3_K_M over Q4_K_M to save memory, the real saving is 19 percent, not the 25 percent the names suggest.

Compression is smaller than advertised

Stated against FP16, every format saves less than its name promises. The gap is the part that ends up on your GPU.

Saving against FP16, promised by the name against measured
FormatImplied savingMeasured savingShortfall
Q3_K_M81%75%6 pt
IQ4_XS75%72%3 pt
Q4_K_M75%69%6 pt
Q5_K_M69%64%5 pt
Q6_K62%59%4 pt
Q8_050%47%3 pt

Effective bits per weight, every model measured

The spread across models is real and it is systematic. Small models overshoot most, because the tensors kept at higher precision, chiefly the embedding and output matrices, are a larger fraction of a smaller parameter count. A 1.5B model and a 32B model quantized to the same nominal format do not land on the same bits per weight.

Effective bits per weight by model and format
ModelParametersQ3_K_MIQ4_XSQ4_K_MQ5_K_MQ6_KQ8_0
Qwen2.5-1.5B-Instruct1.54B4.2714.6425.1105.8306.5968.533
Qwen2.5-3B-Instruct3.09B4.1234.5085.0035.7686.5808.517
Mistral-7B-Instruct-v0.37.25B3.8884.3184.8265.6696.5648.502
Qwen2.5-7B-Instruct7.62B4.0014.4314.9195.7206.5708.507
DeepSeek-R1-Distill-Qwen-7B7.62B4.0014.4314.9195.7206.5708.507
Meta-Llama-3.1-8B-Instruct8.03B4.0044.4314.9025.7116.5718.509
phi-414.66B4.0184.3344.9405.7876.5658.503
Qwen2.5-14B-Instruct14.77B3.9754.3984.8685.6926.5678.505
DeepSeek-R1-Distill-Qwen-14B14.77B3.9754.3984.8685.6926.5678.505
DeepSeek-R1-Distill-Qwen-32B32.76B3.8914.3204.8475.6806.5658.502
Qwen2.5-32B-Instruct32.76B3.8914.3204.8475.6806.5658.502

File sizes in GiB

The same measurements expressed as the number you compare against card capacity. A 24 GB card reports 22.35 GiB, so read these against that rather than against the advertised figure.

Measured file size in GiB by model and format
ModelQ3_K_MIQ4_XSQ4_K_MQ5_K_MQ6_KQ8_0
Qwen2.5-1.5B-Instruct0.770.830.921.051.191.53
Qwen2.5-3B-Instruct1.481.621.802.072.363.06
Mistral-7B-Instruct-v0.33.283.644.074.785.547.17
Qwen2.5-7B-Instruct3.553.934.365.075.827.54
DeepSeek-R1-Distill-Qwen-7B3.553.934.365.075.827.54
Meta-Llama-3.1-8B-Instruct3.744.144.585.346.147.95
phi-46.867.408.439.8811.2014.51
Qwen2.5-14B-Instruct6.847.568.379.7911.2914.62
DeepSeek-R1-Distill-Qwen-14B6.847.568.379.7911.2914.62
DeepSeek-R1-Distill-Qwen-32B14.8416.4818.4921.6625.0432.43
Qwen2.5-32B-Instruct14.8416.4818.4921.6625.0432.43

Two rows are worth dwelling on. Qwen2.5-32B-Instruct at Q4_K_M is 18.49 GiB. Sized at a nominal 4 bits you would predict 15.25 GiB and conclude it leaves plenty of room on a 24 GB card. It does not: after the KV cache and runtime overhead it does not fit at any useful context length. To check that for your own combination, use the GPU fit calculator, which uses these measured figures directly.

How this was measured

File sizes come from an HTTP HEAD request against each file's resolve/main URL on Hugging Face, reading the x-linked-size response header. That header reports the size of the object the LFS pointer resolves to, so it is the real download size without transferring the file. Parameter counts come from the safetensors.total field of the Hugging Face model API for the corresponding unquantized repository, which is derived from the tensor shapes in the checkpoint index rather than from the model's name.

Effective bits per weight is then file bytes times 8, divided by parameter count. All measurements were taken on 22 August 2026 from the bartowski GGUF repositories, which publish a consistent quantization matrix across models and are the most downloaded source for these formats. Quantization is deterministic given the same source checkpoint and llama.cpp version, so these figures are stable, but a repository requantized with a newer llama.cpp can shift slightly.

One caveat worth stating plainly. The models measured here are dense transformers in the 1.5B to 32B range. Mixture-of-experts checkpoints distribute parameters differently and were not sampled, so do not carry these ratios across to them. Vision and audio towers were also excluded.