Best local LLMs for the Apple M1 (16 GB)
Each list assumes the context that task needs, so a model that fits for chat may rank lower for long documents.
General chat at 8K context
- 58Good quality (B) · 58 of 100: how capable the model is at Q5_K_M, whatever it runs on. Match score 86/100 (quality, fit, speed and memory use) sets the ranking. Ling 3.0 Tiny (8B-A1.3B)
- 80Great quality (A) · 80 of 100: how capable the model is at Q5_K_M, whatever it runs on. Match score 85/100 (quality, fit, speed and memory use) sets the ranking. Gemma 4 12B
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 83/100 (quality, fit, speed and memory use) sets the ranking. Nemotron 3.5 Bolt E4B
- 67Good quality (B) · 67 of 100: how capable the model is at Q3_K_M, whatever it runs on. Match score 82/100 (quality, fit, speed and memory use) sets the ranking. K2 Horizon 7B
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 82/100 (quality, fit, speed and memory use) sets the ranking. Gemma 4 E4B
Coding at 32K context
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 86/100 (quality, fit, speed and memory use) sets the ranking. Mellum2.1 Thinking (12B-A2.5B)
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 82/100 (quality, fit, speed and memory use) sets the ranking. Nanbeige4.2 3B
- 67Good quality (B) · 67 of 100: how capable the model is at Q3_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. K2 Horizon 7B
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Nemotron Labs Dory 1.0 4B
- 58Good quality (B) · 58 of 100: how capable the model is at Q5_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Ling 3.0 Tiny (8B-A1.3B)
Reasoning at 32K context
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 86/100 (quality, fit, speed and memory use) sets the ranking. Mellum2.1 Thinking (12B-A2.5B)
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 82/100 (quality, fit, speed and memory use) sets the ranking. Nanbeige4.2 3B
- 67Good quality (B) · 67 of 100: how capable the model is at Q3_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. K2 Horizon 7B
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Nemotron Labs Dory 1.0 4B
- 58Good quality (B) · 58 of 100: how capable the model is at Q5_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Ling 3.0 Tiny (8B-A1.3B)
Documents (RAG) at 32K context
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 84/100 (quality, fit, speed and memory use) sets the ranking. Nemotron 3.5 Bolt E4B
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 83/100 (quality, fit, speed and memory use) sets the ranking. Gemma 4 E4B
- 69Good quality (B) · 69 of 100: how capable the model is at Q3_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Gemma 4 12B
- 58Good quality (B) · 58 of 100: how capable the model is at Q5_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Ling 3.0 Tiny (8B-A1.3B)
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Mellum2.1 Thinking (12B-A2.5B)
Agents & tools at 64K context
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 86/100 (quality, fit, speed and memory use) sets the ranking. Mellum2.1 Thinking (12B-A2.5B)
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 84/100 (quality, fit, speed and memory use) sets the ranking. Nemotron 3.5 Bolt E4B
- 49Fair quality (C) · 49 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 82/100 (quality, fit, speed and memory use) sets the ranking. LFM2.5 8B-A1B
- 62Good quality (B) · 62 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Spark-X2.6 4B
- 58Good quality (B) · 58 of 100: how capable the model is at Q5_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Ling 3.0 Tiny (8B-A1.3B)
Reverse engineering at 32K context
- 58Good quality (B) · 58 of 100: how capable the model is at Q5_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Ling 3.0 Tiny (8B-A1.3B)
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 81/100 (quality, fit, speed and memory use) sets the ranking. Mellum2.1 Thinking (12B-A2.5B)
- 66Good quality (B) · 66 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 79/100 (quality, fit, speed and memory use) sets the ranking. Nemotron 3.5 Bolt E4B
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 78/100 (quality, fit, speed and memory use) sets the ranking. Gemma 4 E4B
- 64Good quality (B) · 64 of 100: how capable the model is at Q4_K_M, whatever it runs on. Match score 77/100 (quality, fit, speed and memory use) sets the ranking. Nanbeige4.2 3B
Estimates come from published hardware specs and our open formulas, not from running the model on your machine. Real speed varies with runtime, drivers and settings. Numbers marked “Measured” come from a linked benchmark.