Qwen3 4B on a phone: RAM requirements
6GB-class phone runs it, tight · 4GB phones take the 1-bit doors
Qwen3 4B's recommended Q4_K_M build needs ~3.4 GiB of free RAM at 4K context — 2.3 GiB of measured weights plus a 0.56 GiB KV allowance and a 0.51 GiB runtime reserve. Count usable RAM at 60% of the sticker and the door for that build is a 6GB-class phone, tight; 12GB is the comfortable tier. A 4GB phone is not out — the 1-bit UD-IQ1_S build totals 2.1 GiB and fits razor-thin — and an 8GB phone runs Q4_K_M with 1.4 GiB to spare. Phones have no swap: past the line the app dies, it does not slow down.
unsloth Q4_K_M GGUF (2.3 GiB), keep context at 4K.Qwen3 4B is Alibaba's entry dense model in the Qwen3 family (released 2025-04, Apache 2.0): 36 layers of GQA attention, 32K native context, and a measured Q4_K_M file of 2.3 GiB — small enough that phone RAM, not VRAM, becomes the binding budget. That smallness is why this page exists: the same math as the GPU pages, with the budget switched to the phone already in your pocket. The GGUF repos are tracked at pinned revisions below; the LiteRT build ships from litert-community.
Data verified · sources pinned in Where every number comes from
How much RAM at each build? (weights + 4K KV allowance + reserve)
| Build | Weights | Total needed | Smallest phone tier | Note |
|---|---|---|---|---|
| UD-IQ1_S GGUF (unsloth) | 1.0 GiB | 2.1 GiB | 4 GB tier | the 1-bit floor — razor on 4GB measured |
| UD-IQ2_XXS GGUF (unsloth) | 1.2 GiB | 2.2 GiB | 4 GB tier | the smallest practical GGUF door measured |
| LiteRT mixed_int4 (.litertlm) | 2.5 GiB | 3.5 GiB | 6 GB tier | Google AI Edge Gallery build — the 6GB door measured |
| Q4_K_M GGUF (unsloth) | 2.3 GiB | 3.4 GiB | 6 GB tier | community default quality/size point — recommended measured |
| Q5_K_M GGUF (unsloth) | 2.7 GiB | 3.8 GiB | 8 GB tier | the 8GB-class ceiling measured |
| Q8_0 GGUF (unsloth) | 4.0 GiB | 5.1 GiB | 12 GB tier | the 12GB-class ceiling measured |
Caliber: this page counts in GiB throughout — the site-wide internal caliber — and applies the 60% usable rule to the sticker number as-is (4 → 2.4 GiB usable). Tier names keep the marketing GB spelling; every computed cell above derives from the pinned file bytes in provenance.
Is your phone enough? (find your phone class: one row tells you)
| Phone class | RAM | Usable | Biggest build that fits (ceiling) | Verdict |
|---|---|---|---|---|
| 4GB budget Android | 4 GiB | 2.4 GiB | UD-IQ2_XXS (2.2 GiB) | TIGHT · razor, ~0.2 GiB spare |
| 6GB class | 6 GiB | 3.6 GiB | Q4_K_M (3.4 GiB) | TIGHT · 0.2 GiB spare |
| 8GB — iPhone 15/16 Pro tier | 8 GiB | 4.8 GiB | Q5_K_M (3.8 GiB) | TIGHT · 1.0 GiB spare at ceiling |
| 12GB — Galaxy Ultra / iPhone 17 Pro tier | 12 GiB | 7.2 GiB | Q8_0 (5.1 GiB) | TIGHT at Q8_0 · 3.8 GiB spare at Q4_K_M |
| 16GB — Pixel Pro tier | 16 GiB | 9.6 GiB | Q8_0 | OK · 4.5 GiB spare |
| 24GB — OnePlus flagship tier | 24 GiB | 14.4 GiB | Q8_0 | OK · 9.3 GiB spare |
Each phone class has exactly one ceiling — the biggest tracked build that fits. KV cache is counted at 4K context with a runtime reserve — phones have no swap, so there is no soft landing past the line. iPhone 15/16 Pro tiers sit at 8GB; the iPhone 17 Pro generation moved the Pro tier to 12GB (Sept 2025), and Android flagships carry the 12–24GiB end.
What phone should you buy for it? (the 6GB door logic)
| The logic | 6GB is the cheapest tier that runs the recommended Q4_K_M build at all (3.4 GiB total vs 3.6 GiB usable). Below it, 4GB phones run only the 1-bit doors — razor-thin. Above it, 8GB buys Q4_K_M with real headroom at the 1.4 GiB spare mark; 12GB is the comfort tier; 16GB is luxury for this model. |
| Why it fits | A 4B dense model keeps the measured Q4_K_M file at 2.3 GiB, so the whole 4K budget lands under 3.4 GiB — inside the 60% usable rule with room to spare where a 27B-class model never comes close. |
| Representative hardware | Galaxy A-class (6GB), iPhone 15/16 Pro tier (8GB); 12GB = Galaxy S Ultra / iPhone 17 Pro tier; 16GB = Pixel Pro tier; 24GB = OnePlus flagship tier |
| Source | unsloth GGUF listing + litert-community listing · accessed 2026-09-14/15 · measured |
⚠ Tight is a site-wide threshold: under 2.5 GiB of headroom. 6GB × Q4_K_M leaves 0.2 GiB (tight); the comfortable Q4_K_M tier is 12GB (3.8 GiB spare). On iOS the binding constraint is often the absolute per-app cap, not the percentage.
Tracked builds (actual file sizes, not theory)
| Build | Publisher | File size | 8GB phone | 12GB phone | Source |
|---|---|---|---|---|---|
| Q4_K_M (recommended) | unsloth | 2.33 GiB | TIGHT · 3.4 | OK · 3.4 | HF @22c9fc8a verified |
| Q4_K_M | bartowski | 2.33 GiB | TIGHT · 3.4 | OK · 3.4 | HF @cb76885d verified |
| Q4_K_M | ggml-org | 2.33 GiB | TIGHT · 3.4 | OK · 3.4 | HF @2f3b082b verified |
Q4_K_M is the sweet spot, and this time the publisher is not a size decision: unsloth, bartowski, and ggml-org list the same 2.33 GiB file size (same size in our pinned listings; we compare sizes, not hashes — one build, three listings), so pick whichever listing a guide points you to. The LiteRT builds (2.5/5.3 GiB, table above) are the alternative runtime for Google AI Edge Gallery and fit the 6GB door. If you want Google's own runtime instead of GGUF, the LiteRT mixed_int4 build runs in the Gallery and fits 6GB phones razor-thin.
How to run it on a phone
| iOS | PocketPal · LLM Farm · Google AI Edge Gallery (LiteRT) |
| Android | PocketPal · llama.cpp (Termux or APK) · Google AI Edge Gallery (LiteRT) |
| Not MLC Chat | MLC Chat uses its own compiled model format and does not load GGUF files — for GGUF builds use PocketPal or llama.cpp. |
| Watch out | Thermal throttling cuts sustained tok/s on long generations; the OS reserve is why usable is 60%, not 100%; on iOS the per-app memory cap — not the percentage — is usually the binding constraint. |
Why phone RAM math is different
Phones have no swap: when memory runs out the app dies, not slows. In the community measurements we sampled, not one shows graceful degradation on a phone — iOS kills the app silently (jetsam), Android's LMK does the same; the boundary is a cliff, not a slope. KV cache shares one RAM pool with the OS and your background apps — that is why this page counts usable RAM at 60% of the sticker number. It is the same memory math as the GPU pages, with the budget switched from VRAM to unified phone RAM.
Running the same model on a desktop GPU is a different buying question — graphics-card VRAM, not the phone already in your pocket. For the GPU side of this exact model, see Qwen3 4B VRAM requirements.
On thermals: short prompts feel instant almost everywhere the model fits. Sustained generation is where phones differ — a 2026 benchmark measured an iPhone 16 Pro dropping from ~40 tok/s peak to ~22.5 sustained over 20 iterations, and community reports put throttling onset at 30–60 seconds, so treat any speed number as a cold-start figure unless the source says otherwise (links in provenance).
The weights on this page are measured — GGUF and LiteRT file sizes read off the publishers' listings at pinned revisions (accessed 2026-09-14/15). What stays estimated is the total: KV cache at 4K context and a runtime reserve are added by simple arithmetic, and the KV figure is a classic-caliber upper bound derived from the model config, not a per-token measurement. The 0.60 usable rule stays an experience value — now with community measurements behind it — and if a better-supported figure shows up, the chart's zone boundaries move and the verdicts are recomputed.
Where every number comes from (every figure carries its tag)
Totals: labeled additive estimates — measured weights + KV allowance + runtime reserve.
| Tag | Slot | What it is | What the verdict can claim |
|---|---|---|---|
| measured | Weights | File sizes read off the publishers' Hugging Face listings at pinned revisions (accessed 2026-09-14): unsloth GGUF — UD-IQ1_S 1.01, UD-IQ2_XXS 1.17, Q4_K_M 2.33, Q5_K_M 2.69, Q8_0 3.99 GiB; litert-community — LiteRT mixed_int4 2.48 GiB (tree 84cc5a35, accessed 2026-09-15). Totals add a 4K KV allowance (0.56 GiB classic upper bound, from the 32K KV of 4.5 GiB ÷ 8) plus a 0.51 GiB runtime reserve. | Solid at file granularity — the weights are the files you will download; only the KV/reserve add-on is arithmetic. |
| reported | Usable = 60% rule | Experience value for the OS + background share, backed by community measurements: the maintained per-device table spans ~49–81% usable (per-device memory-budget table, accessed 2026-09-13), with a 2026 forums report of iPadOS 26.4 silently cutting 8GB iPads to ~37.5% (Apple Developer Forums 826325, accessed 2026-09-13 — single source, treated as provisional); iOS enforces a hard per-app cap rather than a percentage — PocketPal PR #651 measured 52% → 70% with the memory entitlement (accessed 2026-09-13). 0.60 is our conservative default inside that range. | Directionally safe — it separates 4GB phones from 12GB phones. On iOS the binding constraint is often the absolute per-app cap, not the percentage. |
| reported | App compatibility | PocketPal / LLM Farm / Google AI Edge Gallery (LiteRT) / llama.cpp — project pages, not re-tested by us on every device. MLC Chat uses its own compiled format and does not load GGUF files — listed here as a correction, not an option. | These apps load builds of this size class — stands on the linked pages, re-checkable by you. |
| reported | Thermal throttling 30–60% | Benchmarks + community measurements of sustained-generation slowdown on phone SoCs: iPhone 16 Pro measured ~40 → ~22.5 tok/s over 20 iterations (2026 thermal benchmark paper, accessed 2026-09-13; Apple-silicon LLM benchmark suite). | Expect slowdown on long generations — never a cold-start speed promise. |
| unsloth/Qwen3-4B-GGUF | @22c9fc8a | accessed 2026-10-12 |
| bartowski/Qwen_Qwen3-4B-GGUF | @cb76885d | accessed 2026-10-12 |
| ggml-org/Qwen3-4B-GGUF | @2f3b082b | accessed 2026-10-12 |
| litert-community/Qwen3-4B | 84cc5a35 | accessed 2026-09-15 |
| SO 5887248 · per-device memory budget table | latest | accessed 2026-09-13 |
| Apple Developer Forums 826325 · iPadOS 26.4 cap cut | latest | accessed 2026-09-13 |
| PocketPal PR #651 · entitlement 52%→70% | latest | accessed 2026-09-13 |
| zenn.dev · iOS memory entitlements measurement | 2026-06 | accessed 2026-09-13 |
| 2026 thermal benchmark paper (arXiv 2603.23640) | 2026-03 | accessed 2026-09-13 |
| john-rocky/apple-silicon-llm-bench | latest | accessed 2026-09-13 |
FAQ
Can Qwen3 4B run on Android?
Yes — two ways: the LiteRT mixed_int4 build (2.5 GiB weights, 3.5 GiB total) runs in Google AI Edge Gallery, tight on a 6GB phone; or load a GGUF in PocketPal or llama.cpp — the Q4_K_M build totals 3.4 GiB at 4K context. Cap context at 4K.
Is 4GB RAM enough for Qwen3 4B?
Enough for the 1-bit doors, tight: UD-IQ1_S totals 2.1 GiB against 2.4 GiB usable, and UD-IQ2_XXS leaves ~0.2 GiB spare. The recommended Q4_K_M build wants a 6GB-class phone.
Is 8GB RAM enough for Qwen3 4B on Android?
Enough and comfortable-ish: Q4_K_M leaves 1.4 GiB spare on 8GB — still TIGHT by the site-wide rule — and the Q5_K_M ceiling leaves 1.0. The comfortable tier for Q4_K_M is 12GB (3.8 GiB spare).
Which Qwen3 4B build should I download?
For Google AI Edge Gallery, the LiteRT mixed_int4 build. For PocketPal or llama.cpp, the Q4_K_M GGUF — unsloth, bartowski, and ggml-org list 2.33 GiB files at the same size for this model, so any pinned listing works. Keep context at 4K.
What app runs Qwen3 4B on a phone?
Google AI Edge Gallery for the LiteRT build; PocketPal or llama.cpp for GGUF builds. MLC Chat uses its own compiled format and does not load GGUF. Cap context at 4K.