Local LLM Comparison for Coding (2026)
Run these models on your own hardware. Scores from our 38-task benchmark and the Aider edit leaderboard.
| Model | Score | Source | Min RAM | Quant Options | Est. Speed (32GB Apple Silicon) | Install |
|---|---|---|---|---|---|---|
| GPT-oss 20B | 98.3% | 38-task benchmark | 11.7 GB | Q2_K, Q3_K_S, Q3_K_M, Q4_0, IQ2_M, IQ2_S, IQ2_XS, IQ2_XXS, IQ3_M, IQ3_XS, IQ3_XXS, IQ4_NL, IQ4_XS, Q3_K_L, Q4_1, Q4_K_M, Q4_K_S, Q5_K_M, Q5_K_S, Q6_K, Q8_0, F16, BF16 | N/A | ollama pull openai/gpt-oss-20b |
| Qwen 3.5 35B | 85.8% | 38-task benchmark | 22 GB | Q4_K_M, Q8_0 | ~17 tok/s | ollama pull qwen-local |
| Gemma 3 12B | 80.6% | 38-task benchmark | 3.1 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0, BF16 | ~40 tok/s | ollama pull google/gemma-3-12b |
| Qwen 3.5 27B | 75.2% | Aider edit benchmark | 8.8 GB | IQ2_XXS, IQ2_M, IQ3_XXS, Q3_K_S, Q3_K_M, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0 | N/A | ollama pull qwen3.5-27b |
| DeepSeek Coder V2 | 72.9% | Aider edit benchmark | 6.1 GB | IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, IQ3_M, Q3_K_S, Q3_K_M, Q3_K_L, IQ4_XS, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0, F32 | N/A | ollama pull aider/deepseek-coder-v2 |
| Qwen 3 32B | 72.9% | Aider edit benchmark | 7.9 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0 | ~17 tok/s | ollama pull qwen3-32b |
| Qwen 3 235B | 72.2% | Aider edit benchmark | 140 GB | Q4_K_M | N/A | ollama pull qwen3-235b |
| Qwen 2.5 Coder 32B | 71.4% | Aider edit benchmark | 9.2 GB | IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0_4_4, Q4_0_4_8, Q4_0_8_8, Q4_0, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0 | ~17 tok/s | ollama pull aider/qwen2.5-coder-32b |
| Qwen 2.5 Coder 14B | 69.2% | Aider edit benchmark | 4.8 GB | IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, Q4_0_4_4, Q4_0_4_8, Q4_0_8_8, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0, F16 | N/A | ollama pull aider/qwen2.5-coder-14b |
| DeepSeek R1 Distill 70B | 67.7% | Aider edit benchmark | 16.3 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M | N/A | ollama pull deepseek-r1-distill-70b |
| Qwen 3 30B-A3B | 65.4% | Aider edit benchmark | 9.3 GB | IQ1_S, IQ2_S, IQ2_XS, IQ1_M, IQ2_XXS, IQ2_M, Q2_K, IQ3_XS, IQ3_XXS, Q3_K_S, IQ3_M, Q3_K_L, Q3_K_M, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0 | N/A | ollama pull qwen3-30b-a3b |
| DeepSeek R1 Distill 32B | 65.4% | Aider edit benchmark | 9.2 GB | IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0 | ~17 tok/s | ollama pull deepseek-r1-distill-32b |
| Qwen 3.5 14B | 63.9% | Aider edit benchmark | 10 GB | Q4_K_M | N/A | ollama pull qwen3.5-14b |
| Mistral Small 3.1 24B | 60.2% | Aider edit benchmark | 5.7 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_M, Q2_K, IQ3_XXS, Q3_K_S, Q3_K_M, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0, BF16 | N/A | ollama pull mistral-small-3.1-24b |
| Llama 3.3 70B | 59.4% | Aider edit benchmark | 16.2 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, Q4_0_4_4, Q4_0_4_8, Q4_0_8_8, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M | N/A | ollama pull aider/llama-3.3-70b |
| Llama 3.1 70B | 58.6% | Aider edit benchmark | 17.2 GB | IQ1_M, IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, Q4_K_S, Q4_K_M, Q5_K_S | N/A | ollama pull aider/llama-3.1-70b |
| Qwen 3 14B | 58.6% | Aider edit benchmark | 3.9 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0, BF16 | N/A | ollama pull qwen3-14b |
| Qwen 2.5 Coder 7B | 57.9% | Aider edit benchmark | 2.8 GB | IQ2_M, Q2_K, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, Q4_0_4_4, Q4_0_4_8, Q4_0_8_8, Q4_0, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0, F16 | ~60 tok/s | ollama pull aider/qwen2.5-coder-7b |
| Gemma 3 27B | 57.9% | Aider edit benchmark | 6.7 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0 | N/A | ollama pull gemma-3-27b |
| Phi-4 14B | 53.4% | Aider edit benchmark | 5.7 GB | Q2_K, Q3_K_M, Q4_K_M, Q5_K_M, Q6_K, Q8_0, F16 | N/A | ollama pull phi-4-14b |
| Codestral 22B | 51.1% | Aider edit benchmark | 6.8 GB | IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0, F32 | ~25 tok/s | ollama pull aider/codestral-22b |
| DeepSeek R1 Distill 14B | 49.6% | Aider edit benchmark | 4.8 GB | IQ2_XS, IQ2_S, IQ2_M, Q2_K, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0, F16 | N/A | ollama pull deepseek-r1-distill-14b |
| Qwen 3 8B | 48.1% | Aider edit benchmark | 2.3 GB | IQ1_S, IQ1_M, IQ2_XXS, IQ2_M, Q2_K, IQ3_XXS, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_K_S, Q4_0, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0, BF16 | N/A | ollama pull qwen3-8b |
| Llama 3.1 8B | 37.6% | Aider edit benchmark | 3.0 GB | IQ2_M, Q2_K, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0_4_4, Q4_0_4_8, Q4_0_8_8, Q4_K_S, Q4_K_M, Q5_K_S, Q5_K_M, Q6_K, Q8_0, F32 | N/A | ollama pull aider/llama-3.1-8b |
| DeepSeek R1 Distill 7B | 36.1% | Aider edit benchmark | 2.8 GB | IQ2_M, Q2_K, IQ3_XS, Q3_K_S, IQ3_M, Q3_K_M, Q3_K_L, IQ4_XS, IQ4_NL, Q4_0, Q4_K_S, Q4_K_M, Q4_1, Q5_K_S, Q5_K_M, Q6_K, Q8_0, F16, F32 | ~60 tok/s | ollama pull deepseek-r1-distill-7b |