Your rig
M2 Pro · 32 GB · 32 GB
32 GB unified · 200 GB/s · 24.0 GB addressable by the GPU
Which one should I actually run?
Best models for your M2 Pro · 32 GB
What do you want to do? Each row is the best-ranked model on that use case's shortlist that fits at Q8_0 and 4K. The ordering is editorial; the sizes and speeds are computed. How the shortlists work.
All
General assistantCodingReasoning & mathsWritingVisionAgents & tool useTranslationLow latencyLong context
| Recommendation | Model | Why | Quant · total | Tok/s est. | |
|---|---|---|---|---|---|
| Best overall | Gemma 4 12B Google · Apache 2.0 |
The 12 GB generalist: text, image and audio in, 140+ languages. | Q8_0 · 13.0 GB | 9.4 | Runs great |
| Best for coding | Qwen3.5 9B Alibaba · Apache 2.0 |
The best coding model for 8–12 GB cards. | Q8_0 · 10.3 GB | 12 | Runs great |
| Best reasoning | gpt-oss 20B OpenAI · Apache 2.0 |
Low/medium/high reasoning effort in 13 GB. | MXFP4 · 11.5 GB | 28 | Runs great |
| Best for writing | Gemma 4 12B Google · Apache 2.0 |
The 12 GB writing pick; 140+ languages. | Q8_0 · 13.0 GB | 9.4 | Runs great |
| Best vision | Gemma 4 12B Google · Apache 2.0 |
Image and audio understanding on 12 GB. | Q8_0 · 13.0 GB | 9.4 | Runs great |
| Best for agents | gpt-oss 20B OpenAI · Apache 2.0 |
Harmony-format tool calling, native 4-bit. | MXFP4 · 11.5 GB | 28 | Runs great |
| Best translation | Gemma 4 12B Google · Apache 2.0 |
Broad language coverage on a 12 GB card. | Q8_0 · 13.0 GB | 9.4 | Runs great |
| Fastest good model | gpt-oss 20B OpenAI · Apache 2.0 |
3.6B active, native 4-bit. | MXFP4 · 11.5 GB | 28 | Runs great |
| Best long context | Qwen3.5 9B Alibaba · Apache 2.0 |
262K native in 8–12 GB. | Q8_0 · 14.1 GB at 128K context |
12 | Runs great |
Everything that fits
Runs great
38 of 76 · fits with headroom for a longer prompt| Model | Params | Quant | Weights | +KV 4K | Total | VRAM headroom | Tok/s | Runtime | |
|---|---|---|---|---|---|---|---|---|---|
| gpt-oss 20B | 20.9B MoE / 3.6B act | MXFP4 | 10.8 GB | 0.10 GB | 11.5 GB |
12.5 GB free
|
28 | MLX | Run |
| Qwen3 14B | 14.8B | Q8_0 | 14.6 GB | 0.63 GB | 15.9 GB |
8.1 GB free
|
7.6 | MLX | Run |
| DeepSeek-R1-Distill-Qwen 14B | 14.8B | Q8_0 | 14.6 GB | 0.75 GB | 16.0 GB |
8.0 GB free
|
7.6 | MLX | Run |
| Qwen2.5-Coder 14B | 14.8B | Q8_0 | 14.6 GB | 0.75 GB | 16.0 GB |
8.0 GB free
|
7.6 | MLX | Run |
| Phi-4 14B | 14.7B | Q8_0 | 14.5 GB | 0.78 GB | 15.9 GB |
8.1 GB free
|
7.7 | MLX | Run |
| Ministral 3 14B | 13.9B | Q8_0 | 13.8 GB | 0.63 GB | 15.0 GB |
9.0 GB free
|
8.1 | MLX | Run |
| Gemma 3 12B | 12.2B | Q8_0 | 12.1 GB | 0.56 GB | 13.2 GB |
10.8 GB free
|
9.3 | MLX | Run |
| Mistral NeMo 12B | 12.2B | Q8_0 | 12.1 GB | 0.63 GB | 13.3 GB |
10.7 GB free
|
9.3 | MLX | Run |
| Gemma 4 12B | 12B | Q8_0 | 11.9 GB | 0.56 GB | 13.0 GB |
11.0 GB free
|
9.4 | MLX | Run |
| Qwen3.5 9B | 9.65B | Q8_0 | 9.5 GB | 0.13 GB | 10.3 GB |
13.7 GB free
|
12 | MLX | Run |
| Ornith 1.5 9B New this week | 9.41B | Q8_0 | 9.3 GB | 0.13 GB | 10.0 GB |
14.0 GB free
|
12 | MLX | Run |
| Ministral 3 8B | 8.92B | Q8_0 | 8.8 GB | 0.53 GB | 10.0 GB |
14.0 GB free
|
13 | MLX | Run |
| Granite 4.1 8B | 8.79B | Q8_0 | 8.7 GB | 0.63 GB | 9.9 GB |
14.1 GB free
|
13 | MLX | Run |
| LFM2.5 8B-A1B | 8.47B MoE / 1.5B act | Q8_0 | 8.4 GB | 0.05 GB | 9.0 GB |
15.0 GB free
|
35 | MLX | Run |
| Fara 7B | 8.29B | Q8_0 | 8.2 GB | 0.22 GB | 9.0 GB |
15.0 GB free
|
14 | MLX | Run |
| Qwen3 8B | 8.19B | Q8_0 | 8.1 GB | 0.56 GB | 9.3 GB |
14.7 GB free
|
14 | MLX | Run |
| Llama 3.1 8B Instruct | 8.03B | Q8_0 | 7.9 GB | 0.50 GB | 9.0 GB |
15.0 GB free
|
14 | MLX | Run |
| Gemma 4 E4B | 8.0B | Q8_0 | 7.9 GB | 0.09 GB | 8.6 GB |
15.4 GB free
|
14 | MLX | Run |
| Ling 3.0 Tiny 7.9B-A1.3B New | 7.9B MoE / 1.3B act | Q8_0 | 7.8 GB | 0.03 GB | 8.4 GB |
15.6 GB free
|
41 | MLX | Run |
| DeepSeek-R1-Distill-Qwen 7B | 7.62B | Q8_0 | 7.5 GB | 0.22 GB | 8.4 GB |
15.6 GB free
|
15 | MLX | Run |
| Qwen2.5-Coder 7B | 7.62B | Q8_0 | 7.5 GB | 0.22 GB | 8.4 GB |
15.6 GB free
|
15 | MLX | Run |
| Olmo 3 7B Instruct | 7.3B | Q8_0 | 7.2 GB | 2.00 GB | 9.8 GB |
14.2 GB free
|
15 | MLX | Run |
| Mistral 7B Instruct v0.3 | 7.25B | Q8_0 | 7.2 GB | 0.50 GB | 8.3 GB |
15.7 GB free
|
16 | MLX | Run |
| Gemma 4 E2B | 5.1B | Q8_0 | 5.0 GB | 0.04 GB | 5.7 GB |
18.3 GB free
|
22 | MLX | Run |
| Qwen3.5 4B | 4.66B | Q8_0 | 4.6 GB | 0.13 GB | 5.3 GB |
18.7 GB free
|
24 | MLX | Run |
| Gemma 3 4B | 4.3B | Q8_0 | 4.3 GB | 0.20 GB | 5.1 GB |
18.9 GB free
|
26 | MLX | Run |
| Qwen3 4B | 4.02B | Q8_0 | 4.0 GB | 0.56 GB | 5.1 GB |
18.9 GB free
|
28 | MLX | Run |
| Ministral 3 3B | 3.85B | Q8_0 | 3.8 GB | 0.41 GB | 4.8 GB |
19.2 GB free
|
29 | MLX | Run |
| Phi-4-mini 3.8B | 3.84B | Q8_0 | 3.8 GB | 0.50 GB | 4.9 GB |
19.1 GB free
|
29 | MLX | Run |
| Granite 4.1 3B | 3.4B | Q8_0 | 3.4 GB | 0.31 GB | 4.3 GB |
19.7 GB free
|
33 | MLX | Run |
| Llama 3.2 3B Instruct | 3.21B | Q8_0 | 3.2 GB | 0.44 GB | 4.2 GB |
19.8 GB free
|
35 | MLX | Run |
| LFM2.5 2.6B New | 2.7B | Q8_0 | 2.7 GB | 0.06 GB | 3.3 GB |
20.7 GB free
|
42 | MLX | Run |
| Qwen3.5 2B | 2.27B | Q8_0 | 2.2 GB | 0.05 GB | 2.9 GB |
21.1 GB free
|
50 | MLX | Run |
| Qwen3 1.7B | 1.72B | Q8_0 | 1.7 GB | 0.44 GB | 2.7 GB |
21.3 GB free
|
66 | MLX | Run |
| Llama 3.2 1B Instruct | 1.24B | Q8_0 | 1.2 GB | 0.13 GB | 2.0 GB |
22.0 GB free
|
91 | MLX | Run |
| Gemma 3 1B | 1.0B | Q8_0 | 1.0 GB | 0.03 GB | 1.6 GB |
22.4 GB free
|
113 | MLX | Run |
| Qwen3.5 0.8B | 0.87B | Q8_0 | 0.9 GB | 0.05 GB | 1.5 GB |
22.5 GB free
|
130 | MLX | Run |
| Qwen3 0.6B | 0.6B | Q8_0 | 0.6 GB | 0.44 GB | 1.6 GB |
22.4 GB free
|
188 | MLX | Run |
Won't fit in VRAM
38 models · some are possible with CPU offload| Model | Params | Quant | Weights | +KV 4K | Total | Over budget | Tok/s | Runtime | |
|---|---|---|---|---|---|---|---|---|---|
| Kimi K3 2.8T-A104B New | 2780B MoE / 104B act | Q8_0 | 2750.9 GB | 0.11 GB | 2751.6 GB | +2727.6 GB | ~0.5 | MLX | Why |
| Qwen3.8 2.4T-A95B New | 2446B MoE / 95B act | Q8_0 | 2420.4 GB | 0.36 GB | 2421.4 GB | +2397.4 GB | ~0.6 | MLX | Why |
| DeepSeek V4 Pro 1.6T-A49B New | 1650B MoE / 49B act | Q8_0 | 1632.7 GB | 0.27 GB | 1633.6 GB | +1609.6 GB | ~1.1 | MLX | Why |
| Kimi K2.6 1T-A32B | 1027B MoE / 32B act | Q8_0 | 1016.2 GB | 0.27 GB | 1017.1 GB | +993.1 GB | ~1.6 | MLX | Why |
| GLM-5.2 744B-A40B | 753B MoE / 40B act | Q8_0 | 745.1 GB | 0.34 GB | 746.1 GB | +722.1 GB | ~1.3 | MLX | Why |
| DeepSeek-R1 671B | 671B MoE / 37B act | Q8_0 | 664.0 GB | 0.27 GB | 664.8 GB | +640.8 GB | ~1.4 | MLX | Why |
| Qwen3.5 397B-A17B | 403B MoE / 17B act | Q8_0 | 398.8 GB | 0.12 GB | 399.5 GB | +375.5 GB | ~3.1 | MLX | Why |
| Ornith 1.5 397B-A17B New this week | 397B MoE / 17B act | Q8_0 | 392.8 GB | 0.12 GB | 393.6 GB | +369.6 GB | ~3.1 | MLX | Why |
| DeepSeek V4 Flash 284B-A13B New | 284B MoE / 13B act | Q8_0 | 281.0 GB | 0.19 GB | 281.8 GB | +257.8 GB | ~4.1 | MLX | Why |
| Qwen3 235B-A22B | 235B MoE / 22B act | Q8_0 | 232.5 GB | 0.73 GB | 233.9 GB | +209.9 GB | ~2.4 | MLX | Why |
| Qwen3.5 122B-A10B | 125B MoE / 10B act | Q8_0 | 123.7 GB | 0.09 GB | 124.4 GB | +100.4 GB | ~5.3 | MLX | Why |
| Nemotron 3 Super 120B-A12B | 124B MoE / 12B act | Q8_0 | 122.7 GB | 0.03 GB | 123.3 GB | +99.3 GB | ~4.4 | MLX | Why |
| Ling 3.0 Flash 124B-A5B New | 124B MoE / 5.1B act | Q8_0 | 122.7 GB | 0.03 GB | 123.3 GB | +99.3 GB | ~10 | MLX | Why |
| Mistral Small 4 119B-A6B | 119B MoE / 6.5B act | Q8_0 | 117.8 GB | 0.09 GB | 118.4 GB | +94.4 GB | ~8.1 | MLX | Why |
| gpt-oss 120B | 117B MoE / 5.1B act | MXFP4 | 60.5 GB | 0.15 GB | 61.3 GB | +37.3 GB | ~20 | MLX | Why |
| Llama 4 Scout 109B-A17B | 109B MoE / 17B act | Q8_0 | 107.9 GB | 0.75 GB | 109.2 GB | +85.2 GB | ~3.1 | MLX | Why |
| Llama 3.3 70B Instruct | 70.6B | Q8_0 | 69.9 GB | 1.25 GB | 71.7 GB | +47.7 GB | ~1.6 | MLX | Why |
| DeepSeek-R1-Distill-Llama 70B | 70.6B | Q8_0 | 69.9 GB | 1.25 GB | 71.7 GB | +47.7 GB | ~1.6 | MLX | Why |
| Qwen3.6 35B-A3B | 35.9B MoE / 3.3B act | Q8_0 | 35.5 GB | 0.08 GB | 36.2 GB | +12.2 GB | ~16 | MLX | Why |
| Ornith 1.5 35B-A3B New this week | 35.9B MoE / 3.3B act | Q8_0 | 35.5 GB | 0.08 GB | 36.2 GB | +12.2 GB | ~16 | MLX | Why |
| LLM-jp 4 33B Thinking New this week | 33.2B | Q8_0 | 32.9 GB | 1.00 GB | 34.5 GB | +10.5 GB | ~3.4 | MLX | Why |
| Qwen3 32B | 32.8B | Q8_0 | 32.5 GB | 1.00 GB | 34.1 GB | +10.1 GB | ~3.4 | MLX | Why |
| DeepSeek-R1-Distill-Qwen 32B | 32.8B | Q8_0 | 32.5 GB | 1.00 GB | 34.1 GB | +10.1 GB | ~3.4 | MLX | Why |
| Qwen2.5-Coder 32B | 32.8B | Q8_0 | 32.5 GB | 1.00 GB | 34.1 GB | +10.1 GB | ~3.4 | MLX | Why |
| Olmo 3.1 32B Instruct | 32.2B | Q8_0 | 31.9 GB | 1.00 GB | 33.5 GB | +9.5 GB | ~3.5 | MLX | Why |
| Nemotron 3.5 Lightning 30B-A3B New | 31.6B MoE / 3.2B act | Q8_0 | 31.3 GB | 0.02 GB | 31.9 GB | +7.9 GB | ~16 | MLX | Why |
| Gemma 4 31B | 31.3B | Q8_0 | 31.0 GB | 1.41 GB | 33.0 GB | +9.0 GB | ~3.6 | MLX | Why |
| GLM-4.7-Flash 30B-A3B | 31.2B MoE / 3B act | Q8_0 | 30.9 GB | 0.21 GB | 31.7 GB | +7.7 GB | ~18 | MLX | Why |
| Qwen3 30B-A3B | 30.5B MoE / 3.3B act | Q8_0 | 30.2 GB | 0.38 GB | 31.2 GB | +7.2 GB | ~16 | MLX | Why |
| Qwen3 Coder 30B-A3B | 30.5B MoE / 3.3B act | Q8_0 | 30.2 GB | 0.38 GB | 31.2 GB | +7.2 GB | ~16 | MLX | Why |
| Muse Glimmer 30B New | 29.8B | Q8_0 | 29.5 GB | 0.13 GB | 30.2 GB | +6.2 GB | ~3.8 | MLX | Why |
| Granite 4.1 30B | 28.9B | Q8_0 | 28.6 GB | 1.00 GB | 30.2 GB | +6.2 GB | ~3.9 | MLX | Why |
| Qwen3.8 27B New this week | 27.8B | Q8_0 | 27.5 GB | 0.25 GB | 28.4 GB | +4.4 GB | ~4.1 | MLX | Why |
| Qwen3.6 27B | 27.8B | Q8_0 | 27.5 GB | 0.25 GB | 28.4 GB | +4.4 GB | ~4.1 | MLX | Why |
| Gemma 3 27B | 27.4B | Q8_0 | 27.1 GB | 0.72 GB | 28.4 GB | +4.4 GB | ~4.1 | MLX | Why |
| Gemma 4 26B-A4B | 26.5B MoE / 3.8B act | Q8_0 | 26.2 GB | 0.35 GB | 27.2 GB | +3.2 GB | ~14 | MLX | Why |
| Devstral Small 2 24B | 24B | Q8_0 | 23.7 GB | 0.63 GB | 25.0 GB | +1.0 GB | ~4.7 | MLX | Why |
| Mistral Small 3.2 24B | 23.6B | Q8_0 | 23.4 GB | 0.63 GB | 24.6 GB | +0.6 GB | ~4.8 | MLX | Why |
Totals = quantised weights + f16 KV cache at 4K tokens + 0.6 GB runtime overhead, against 24.0 GB usable unified memory. Tokens per second are estimated from 200 GB/s peak memory bandwidth at batch 1 — not measured. Read the method.