Which Mac should you buy for AI?
Answer three questions. You get one Mac, one model to install on it, the speed you can expect, and the month your AI subscription would have paid for it. Or the honest answer that the Mac you already own does the job.
What do you want it to do?
How fast does it need to be?
Budget, and what you already own
Why a used Mac can beat a new one
Writing speed is set by memory bandwidth, not by the year on the box. A 2021 M1 Max moves 400 GB/s. The new M5 Pro moves 307. Gold bars are Macs Apple sells today, teal is the machine the receipts below were measured on.
Every Mac against your answers
everyday: contracts, spreadsheets, code fixes · 15+ tokens/s · 32K context. Gold rows are sold new; the rest is the used market.
| Mac | Memory | Bandwidth | Model it would run | Speed | Fit | Price |
|---|---|---|---|---|---|---|
| Mac mini M5 Pro (2026) | 24 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | tight | $1,699 |
| Mac mini M5 Pro (2026) | 48 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $2,299 |
| MacBook Pro 14" M5 Pro (2026) | 24 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | tight | $2,499~ |
| Mac Studio M5 Max 32-core GPU (2026) | 36 GB | 460 | Gemma 4 31B | ≈16 | runs | $2,499 |
| Mac mini M5 Pro (2026) | 64 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $2,699 |
| MacBook Pro 14" M5 Pro (2026) | 36 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $2,899~ |
| MacBook Pro 16" M5 Pro (2026) | 24 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | tight | $2,999 |
| MacBook Pro 14" M5 Pro (2026) | 48 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $3,099~ |
| Mac Studio M5 Max 40-core GPU (2026) | 48 GB | 614 | Gemma 4 31B | ≈21 | runs | $3,099 |
| MacBook Pro 16" M5 Pro (2026) | 36 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $3,399~ |
| MacBook Pro 14" M5 Pro (2026) | 64 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $3,499~ |
| Mac Studio M5 Max 40-core GPU (2026) | 64 GB | 614 | Gemma 4 31B | ≈21 | runs | $3,499 |
| MacBook Pro 16" M5 Pro (2026) | 48 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $3,599~ |
| MacBook Pro 14" M5 Max 32-core GPU (2026) | 36 GB | 460 | Gemma 4 31B | ≈16 | runs | $3,599~ |
| MacBook Pro 16" M5 Pro (2026) | 64 GB | 307 | Qwen 3.8 27B · Q3 (13 GB build) | ≈18 | runs | $3,999~ |
| MacBook Pro 14" M5 Max 32-core GPU (2026) | 48 GB | 460 | Gemma 4 31B | ≈16 | runs | $3,999~ |
| MacBook Pro 14" M5 Max 32-core GPU (2026) | 64 GB | 460 | Gemma 4 31B | ≈16 | runs | $4,399~ |
| MacBook Pro 14"/16" M5 Max 40-core GPU (2026) | 48 GB | 614 | Gemma 4 31B | ≈21 | runs | $4,499~ |
| MacBook Pro 14"/16" M5 Max 40-core GPU (2026) | 64 GB | 614 | Gemma 4 31B | ≈21 | runs | $4,899~ |
| Mac Studio M5 Max 40-core GPU (2026) | 128 GB | 614 | Gemma 4 31B | ≈21 | runs | $5,099 |
| Mac Studio M5 Ultra (2026) | 96 GB | 1200 | Gemma 4 31B | ≈36 | runs | $5,499 |
| MacBook Pro 14"/16" M5 Max 40-core GPU (2026) | 128 GB | 614 | Gemma 4 31B | ≈21 | runs | $6,899~ |
| Mac Studio M5 Ultra (2026) | 256 GB | 1200 | Gemma 4 31B | ≈36 | runs | $9,499 |
| Mac Studio M5 Ultra (2026) | 512 GB | 1200 | Gemma 4 31B | ≈36 | runs | TBA |
| MacBook Pro 14"/16" M1 Max (2021) | 32 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | tight | used |
| MacBook Pro 14"/16" M2 Max (2023) | 32 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | tight | used |
| Mac Studio M1 Max (2022) | 32 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | tight | used |
| Mac Studio M2 Max (2023) | 32 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | tight | used |
| MacBook Pro 14"/16" M4 Max 32-core GPU (2024) | 36 GB | 410 | Qwen 3.8 27B · Q4 (Ollama default) | ≈16 | runs | used |
| Mac Studio M4 Max 32-core GPU (2025) | 36 GB | 410 | Qwen 3.8 27B · Q4 (Ollama default) | ≈16 | runs | used |
| MacBook Pro 14"/16" M3 Max 40-core GPU (2023) | 48 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| MacBook Pro 14"/16" M4 Max 40-core GPU (2024) | 48 GB | 546 | Gemma 4 31B | ≈18 | runs | used |
| Mac Studio M4 Max 40-core GPU (2025) | 48 GB | 546 | Gemma 4 31B | ≈18 | runs | used |
| MacBook Pro 14"/16" M1 Max (2021) | 64 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| MacBook Pro 14"/16" M2 Max (2023) | 64 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| MacBook Pro 14"/16" M3 Max 40-core GPU (2023) | 64 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| MacBook Pro 14"/16" M4 Max 40-core GPU (2024) | 64 GB | 546 | Gemma 4 31B | ≈18 | runs | used |
| Mac Studio M1 Max (2022) | 64 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| Mac Studio M1 Ultra (2022) | 64 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| Mac Studio M2 Max (2023) | 64 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| Mac Studio M2 Ultra (2023) | 64 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| Mac Studio M4 Max 40-core GPU (2025) | 64 GB | 546 | Gemma 4 31B | ≈18 | runs | used |
| Mac Pro M2 Ultra (2023) | 64 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| MacBook Pro 14"/16" M2 Max (2023) | 96 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| Mac Studio M2 Max (2023) | 96 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| Mac Studio M3 Ultra (2025) | 96 GB | 819 | Gemma 4 31B | ≈25 | runs | used |
| MacBook Pro 14"/16" M3 Max 40-core GPU (2023) | 128 GB | 400 | Qwen 3.8 27B · Q4 (Ollama default) | ≈15 | runs | used |
| MacBook Pro 14"/16" M4 Max 40-core GPU (2024) | 128 GB | 546 | Gemma 4 31B | ≈18 | runs | used |
| Mac Studio M1 Ultra (2022) | 128 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| Mac Studio M2 Ultra (2023) | 128 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| Mac Studio M4 Max 40-core GPU (2025) | 128 GB | 546 | Gemma 4 31B | ≈18 | runs | used |
| Mac Pro M2 Ultra (2023) | 128 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| Mac Studio M2 Ultra (2023) | 192 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| Mac Pro M2 Ultra (2023) | 192 GB | 800 | Gemma 4 31B | ≈24 | runs | used |
| Mac Studio M3 Ultra (2025) | 256 GB | 819 | Gemma 4 31B | ≈25 | runs | used |
| Mac Studio M3 Ultra (2025) | 512 GB | 819 | Gemma 4 31B | ≈25 | runs | used |
Every model in the picker
Download size at the listed build, the bytes the chip moves per token (all weights for dense models, active experts only for mixture-of-experts), a size class used to rank models inside a bucket (dense: parameter count; mixture-of-experts: square root of total × active), and where the size came from.
Show the 37 models
| Model | Maker | Download | Read per token | Size class | Bucket | Source |
|---|---|---|---|---|---|---|
| Qwen 3.5 2B | Alibaba | 2.3 GB | 2.3 GB | 2B | Chat, summaries, private documents | measured |
| Qwen 3.5 4B | Alibaba | 3.1 GB | 3.1 GB | 4B | Chat, summaries, private documents | measured |
| Gemma 4 E2B | 7.2 GB | 2.6 GB | 2.3B | Chat, summaries, private documents | published size | |
| LFM2.5 8B (1B active) | Liquid | 5.2 GB | 0.8 GB | 2.8B | Chat, summaries, private documents | published size |
| Granite 4.1 8B | IBM | 5.3 GB | 5.3 GB | 8B | Chat, summaries, private documents | published size |
| Ornith 9B (coding) | Ornith | 5.6 GB | 5.6 GB | 9B | Chat, summaries, private documents | published size |
| Qwen 3.5 9B | Alibaba | 5.4 GB | 5.4 GB | 9B | Chat, summaries, private documents | measured |
| Gemma 4 12B | 7.8 GB | 7.8 GB | 12B | Chat, summaries, private documents | measured | |
| Gemma 4 E4B | 8.9 GB | 4.6 GB | 4.5B | Chat, summaries, private documents | measured | |
| gpt-oss 20B (3.6B active) | OpenAI | 14 GB | 2.4 GB | 8.7B | Chat, summaries, private documents | published size |
| Qwen 3.8 27B · Q3 (13 GB build) | Alibaba · Unsloth | 11.9 GB | 13.1 GB | 24.5B | Everyday: contracts, spreadsheets, code fixes | measured |
| Qwen 3.5 27B | Alibaba | 17 GB | 17 GB | 23B | Everyday: contracts, spreadsheets, code fixes | published size |
| Qwen 3.6 27B | Alibaba | 17 GB | 17 GB | 25B | Everyday: contracts, spreadsheets, code fixes | published size |
| Qwen 3.8 27B · Q4 (Ollama default) | Alibaba | 17.5 GB | 17 GB | 27B | Everyday: contracts, spreadsheets, code fixes | measured |
| Granite 4.1 30B | IBM | 17 GB | 17 GB | 22B | Everyday: contracts, spreadsheets, code fixes | published size |
| Muse Glimmer 30B | Meta | 18 GB | 18 GB | 26B | Everyday: contracts, spreadsheets, code fixes | published size |
| Gemma 4 26B (3.8B active) | 18 GB | 2.7 GB | 9.8B | Chat, summaries, private documents | published size | |
| North Mini Code 30B (3B active) | Cohere | 19 GB | 1.9 GB | 9.5B | Chat, summaries, private documents | published size |
| Laguna XS 2.1 33B (3B active) | Laguna | 20 GB | 1.8 GB | 10B | Chat, summaries, private documents | published size |
| Gemma 4 31B | 20 GB | 20 GB | 28B | Everyday: contracts, spreadsheets, code fixes | published size | |
| Ornith 35B (coding) | Ornith | 21 GB | 21 GB | 27B | Everyday: contracts, spreadsheets, code fixes | published size |
| Qwen 3.6 35B (3B active) | Alibaba | 23 GB | 2 GB | 10.5B | Chat, summaries, private documents | published size |
| Qwen 3.5 35B (3B active) | Alibaba | 24 GB | 2.1 GB | 10.2B | Chat, summaries, private documents | published size |
| Nemotron 3.5 Lightning 30B (3B active) | NVIDIA | 25 GB | 2.5 GB | 9.5B | Chat, summaries, private documents | published size |
| Qwen 3.8 27B · Q8 (30 GB build) | Alibaba | 30 GB | 30 GB | 27.5B | Everyday: contracts, spreadsheets, code fixes | published size |
| gpt-oss 120B (5.1B active) | OpenAI | 65 GB | 2.8 GB | 24.4B | Agents, many files, long context | published size |
| Mistral Medium 3.5 128B (dense) | Mistral | 80 GB | 80 GB | 60B | Agents, many files, long context | published size |
| Qwen 3.5 122B (10B active) | Alibaba | 81 GB | 6.6 GB | 35B | Agents, many files, long context | published size |
| Laguna S 2.1 118B (8B active) | Laguna | 96 GB | 6.5 GB | 30.7B | Agents, many files, long context | published size |
| DeepSeek V4 Flash · 3-bit (284B, 13B active) | DeepSeek · Unsloth | 103 GB | 4.7 GB | 55B | Agents, many files, long context | published size |
| GLM-5.3 Flash · 2-bit (320B, 18B active) | Z.ai · Unsloth | 108.7 GB | 6.1 GB | 61B | Agents, many files, long context | published size |
| Qwen 3.8 Flash Next 125B (6B active) | Alibaba | 120 GB | 5.8 GB | 29B | Agents, many files, long context | published size |
| DeepSeek V4 Flash · Q4 (284B, 13B active) | DeepSeek · Unsloth | 155.1 GB | 7.1 GB | 61B | Frontier-class open models | published size |
| GLM-5.3 Flash · Q4 (320B, 18B active) | Z.ai · Unsloth | 199.7 GB | 11.2 GB | 76B | Frontier-class open models | published size |
| GLM-5.3 · 2-bit (744B, 40B active) | Z.ai · Unsloth | 253.9 GB | 13.7 GB | 138B | Frontier-class open models | published size |
| GLM-5.3 · Q4 (744B, 40B active) | Z.ai · Unsloth | 467.3 GB | 25 GB | 172B | Frontier-class open models | published size |
| Kimi K3 · 1-bit (2.8T, 104B active) | Moonshot · Unsloth | 594 GB | 22 GB | 540B | Frontier-class open models | published size |
Receipts: the formula against a real machine
Every speed on this page is a formula, except the rows below. Those were measured on a 24 GB M4 Pro MacBook Pro (Ollama, 8K to 32K context, September 2026). The formula's job is to land in the same band; the exact number on your Mac is yours to measure.
| Model (24 GB M4 Pro) | Measured tok/s | Formula tok/s | Band match |
|---|---|---|---|
| qwen3.5:2b | 82 | 70.0 | fast ✓ |
| qwen3.5:4b | 55 | 54.8 | fast ✓ |
| qwen3.5:9b | 33.5 | 33.6 | fast ✓ |
| gemma4:12b | 26.1 | 24.5 | comfortable ✓ |
| gemma4:e4b | 54 | 40.0 | fast ✓ |
| Qwen3.8-27B UD-Q3_K_XL | 12.4 | 14.8 | comfortable ✓ |
| Qwen3.8-27B Q4_K_M (17 GB) at 16K (spills to CPU: needs 19.2 GB, 17.8 usable) | 0.3 | 0.3 | crawl ✓ |
7 of 7 rows land in the measured band. Bands: crawl <5 · reading 5–12 · comfortable 12–30 · fast 30+ tokens/s.
Speeds are a bandwidth formula (bytes moved per token ÷ effective bandwidth + chip overhead) checked against seven rows measured on one 24 GB M4 Pro. Bandwidth figures are Apple's published numbers per chip; M5 Ultra (1.2 TB/s) and M6 have no public measurements yet, so their speeds carry an extra discount and a label. Memory tiers are the configurations Apple shipped; one older model may be missing a rare build-to-order size. Apple prices read from apple.com on September 13, 2026, base storage; prices marked ~ are estimated from Apple's tier pricing. Model sizes are the download sizes on the Ollama library and Unsloth's Hugging Face files as of September 13, 2026; a model's resident memory is close to its download size. The advanced toggle applies macOS's unsupported GPU-memory override (RAM minus the larger of 6 GB or 5.5%). Independent, not affiliated with Apple. Part of the free tools at Hyperautomation Labs.