Your rig
M2 · 24 GB · 24 GB
24 GB unified · 100 GB/s · 18.0 GB addressable by the GPU
Which one should I actually run?
Best models for your M2 · 24 GB
What do you want to do? Each row is the best-ranked model on that use case's shortlist that fits at Q6_K and 32K. 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. | Q6_K · 12.1 GB | 6.1 | Runs great |
| Best for coding | Qwen3.5 9B Alibaba · Apache 2.0 |
The best coding model for 8–12 GB cards. | Q6_K · 9.0 GB | 7.6 | Runs great |
| Best reasoning | gpt-oss 20B OpenAI · Apache 2.0 |
Low/medium/high reasoning effort in 13 GB. | MXFP4 · 12.2 GB | 14 | Runs great |
| Best for writing | Gemma 4 12B Google · Apache 2.0 |
The 12 GB writing pick; 140+ languages. | Q6_K · 12.1 GB | 6.1 | Runs great |
| Best vision | Gemma 4 12B Google · Apache 2.0 |
Image and audio understanding on 12 GB. | Q6_K · 12.1 GB | 6.1 | Runs great |
| Best for agents | gpt-oss 20B OpenAI · Apache 2.0 |
Harmony-format tool calling, native 4-bit. | MXFP4 · 12.2 GB | 14 | Runs great |
| Best translation | Gemma 4 12B Google · Apache 2.0 |
Broad language coverage on a 12 GB card. | Q6_K · 12.1 GB | 6.1 | Runs great |
| Fastest good model | gpt-oss 20B OpenAI · Apache 2.0 |
3.6B active, native 4-bit. | MXFP4 · 12.2 GB | 14 | Runs great |
| Best long context | Qwen3.5 9B Alibaba · Apache 2.0 |
262K native in 8–12 GB. | Q6_K · 12.0 GB at 128K context |
7.6 | Runs great |
Everything that fits
Runs great
34 of 76 · fits with headroom for a longer prompt| Model | Params | Quant | Weights | +KV 32K | Total | VRAM headroom | Tok/s | Runtime | |
|---|---|---|---|---|---|---|---|---|---|
| gpt-oss 20B | 20.9B MoE / 3.6B act | MXFP4 | 10.8 GB | 0.75 GB | 12.2 GB |
5.8 GB free
|
14 | MLX | Run |
| Phi-4 14B | 14.7B | Q6_K | 11.2 GB | 3.13 GB | 15.0 GB |
3.0 GB free
|
5.0 | MLX | Run |
| Gemma 3 12B | 12.2B | Q6_K | 9.3 GB | 2.31 GB | 12.2 GB |
5.8 GB free
|
6.0 | MLX | Run |
| Mistral NeMo 12B | 12.2B | Q6_K | 9.3 GB | 5.00 GB | 14.9 GB |
3.1 GB free
|
6.0 | MLX | Run |
| Gemma 4 12B | 12B | Q6_K | 9.2 GB | 2.31 GB | 12.1 GB |
5.9 GB free
|
6.1 | MLX | Run |
| Qwen3.5 9B | 9.65B | Q6_K | 7.4 GB | 1.00 GB | 9.0 GB |
9.0 GB free
|
7.6 | MLX | Run |
| Ornith 1.5 9B New this week | 9.41B | Q6_K | 7.2 GB | 1.00 GB | 8.8 GB |
9.2 GB free
|
7.8 | MLX | Run |
| Ministral 3 8B | 8.92B | Q6_K | 6.8 GB | 4.25 GB | 11.7 GB |
6.3 GB free
|
8.2 | MLX | Run |
| Granite 4.1 8B | 8.79B | Q6_K | 6.7 GB | 5.00 GB | 12.3 GB |
5.7 GB free
|
8.3 | MLX | Run |
| LFM2.5 8B-A1B | 8.47B MoE / 1.5B act | Q6_K | 6.5 GB | 0.38 GB | 7.4 GB |
10.6 GB free
|
23 | MLX | Run |
| Fara 7B | 8.29B | Q6_K | 6.3 GB | 1.75 GB | 8.7 GB |
9.3 GB free
|
8.8 | MLX | Run |
| Qwen3 8B | 8.19B | Q6_K | 6.3 GB | 4.50 GB | 11.4 GB |
6.6 GB free
|
8.9 | MLX | Run |
| Llama 3.1 8B Instruct | 8.03B | Q6_K | 6.1 GB | 4.00 GB | 10.7 GB |
7.3 GB free
|
9.1 | MLX | Run |
| Gemma 4 E4B | 8.0B | Q6_K | 6.1 GB | 0.47 GB | 7.2 GB |
10.8 GB free
|
9.1 | MLX | Run |
| Ling 3.0 Tiny 7.9B-A1.3B New | 7.9B MoE / 1.3B act | Q6_K | 6.0 GB | 0.21 GB | 6.8 GB |
11.2 GB free
|
26 | MLX | Run |
| DeepSeek-R1-Distill-Qwen 7B | 7.62B | Q6_K | 5.8 GB | 1.75 GB | 8.2 GB |
9.8 GB free
|
9.6 | MLX | Run |
| Qwen2.5-Coder 7B | 7.62B | Q6_K | 5.8 GB | 1.75 GB | 8.2 GB |
9.8 GB free
|
9.6 | MLX | Run |
| Olmo 3 7B Instruct | 7.3B | Q6_K | 5.6 GB | 5.50 GB | 11.7 GB |
6.3 GB free
|
10 | MLX | Run |
| Mistral 7B Instruct v0.3 | 7.25B | Q6_K | 5.5 GB | 4.00 GB | 10.1 GB |
7.9 GB free
|
10 | MLX | Run |
| Gemma 4 E2B | 5.1B | Q6_K | 3.9 GB | 0.23 GB | 4.7 GB |
13.3 GB free
|
14 | MLX | Run |
| Qwen3.5 4B | 4.66B | Q6_K | 3.6 GB | 1.00 GB | 5.2 GB |
12.8 GB free
|
16 | MLX | Run |
| Gemma 3 4B | 4.3B | Q6_K | 3.3 GB | 0.86 GB | 4.7 GB |
13.3 GB free
|
17 | MLX | Run |
| Qwen3 4B | 4.02B | Q6_K | 3.1 GB | 4.50 GB | 8.2 GB |
9.8 GB free
|
18 | MLX | Run |
| Ministral 3 3B | 3.85B | Q6_K | 2.9 GB | 3.25 GB | 6.8 GB |
11.2 GB free
|
19 | MLX | Run |
| Phi-4-mini 3.8B | 3.84B | Q6_K | 2.9 GB | 4.00 GB | 7.5 GB |
10.5 GB free
|
19 | MLX | Run |
| Granite 4.1 3B | 3.4B | Q6_K | 2.6 GB | 2.50 GB | 5.7 GB |
12.3 GB free
|
22 | MLX | Run |
| Llama 3.2 3B Instruct | 3.21B | Q6_K | 2.5 GB | 3.50 GB | 6.6 GB |
11.4 GB free
|
23 | MLX | Run |
| LFM2.5 2.6B New | 2.7B | Q6_K | 2.1 GB | 0.50 GB | 3.2 GB |
14.8 GB free
|
27 | MLX | Run |
| Qwen3.5 2B | 2.27B | Q6_K | 1.7 GB | 0.38 GB | 2.7 GB |
15.3 GB free
|
32 | MLX | Run |
| Qwen3 1.7B | 1.72B | Q6_K | 1.3 GB | 3.50 GB | 5.4 GB |
12.6 GB free
|
43 | MLX | Run |
| Llama 3.2 1B Instruct | 1.24B | Q6_K | 0.9 GB | 1.00 GB | 2.5 GB |
15.5 GB free
|
59 | MLX | Run |
| Gemma 3 1B | 1.0B | Q6_K | 0.8 GB | 0.14 GB | 1.5 GB |
16.5 GB free
|
73 | MLX | Run |
| Qwen3.5 0.8B | 0.87B | Q6_K | 0.7 GB | 0.38 GB | 1.6 GB |
16.4 GB free
|
84 | MLX | Run |
| Qwen3 0.6B | 0.6B | Q6_K | 0.5 GB | 3.50 GB | 4.6 GB |
13.4 GB free
|
122 | MLX | Run |
Runs — tight
4 models · fits at 32K, drop context or quant to go longer| Model | Params | Quant | Weights | +KV 32K | Total | VRAM headroom | Tok/s | Runtime | |
|---|---|---|---|---|---|---|---|---|---|
| Qwen3 14B | 14.8B | Q6_K | 11.3 GB | 5.00 GB | 16.9 GB |
1.1 GB free
|
4.9 | MLX | Run |
| DeepSeek-R1-Distill-Qwen 14B | 14.8B | Q6_K | 11.3 GB | 6.00 GB | 17.9 GB |
0.1 GB free
|
4.9 | MLX | Run |
| Qwen2.5-Coder 14B | 14.8B | Q6_K | 11.3 GB | 6.00 GB | 17.9 GB |
0.1 GB free
|
4.9 | MLX | Run |
| Ministral 3 14B | 13.9B | Q6_K | 10.6 GB | 5.00 GB | 16.2 GB |
1.8 GB free
|
5.3 | MLX | Run |
Won't fit in VRAM
38 models · some are possible with CPU offload| Model | Params | Quant | Weights | +KV 32K | Total | Over budget | Tok/s | Runtime | |
|---|---|---|---|---|---|---|---|---|---|
| Kimi K3 2.8T-A104B New | 2780B MoE / 104B act | Q6_K | 2123.0 GB | 0.84 GB | 2124.5 GB | +2106.5 GB | ~0.3 | MLX | Why |
| Qwen3.8 2.4T-A95B New | 2446B MoE / 95B act | Q6_K | 1868.0 GB | 2.88 GB | 1871.4 GB | +1853.4 GB | ~0.4 | MLX | Why |
| DeepSeek V4 Pro 1.6T-A49B New | 1650B MoE / 49B act | Q6_K | 1260.1 GB | 2.14 GB | 1262.8 GB | +1244.8 GB | ~0.7 | MLX | Why |
| Kimi K2.6 1T-A32B | 1027B MoE / 32B act | Q6_K | 784.3 GB | 2.14 GB | 787.0 GB | +769.0 GB | ~1.1 | MLX | Why |
| GLM-5.2 744B-A40B | 753B MoE / 40B act | Q6_K | 575.1 GB | 2.74 GB | 578.4 GB | +560.4 GB | ~0.9 | MLX | Why |
| DeepSeek-R1 671B | 671B MoE / 37B act | Q6_K | 512.4 GB | 2.14 GB | 515.2 GB | +497.2 GB | ~0.9 | MLX | Why |
| Qwen3.5 397B-A17B | 403B MoE / 17B act | Q6_K | 307.8 GB | 0.94 GB | 309.3 GB | +291.3 GB | ~2.0 | MLX | Why |
| Ornith 1.5 397B-A17B New this week | 397B MoE / 17B act | Q6_K | 303.2 GB | 0.94 GB | 304.7 GB | +286.7 GB | ~2.0 | MLX | Why |
| DeepSeek V4 Flash 284B-A13B New | 284B MoE / 13B act | Q6_K | 216.9 GB | 1.51 GB | 219.0 GB | +201.0 GB | ~2.6 | MLX | Why |
| Qwen3 235B-A22B | 235B MoE / 22B act | Q6_K | 179.5 GB | 5.88 GB | 185.9 GB | +167.9 GB | ~1.6 | MLX | Why |
| Qwen3.5 122B-A10B | 125B MoE / 10B act | Q6_K | 95.5 GB | 0.75 GB | 96.8 GB | +78.8 GB | ~3.4 | MLX | Why |
| Nemotron 3 Super 120B-A12B | 124B MoE / 12B act | Q6_K | 94.7 GB | 0.25 GB | 95.5 GB | +77.5 GB | ~2.8 | MLX | Why |
| Ling 3.0 Flash 124B-A5B New | 124B MoE / 5.1B act | Q6_K | 94.7 GB | 0.25 GB | 95.5 GB | +77.5 GB | ~6.7 | MLX | Why |
| Mistral Small 4 119B-A6B | 119B MoE / 6.5B act | Q6_K | 90.9 GB | 0.70 GB | 92.2 GB | +74.2 GB | ~5.3 | MLX | Why |
| gpt-oss 120B | 117B MoE / 5.1B act | MXFP4 | 60.5 GB | 1.13 GB | 62.2 GB | +44.2 GB | ~9.9 | MLX | Why |
| Llama 4 Scout 109B-A17B | 109B MoE / 17B act | Q6_K | 83.2 GB | 2.63 GB | 86.5 GB | +68.5 GB | ~2.0 | MLX | Why |
| Llama 3.3 70B Instruct | 70.6B | Q6_K | 53.9 GB | 10.00 GB | 64.5 GB | +46.5 GB | ~1.0 | MLX | Why |
| DeepSeek-R1-Distill-Llama 70B | 70.6B | Q6_K | 53.9 GB | 10.00 GB | 64.5 GB | +46.5 GB | ~1.0 | MLX | Why |
| Qwen3.6 35B-A3B | 35.9B MoE / 3.3B act | Q6_K | 27.4 GB | 0.63 GB | 28.6 GB | +10.6 GB | ~10 | MLX | Why |
| Ornith 1.5 35B-A3B New this week | 35.9B MoE / 3.3B act | Q6_K | 27.4 GB | 0.63 GB | 28.6 GB | +10.6 GB | ~10 | MLX | Why |
| LLM-jp 4 33B Thinking New this week | 33.2B | Q6_K | 25.4 GB | 8.00 GB | 34.0 GB | +16.0 GB | ~2.2 | MLX | Why |
| Qwen3 32B | 32.8B | Q6_K | 25.0 GB | 8.00 GB | 33.6 GB | +15.6 GB | ~2.2 | MLX | Why |
| DeepSeek-R1-Distill-Qwen 32B | 32.8B | Q6_K | 25.0 GB | 8.00 GB | 33.6 GB | +15.6 GB | ~2.2 | MLX | Why |
| Qwen2.5-Coder 32B | 32.8B | Q6_K | 25.0 GB | 8.00 GB | 33.6 GB | +15.6 GB | ~2.2 | MLX | Why |
| Olmo 3.1 32B Instruct | 32.2B | Q6_K | 24.6 GB | 2.75 GB | 27.9 GB | +9.9 GB | ~2.3 | MLX | Why |
| Nemotron 3.5 Lightning 30B-A3B New | 31.6B MoE / 3.2B act | Q6_K | 24.1 GB | 0.19 GB | 24.9 GB | +6.9 GB | ~11 | MLX | Why |
| Gemma 4 31B | 31.3B | Q6_K | 23.9 GB | 5.78 GB | 30.3 GB | +12.3 GB | ~2.3 | MLX | Why |
| GLM-4.7-Flash 30B-A3B | 31.2B MoE / 3B act | Q6_K | 23.8 GB | 1.65 GB | 26.1 GB | +8.1 GB | ~11 | MLX | Why |
| Qwen3 30B-A3B | 30.5B MoE / 3.3B act | Q6_K | 23.3 GB | 3.00 GB | 26.9 GB | +8.9 GB | ~10 | MLX | Why |
| Qwen3 Coder 30B-A3B | 30.5B MoE / 3.3B act | Q6_K | 23.3 GB | 3.00 GB | 26.9 GB | +8.9 GB | ~10 | MLX | Why |
| Muse Glimmer 30B New | 29.8B | Q6_K | 22.8 GB | 0.48 GB | 23.8 GB | +5.8 GB | ~2.5 | MLX | Why |
| Granite 4.1 30B | 28.9B | Q6_K | 22.1 GB | 8.00 GB | 30.7 GB | +12.7 GB | ~2.5 | MLX | Why |
| Qwen3.8 27B New this week | 27.8B | Q6_K | 21.2 GB | 2.00 GB | 23.8 GB | +5.8 GB | ~2.6 | MLX | Why |
| Qwen3.6 27B | 27.8B | Q6_K | 21.2 GB | 2.00 GB | 23.8 GB | +5.8 GB | ~2.6 | MLX | Why |
| Gemma 3 27B | 27.4B | Q6_K | 20.9 GB | 2.91 GB | 24.4 GB | +6.4 GB | ~2.7 | MLX | Why |
| Gemma 4 26B-A4B | 26.5B MoE / 3.8B act | Q6_K | 20.2 GB | 1.45 GB | 22.3 GB | +4.3 GB | ~9.0 | MLX | Why |
| Devstral Small 2 24B | 24B | Q6_K | 18.3 GB | 5.00 GB | 23.9 GB | +5.9 GB | ~3.0 | MLX | Why |
| Mistral Small 3.2 24B | 23.6B | Q6_K | 18.0 GB | 5.00 GB | 23.6 GB | +5.6 GB | ~3.1 | MLX | Why |
Totals = quantised weights + f16 KV cache at 32K tokens + 0.6 GB runtime overhead, against 18.0 GB usable unified memory. Tokens per second are estimated from 100 GB/s peak memory bandwidth at batch 1 — not measured. Read the method.