Best Mac for running local LLMs
Choose the model and workload first, then a Mac with enough usable memory and a supported runtime. The highest token rate on a different model does not tell you which Mac is best for your work.
Among the Macs we have measured, the 96GB M3 Ultra is the fastest and the largest: it decoded Qwen3-30B-A3B 4-bit at a measured 112.5 tok/s (r_o6wbmfegmde) and ran Llama-3.3-70B 4-bit at 16.8 tok/s (r_sx3a4y9n-m4) (MLX). The M4 Max 128GB measured 113.3 tok/s on qwen3-coder 30B Q4_K_M via Ollama (r_roktphpc--8). A 36GB M3 Pro measured 30.5 tok/s on Qwen2.5-7B but only 7.2 tok/s on Qwen3-32B (r_llzv_g-ymaf, r_pnrrpcdqfo4), so on a Pro-class Mac, stay at 14B and below, or use MoE models.
Start with the decision you need to make
Which current model should I download?
Exact Qwen3.8 and GLM-5.3 MLX files, download sizes and runtime requirements. Verify a working configuration before choosing more memory.
Mac Studio or an RTX 5090?
Compare capacity and recorded first-token latency, with model and configuration differences visible.
- Already own a Mac? Start with a model that fits your current system. Record useful output, memory pressure and first-token wait on your actual prompts before upgrading.
- Choosing a memory tier? Budget for the exact model files, context cache, runtime, macOS and other applications. More installed memory can enable a larger workload; it does not by itself prove higher speed.
- Coding or long documents? Check task completion and first-token latency at the intended input length. A short-chat speed test does not establish either coding quality or a long-context limit.
- Laptop or desktop? Decide on portability, power and the actual machine configuration. A chip-family label alone does not identify a particular laptop or desktop SKU.
Check a model against your installed Mac memory · Look up measured speed by model
Original test: Qwen3.8-27B on a 48 GiB M5 Max
Twelve native MLX samples show the difference between generation speed and waiting for a long prompt. See the full timing ranges, memory-pressure history and cost of preparing a cached prefix on this shared workstation.
Recent submitted Mac examples
One short-chat example per catalogued Mac chip family, selected by the newest eligible submission date, then the first usable row in that run. These examples use reported MLX, Ollama or llama.cpp backends. They are not a hardware ranking or a controlled comparison.
The lookup covers up to the latest 500 listed submissions. Returned Mac data contains 44 usable short-chat rows from 44 source runs; 5 family examples are shown. Missing families are not evidence that a model cannot run.
M1 Pro
Reported: M1 Pro (16-core GPU) + 16GB unified
Size: 1.2B · quantization: Q8_0
103.1tok/s · first token 14,247ms
ollama 0.32.14 · batch 1
Input/output: 125/256 tokens · reported context: 125
Suite suite-v1 · client 0.0.5 · submitted Aug 18, 2026
M3 Pro
Reported: M3 Pro (18-core GPU) + 36GB unified
Size: not reported · quantization: not reported
7.16tok/s · first token 4,288ms
mlx 0.31.3 · batch 1
Input/output: 110/256 tokens · reported context: 110
Suite suite-v1 · client 0.0.1-dev · submitted Apr 28, 2026
M3 Ultra
Reported: M3 Ultra (60-core GPU) + 96GB unified
mlx-community/Qwen3-30B-A3B-Instruct-2507-4bit
Size: not reported · quantization: not reported
112.5tok/s · first token 356ms
mlx 0.31.3 · batch 1
Input/output: 110/256 tokens · reported context: 110
Suite suite-v1 · client 0.0.3 · submitted Jul 12, 2026
M4 Max
Reported: M4 Max (40-core GPU) + 128GB unified
Size: 30.5B · quantization: Q4_K_M
113.3tok/s · first token 1,308ms
ollama 0.30.11 · batch 1
Input/output: 110/256 tokens · reported context: 110
Suite suite-v1 · client 0.0.3 · submitted Jun 27, 2026
M5 Max
Reported: M5 Max (40-core GPU) + 48GB unified
Size: 35.5B · quantization: Q6_K
88.29tok/s · first token 6,915ms
ollama 0.32.1 · batch 1
Input/output: 112/256 tokens · reported context: 112
Suite suite-v1 · client 0.0.5 · submitted Jul 26, 2026
Hardware labels and settings are reported by submitters. Different models, tokenizers, quantizations, memory configurations and runtime versions prevent a causal hardware-speed conclusion. Open a family page for its other submissions and inspect each source.