llmvram.com
Alibaba · 30.5B MoE (3.3B active · 128 experts, 8 per token) · GQA · Apache-2.0

Qwen3-30B-A3B VRAM requirements

20.8 GiB provisional
at Q4_K_M · unsloth build · 32K context · RTX 4090 24GB
fits any 24GB card, tight — 1.7 GiB to spare · densest fit Q4_1 at 21.4 GiB, 1.1 to spare

Qwen3-30B-A3B needs 18.5 GiB at Q4_K_M (unsloth build) at 8K context and 20.8 GiB at 32K (reported KV counted) — any 24GB card runs it, tight, 1.7 GiB to spare. MoE does not shrink the footprint: all 30.5B parameters stay resident in VRAM; only 3.3B are active per token, which buys tok/s, not GB. The densest 24GB fit is Q4_1 at 21.4 GiB. Programming work? Its twin — the Qwen3-Coder-30B-A3B — measures the same 20.8 GiB (same weights, code-specialized training, 256K native context); the FAQ answers which one to download.

TL;DR
Run it: ollama run qwen3:30b — fits any 24GB card, tight at 32K (Ollama boots at 4K context — /set parameter num_ctx 32768 for the full window).
Baseline: 32K context, 22.5 GiB usable on a 24GB card — the one config this page promises. The quant table's main column prices that full 32K load (weights + overhead + reported KV @32K); at 4K context the KV term shrinks eightfold (≈0.4 GiB), so Q4_K_M at 4K ≈ 18.2 GiB. The short form pulls the ollama build; this page measures the unsloth-class file. Buying for it? Price a used RTX 3090 24GB first.

Qwen3-30B-A3B is Alibaba's small MoE: 30.5B parameters, 3.3B active per token, 128 experts (8 active), 48 full-attention GQA layers (config.json: 32 query heads, 4 KV heads, head dim 128). VRAM follows total parameters, not active ones — every expert stays resident. KV cache at 32K is 3.0 GiB per kaitchup's measurement (98,304 bytes/token × 32K tokens, batch 1, bf16), reported and linked. Native context 32K; YaRN extends to 131K.

Data verified · sources pinned in Where every number comes from

Chart: one column per VRAM platform from 12GB up to 48GB-class (usable VRAM, GiB), zoned green = comfortable, amber = tight under 2.5 GiB of headroom, red = no fit; the accent staircase traces each platform's 32K ceiling quant; the 24GB × Q4_K_M sweet spot is marked by a highlight bar at 1.7 GiB of headroom, inside the amber tight zone; the RTX 3060 12GB column tops out red — its smallest build (11.9 GiB at 32K) misses 10.5 GiB usable, while at 8K context that build drops to 9.7 GiB and fits
One column per GPU, colored by verdict zone; the staircase is each card's ceiling quant at 32K — and on this MoE every consumer card lands in the tight band: 16GB tops out at UD_Q2_K_XL (14.5 GiB, a knife-edge against 14.5 GiB usable), 24GB at Q4_1 (21.4 GiB, 1.1 spare), 32GB at UD_Q6_K_XL (28.0 GiB, 2.0 spare). The RTX 3060 column is the near-miss case: nothing fits 32K (smallest build 11.9 vs 10.5 GiB usable), but at 8K the smallest build drops to 9.7 GiB and fits. The highlighted level is the 24GB × Q4_K_M sweet spot — 20.8 GiB against 22.5 GiB usable, 1.7 GiB of headroom, tight by the site-wide threshold. The 48GB-class platform is one column (2× RTX 3090 24GB / 6000 Ada, 46.5 GiB usable) — two cards are not one card doubled.

How much VRAM at each quantization? (weights + overhead + KV @32K, batch 1)

Main column totals at 32K context — the config this page promises: weights + overhead + the reported KV @32K (kaitchup, linked in sources). The KV column carries that same reported figure per row. At 4K context the KV term shrinks eightfold (≈0.4 GiB), so Q4_K_M at 4K ≈ 18.2 GiB. The fit column judges each build's full 32K load against usable VRAM. Weights are actual file sizes.
QuantizationVRAM needed @32KKV @32K reported i · already in the left columnSmallest tracked fitNote
UD_IQ1_S11.9 GiB3 GiBRTX 4060 Ti 16GBmeasured · main column = the full 32K load
UD_Q2_K_XL14.5 GiB3 GiBRTX 4060 Ti 16GBmeasured · main column = the full 32K load
Q4_K_M20.8 GiB3 GiBRTX 3090 24GBmeasured · main column = the full 32K load
Q4_121.4 GiB3 GiBRTX 3090 24GBmeasured · main column = the full 32K load
UD_Q6_K_XL28.0 GiB3 GiBRTX 5090 32GBmeasured · main column = the full 32K load

GB vs GiB: card names are the manufacturer's nominal GB; totals here are GiB (230 bytes) — a "24GB" card holds 24 GiB, and a file quoted 18,556,686,912 B in decimal is the same 17.3 GiB. Caliber →

The 48GB-class doors, spelled out: a dual-GPU combo (2× 24GB; not one card doubled), a workstation card (RTX 6000 Ada), or a Mac Studio (unified memory; runs, slower tok/s).

How this page computes the numbers (reproduce any cell)
  • usable VRAM = nominal minus reserve, per card: 12GB → 10.5 GiB, 16GB → 14.5 GiB, 24GB → 22.5 GiB, 32GB → 30.0 GiB.
  • total@32K = weights + overhead + KV@32K; KV@32K = 3 GiB (config-derived — 98,304 B/token effective at 32K; hybrid models carry a constant state on top, composition in sources).
  • The main column already prices the full 32K load, KV included; shorter-context figures live in the caption and FAQ where relevant.
  • A build fits a card at 32K when total@32K ≤ usable; tight = under 2.5 GiB of headroom, one site-wide threshold.

Is your GPU enough? (find your card: one row tells you)

Ceilings at 32K context (the stricter case), usable VRAM = nominal minus 1.5 GiB on 24GB-class, minus 2.0 GiB at 32GB. On this MoE every listed card lands tight at 32K: 16GB tops out at UD_Q2_K_XL — 14.5 GiB against 14.5 GiB usable, a designed knife-edge; 24GB at Q4_1 (21.4 GiB, 1.1 spare), 32GB at UD_Q6_K_XL (28.0 GiB, 2.0 spare). At 8K context the 12GB card joins: the smallest build drops to 9.7 GiB and fits. Rows are ceilings — the biggest build that fits, not the page's pick. The recommended build lives in the hero, the buy section, and the chart's highlighted band.
Your GPUVRAMBiggest quant that fits (ceiling)How it feels
RTX 3060 12GB12 GB——
RTX 4060 Ti 16GB16 GBUD_Q2_K_XL (2-bit) · 14.5 GiB0.00 GiB spare at 32K
RTX 3090 24GB24 GBQ4_1 (4-bit) · 21.4 GiB1.1 GiB spare at 32K
RTX 4090 24GB24 GBQ4_1 (4-bit) · 21.4 GiB1.1 GiB spare at 32K
RTX 5090 32GB32 GBUD_Q6_K_XL (6-bit) · 28.0 GiB2.0 GiB spare at 32K

Quants stack by size: each GPU has exactly one ceiling — a card that runs a bigger build runs every smaller one. Main-column totals price the 32K load (weights + overhead + reported KV @32K); shorter context lowers every row by most of the KV term, and CPU offload trades tok/s for headroom.

What GPU should you buy for it? (the 24GB sweet spot logic)

The sweet spot
24 GB
Buys you
Q4_K_M, tight — Q4_1 is the densest fit
Representative hardware
RTX 3090 (used) / RTX 4090
The logic24GB is the tier that runs Q4_K_M at 32K: 20.8 GiB with the reported KV counted, 1.7 GiB to spare — tight, but it holds. Below it, 16GB tops out at UD_Q2_K_XL (a 14.5 GiB knife-edge) and 12GB is 8K-only (smallest build 9.7 GiB at 8K). Above it, an RTX 5090 32GB reaches UD_Q6_K_XL; nice, not necessary.
Why it fits — and why not lessMoE saves compute, not memory: all 30.5B parameters (17.3 GiB at Q4_K_M) must sit in VRAM whatever the active count, and the KV rides a 3.0 GiB reported figure at 32K. The 3.3B-active design buys tok/s; the GB bill stays a 30B-class bill.

⚠ Tight is a site-wide threshold: under 2.5 GiB of headroom against usable VRAM. Q4_K_M @32K leaves 1.7 GiB on a 24GB card — tight by the rule, comfortable in practice. The densest fit Q4_1 totals 21.4 GiB (1.1 to spare). Just past the line: Q5_K_S totals 23.1 GiB — 0.6 GiB over the 22.5 GiB usable; at 8K context it fits (20.9 GiB), and the GPU ladder prices that.

Tracked builds (actual file sizes, not theory)

One row per build we track. verified = we read the file listing; reported = community numbers, linked, not re-measured by us.
BuildPublisherFile size24GB @32KSource
UD_IQ1_Sunsloth8.4 GiBOK · 11.9HF @d5b1d57b verified
UD_Q2_K_XLunsloth11.0 GiBOK · 14.5HF @d5b1d57b verified
Q4_K_Mggml-org17.3 GiBTIGHT · 20.8HF @5e715e48 verified
Q4_1unsloth17.9 GiBTIGHT · 21.4HF @d5b1d57b verified
UD_Q6_K_XLunsloth24.5 GiBNO · 28.0HF @d5b1d57b verified
Q8_0ggml-org30.3 GiBNO · 33.7HF @5e715e48 verified

Same quant, different builds — the mirror case for this model: unsloth and ggml-org ship the same-size Q4_K_M (18,556,686,912 vs 18,556,686,240 bytes — a 672-byte metadata difference on 18.56 GB) and the same-size Q8_0, so one row stands for each; there is no >5% same-name spread to split. The unsloth ladder still aims at the fixed tiers: UD_Q6_K_XL totals 28.0 GiB against 30.0 GiB usable on a 32GB card — a designed marginal fit (unsloth model card, linked, reported). Where 24GB ends at 32K: Q4_1 at 21.4 GiB; Q5_K_S (23.1 GiB) is the first door that misses; Q8_0 (33.7 GiB) needs 48GB-class.

Self-host or API?

API $/1M (blended)
≈ $0.10-$0.20 — 30B-class band (prices: OpenRouter)
Self-host monthly
$30-60 all-in (24GB card, 4h/day) — ≈ power only if you already own it
Breakeven
≈ 150M-600M tokens/mo

Why in / out? Output tokens cost more than input: a prompt is read in one parallel pass, while output is generated token-by-token — costlier to serve. For example, qwen3-30b-a3b listed at $0.12 in / $0.50 out per 1M tokens in the 2026-09-18 OpenRouter snapshot; blended at a typical chat mix (4 input : 1 output) ≈ $0.20/1M.

API prices float; the crossover moves less than one decade either way — so this page answers the question that doesn't need live prices: how much monthly usage makes self-hosting worth considering at all.

Monthly usageVerdictWhy
< 30M tokensAPIEven the cheapest self-host ($30/mo) never breaks even against the API bill at this usage — don't bother calculating.
30M-300M tokensConditionalThe decisive variable is whether you already own a 24GB card — amortization dominates the self-host bill.
> 300M tokensSelf-hostPer-token API billing stops scaling here; consider a managed dedicated instance too — at 1B+ tokens/mo it often beats DIY.

Robustness: at 0.10/1M blended the crossover sits near 600 tokens/mo; at 0.20/1M near 150/mo. The three bands hold under ±2.5× API-price and ±2× self-host-cost floats. Self-host cost basis: $800-1900 GPU amortized over 30 months ($27-63/mo) + ~350W × 4h/day × $0.15/kWh (≈ $6/mo). Live prices via OpenRouter (linked, not re-verified by us); the band is a 30B-class reference, not a pinned price for this model.

Where every number comes from (every figure carries its tag)

Weights: pinned, hash-verified file sizes.
Totals: measured weights + reported KV (community measurement, linked) + measured overhead — labeled, additive. This page exists for one config: the 30B-class small-MoE agent tier × Q4_K-class quant × 32K context on a 24GB card — where MoE compute efficiency meets the fixed GPU tiers quant studios build around.
Caliber: all figures in GiB (230 bytes) — VRAM is binary-native. Baseline: 32K context, 22.5 GiB usable on 24GB cards — the one config this page promises; the quant table's main column prices that full 32K load per build, and the fit column shows what every context/quant switch buys. KV @32K is a community-reported figure (kaitchup, linked; 98,304 B/token × 32K, batch 1). MoE residency rule: VRAM follows total parameters (30.5B), not active ones (3.3B). Verify before buying hardware. How we compute these numbers →
What each number slot is made of. These tags are the legend for every badge on this page: they say what kind of evidence a number is, and what a verdict built on it can claim.
TagSlotWhat it isWhat the verdict can claim
reportedmodelHugging Face config.json (hypothesis-parameter carrier)Tight, conditional — stands on the linked source, re-checkable by you.
reportedstaticHugging Face model pageTight, conditional — stands on the linked source, re-checkable by you.
reportedkvKV cache @ 32K — kaitchup measured writeup: 'At 32k context, batch/concurrency = 1, that is about 3.22 GB (or 3.0 GiB)' (48 GQA layers × 4 KV heads × 128 head dim × 2 bytes × 2, bf16)Tight, conditional — stands on the linked source, re-checkable by you.
measuredoverheadDeployment overhead — llama.cpp FA-on compute buffer anchor (507 MiB; measured empirical; same constant as the other champion pages)Determinate — "it runs" means it runs.

FAQ

Should I use the standard Qwen3-30B-A3B or the Qwen3-Coder-30B-A3B for programming?

Same hardware, different training — the Coder page answers the same numbers this one does. Both are the 30.5B-A3B MoE with the same-size GGUF ladder (Q4_K_M totals 20.8 GiB at 32K context on either page; the two unsloth repos measure within 0.1 GiB of each other, and the official FP8 repos differ — 30.2 vs 29.0 GiB of weights). Download the Coder for IDE, agentic, and repo-scale coding: its post-training is code-specialized and its native context is 256K (this model's config stops at 40K, YaRN to 131K). Keep the standard for general chat and mixed workloads — it is the default the ollama short form (qwen3:30b) pulls.

Does Qwen3-30B-A3B fit in 24GB VRAM?

Yes, tight. The Q4_K_M build totals 20.8 GiB at 32K context against 22.5 GiB usable on an RTX 3090 24GB or 4090 24GB — 1.7 GiB to spare, under the site's 2.5 GiB tight threshold but a stable fit. The densest build that fits is Q4_1 at 21.4 GiB (1.1 GiB to spare).

It's a MoE with only 3.3B active parameters — does it need less VRAM?

No — activation is not residency. Every token touches only 3.3B of the 30.5B parameters (8 of 128 experts), which is what makes the MoE fast; but all 30.5B parameters must sit in VRAM for any of it to work. Weights alone are 17.3 GiB at Q4_K_M — a 30B-class memory bill with a 3B-class compute bill. VRAM follows total parameters, always.

How much VRAM does Qwen3-30B-A3B need at Q4_K_M?

20.8 GiB at 32K context: 17.3 GiB weights + 0.5 GiB runtime overhead + 3.0 GiB KV cache. The KV figure is reported (kaitchup: 'about 3.22 GB (or 3.0 GiB)' at 32K context, batch 1 — 48 GQA layers × 4 KV heads × 128 head dim, bf16). At 4K context the KV term shrinks eightfold to ≈0.4 GiB, so the same build runs in ≈18.2 GiB. The short form (ollama run qwen3:30b) pulls the ollama Q4_K_M build.

What is the smallest GPU that runs Qwen3-30B-A3B?

At 32K context an RTX 3060 12GB tops out at nothing — the smallest build totals 11.9 GiB against 10.5 GiB usable. At 8K context that build (UD_IQ1_S, 9.7 GiB) fits, tight. A 16GB card reaches UD_Q2_K_XL at 32K: 14.5 GiB against 14.5 GiB usable — a knife-edge fit, real but with zero headroom. Q4_K_M needs a 24GB card.

Can Qwen3-30B-A3B run above Q4 on a 24GB card?

Not at 32K: Q5_K_S totals 23.1 GiB, 0.6 GiB over the 22.5 GiB usable — at 8K context it fits (20.9 GiB), and the GPU ladder prices that. The 24GB ceiling at 32K is Q4_1 (21.4 GiB). An RTX 5090 32GB reaches UD_Q6_K_XL at 28.0 GiB; Q8_0 (33.7 GiB) needs 48GB-class hardware.

Which Q4 should I pick — unsloth or ggml-org?

For this model it doesn't matter by size: the two Q4_K_M builds differ by 672 bytes out of 18.56 GB (18,556,686,912 vs 18,556,686,240 B) — same-size mirror builds, so one row stands for both in the table above, and the same is true of Q8_0. That is the honest mirror case: no >5% same-name spread exists here, unlike the Qwen3.6-27B page's ggml-org Q4_K_M, which runs 13.4% larger.

How does this site compute these VRAM numbers?

Weights are measured file sizes at pinned revisions (sources below); totals add runtime overhead plus the KV cache at 32K context. Here KV@32K = 3.0 GiB, a reported measurement (98,304 B/token: 48 layers × 4 KV heads), linked in sources. A build fits a card at 32K when the total clears usable VRAM (nominal minus reserve), and tight means under 2.5 GiB of headroom — the full formula lives in the method box under the quantization table.