Best Local AI Models for MacBook Air
MacBook Air configurator
Size.
Which screen?Screen size does not change local AI results for the same chip and memory.
Chip.
Bandwidth sets generation speed.Generation speed follows memory bandwidth in this estimate; GPU cores speed up prompt reading.
Processing power.
What the extra cores change.+$100 for the 10-core GPU at 16 GB: same generation speed (both 153 GB/s), prompt reading about 25% faster (ModelFit estimate, partly scaled by GPU core count).
Speeds for Qwen3.5 9B Instruct, est. Prompt reading is scaled from llama.cpp's 7B Q4_0 prompt speed (PP512): source.
Memory.
Sets which models fit at 8k context.Storage.
Where your models live.Local models are big: your 10 best-ranked models take about 62 GB (est.), and every new release adds more. 1TB holds that library 16 times over.
- EnclosureUGREEN USB4 NVMe enclosureUSB4, 40Gb/s · ASM2464PD · aluminum fins · M.2 2280 up to 8TBAmazon
- DriveSamsung 990 PRO 1TBPCIe 4.0 NVMe · M.2 2280 · no heatsink, fits the enclosureAmazon
A 40Gb/s USB4 enclosure runs at full speed on this Mac's Thunderbolt ports.
Inside storage needs no cable or dock and goes wherever the Mac goes. Storage does not change generation speed: a model is read into memory once, then runs from there.
Keep Ollama's models on the drive
launchctl setenv OLLAMA_MODELS "/Volumes/Models/ollama"Ollama FAQModelFit may earn a commission on purchases through these links, at no extra cost to you.
Use.
What will you run?Best local models for MacBook Air M5 · 16 GB
Ollama pulls and runs a model from its library with one ollama run line. oMLX is a menu bar app and server for Apple Silicon with continuous batching, a KV cache kept hot in RAM and cold on SSD across restarts, and an OpenAI and Anthropic compatible API on localhost:8000.
| Model | Quant | Fit | Run | |||||
|---|---|---|---|---|---|---|---|---|
| 1 | est. 26 tok/s · Runs well | 9B | 7.0 GB | Runs well | 24.2 | 26 | ||
| 2 | est. 26 tok/s · Runs well | 9B | Q4_K_M | 5.6 GB | Runs well | n/a | 26 | |
| 3 | est. 17 tok/s · Runs well | 12B | Q4_K_M | 8.0 GB | Runs well | 21.6 | 17 | |
| 4 | est. 25 tok/s · Runs well | 9B | Q4_K_M | 5.8 GB | Runs well | n/a | 25 | llama-server -hf, via llama.cpp |
| 5 | est. 46 tok/s · Lots of room | 4B | 3.5 GB | Lots of room | 19.0 | 46 | ||
| 6 | est. 75 tok/s · Runs well | 8.3B moe 1.5B | Q4_K_M | 5.5 GB | Runs well | n/a | 75 | |
| 7 | est. 21 tok/s · Runs well | 8.4B | Q4_K_M | 6.0 GB | Runs well | 7.3 | 21 | |
| 8 | est. 26 tok/s · Runs well | 4.5B | 7.5 GB | Runs well | 13.3 | 26 | ||
| 9 | est. 14 tok/s · Runs well | 13.5B | Q4_K_M | 9.1 GB | Runs well | 9.8 | 14 | |
| 10 | est. 25 tok/s · Runs well | 8.7B | Q4_K_M | 5.7 GB | Runs well | n/a | 25 | |
| 11 | est. 26 tok/s · Runs well | 8B | 6.5 GB | Runs well | -2.6 | 26 | ||
| 12 | est. 23 tok/s · Runs well | 8.8B | Q4_K_M | 5.0 GB | Runs well | 19.3 | 23 | |
| 13 | est. 61 tok/s · Runs well | 2.3B | 4.6 GB | Runs well | 6.3 | 61 | ||
| 14 | est. 24 tok/s · Runs well | 8B | 6.5 GB | Runs well | n/a | 24 | ||
| 15 | est. 62 tok/s · Lots of room | 2B | Q4_K_M | 1.8 GB | Lots of room | 3.3 | 62 | |
| 16 | est. 29 tok/s · Runs well | 7B | Q4_K_M | 5.5 GB | Runs well | -3.2 | 29 | |
| 17 | est. 53 tok/s · Lots of room | 3.7B | Q4_K_M | 2.1 GB | Lots of room | 15.0 | 53 | |
| 18 | est. 17 tok/s · Runs well | 7B | 7.5 GB | Runs well | 7.9 | 17 | ||
| 19 | est. 18 tok/s · Runs well | 12B | Q4_K_M | 9.5 GB | Runs well | -4.8 | 18 | |
| 20 | est. 17 tok/s · Runs well | 12B | Q4_K_M | 9.5 GB | Runs well | 5.5 | 17 |
Click a row to map its memory in Fig. 1Fit counts the KV cache at 8k context (fp16; a q8_0 cache halves it)Tok/s: Ollama or llama.cpp on Metal, est.One row per model; the quant chips switch between its builds that fitQuality: LLM Stats Score · Data by LLM StatsOllama commands are registry-verified; a model without an Ollama tag runs via llama.cpp
See how fast it feels
Qwen3.5 9B Instruct, already loaded in memory: ~1.7s to read the prompt (fast), then it writes at est. 26 tok/s, typical error 10%.
~ $ ollama run qwen3.5:9b
# Press Send to run the fixed message below.
# fixed message, the same for every model
>>> Summarize these meeting notes in one short paragraph: what was decided, and who does what next.
[meeting-notes.txt]
Weekly sync, support tools team Attendees: Maya (lead), Jonas, Priya, Tom, Elena Agenda: local drafting assistant pilot, knowledge base cleanup, customer feedback survey, on-call rota, next steps 1. Local drafting assistant pilot - Maya recapped the goal: agents draft replies with an assistant that runs on the team's own Macs, so customer emails never leave the building and nothing depends on an outside service being up. - Jonas ran the pilot for two weeks on four machines. Agents used it for first drafts on roughly a third of tickets. Most drafts needed light edits. A few needed a full rewrite, mostly billing questions where the model guessed at policy instead of saying it did not know. - Priya said the biggest complaint was the wait before the first word on long tickets. Short tickets felt instant. Tickets with a long email thread pasted in took several seconds before anything appeared, and agents read that as the tool being stuck. Two agents restarted the app because of it. - Tom suggested trimming the thread to the last three messages before sending it to the model. Elena worried that would drop context the customer refers back to, like an order number from the first email. Agreed to test both on the same set of tickets before choosing. - Jonas said the speed once the reply starts was fine on every machine. Agents read slower than the model writes, so nobody asked for faster output. The only request was a visible sign that the model is reading, so people stop restarting it. - Memory: the oldest machine, the one with the least memory, could not keep the model loaded next to the browser and the ticketing app. It swapped and slowed down badly by mid-morning. The other three machines had no issue all day. - Priya asked whether a larger model would fix the billing guesses. Jonas thought not: the model guesses because the policy text it needs is missing or contradictory, and a bigger model would guess more fluently, not less. - Decision: keep the current model size for now. Revisit only after the knowledge base cleanup, and only if the edit rate on billing drafts is still high. 2. Knowledge base cleanup - Elena found about forty articles that contradict each other on refund windows and plan changes. These are the likely source of the billing guesses. - Priya proposed one owner per section, with a review date on every article so stale pages show up on their own instead of during an angry ticket. - Agreed: Elena owns billing and refunds, Priya owns accounts and login, Tom owns shipping and returns. Each owner archives duplicates, merges the rest, and flags anything that needs a policy decision from Maya. - Jonas will add the cleaned articles to the assistant's reference folder once each section is signed off, not before. Mixing old and new versions would make the guessing worse. - Tom asked for a template for new articles. Elena will share the one billing already uses. 3. Customer feedback survey - Priya shared the quarterly survey results. Response time scores went up since the last quarter, and the free-text comments mention faster first replies more than once. - Several comments still complain about being asked for the same order details twice. Elena thinks this happens when a ticket moves between agents and the notes field is left empty. - Agreed: the handover checklist gets one new line, fill in the notes field before reassigning a ticket. Tom will update the checklist and post it in the team channel. - Maya wants the next survey to ask one question about reply quality, not only speed, so the team can see whether the assistant drafts change how customers rate answers. 4. On-call rota - Two people asked to swap weeks in November. Maya approved both swaps. - Tom raised that weekend coverage gets thin when two people are on leave at the same time. Agreed that leave requests go in the team channel at least two weeks ahead, and Maya checks the rota before approving. - No change to escalation rules. The escalation doc is still correct. 5. Next steps - Jonas: run the trimmed thread versus full thread test on fifty past tickets and report the wait before the first word and the edit rate for each. - Jonas: add a reading indicator to the assistant panel so agents can see the model is working on a long ticket. - Elena, Priya, Tom: finish their knowledge base sections and send Maya the open policy questions. - Maya: ask IT whether the oldest machine can get more memory or should be replaced at the next refresh. - Everyone: log any draft that invents a policy, with the ticket link, in the shared sheet. - Next sync: same time next week. Maya sends the agenda the day before.
ModelFit engine estimate, not a measured benchmark. Loading the model is not included. Real speed varies with thermals, runtime, and KV-cache settings.
What B unlocks
Compare with any Mac or GPU| Spec | A · yours | B | Change |
|---|---|---|---|
| Configuration | 13" M5 10C · 16 GB | 13" M5 10C · 24 GB | |
| Apple list price, base storage | $1,399 | $1,499 | +$100 |
| Memory bandwidth | 153 GB/s | 153 GB/s | same |
| Usable for models | 11.2 GB | 16.8 GB | +5.6 GB |
| Models that run at 8k | 51 | 67 | +16 |
| Top pick | Qwen3.5 9B Instruct est. 26 tok/s | LFM2 24B-A2B Instruct est. 57 tok/s | |
| Max context, top pick | ~134k | 125k, max |
The MacBook Air handles local AI models up to 14B parameters. With Apple Silicon and unified memory, current-generation models like Qwen3.5 4B, Qwen3.5 9B, and Gemma 4 E4B run at usable speeds. The fanless design just means long sessions favor smaller models.
On a MacBook Air, the best local LLM ranges from Qwen3.5 4B Instruct at 8GB to Gemma 4 26B-A4B at 32GB. That spans 8GB to 32GB configurations, where 85 of ModelFit's 121 local models fit comfortably at the top tier. Set your exact chip and memory in the configurator above for its ranked list.
Sizing rule: a local model needs about 0.6 GB of unified memory per billion parameters at Q4, and ModelFit budgets roughly 70% of each configuration's RAM. At 8GB the best fit is Qwen3.5 4B Instruct (~3.5GB); at 32GB it is Gemma 4 26B-A4B (~16GB), reaching est. 32 tok/s, typical error 10%. Mid-range configurations trade model size for speed between those two points. What it will not run: even the 32GB tier leaves Gemma 4 26B-A4B (Q8) (26B) to a cloud API, and the 8GB tier caps out far earlier.
→ Set your exact chip and memory in the configurator above for its ranked models and one-line install command.
- Entry (M1, 8GB)
- Qwen3.5 4B Instruct
- Top (M5, 32GB)
- Gemma 4 26B-A4B
- Decode speed range
- est. 18-32 tok/s, typical error 10%
Speeds are ModelFit estimates from chip bandwidth and model size, not measured benchmarks. Typical error: the median gap between the ModelFit speed model and measured runs on hardware the model was not fitted on, for this backend and model size.
Cite this page: ModelFit, Best Local AI Models for MacBook Air, https://modelfit.io/macbook-air/, updated October 2026, CC BY 4.0.
Get told when a better model fits your M5 16 GB
When a new open-weight model beats these picks on your configuration, you get one email, plus the Thursday weekly.
For: MacBook Air M5 16 GB
You'll also get the weekly ModelFit email. By signing up you agree to our Privacy Policy. Unsubscribe from either email anytime, in one click.
Pick your exact MacBook Air chip
Where to buy for local AI
best configs- External SSD · 2TBArchive your model library off the internal drive. Quantized models run 5 to 40GB each, so 2TB holds dozens with room to spare.Check price on Amazon
- USB4 NVMe Enclosure40Gbps external storage fast enough to run models from. Pair it with an M.2 drive for a portable model vault.Check price on Amazon
- Laptop Stand / RiserThe fanless MacBook Air heat-soaks on long inference runs. An aluminum riser lifts the chassis so it sheds heat better off the desk.Check price on Amazon
- USB-C Hub / DockMore ports for the external drives, displays and peripherals around a local-AI workstation.Check price on Amazon
ModelFit may earn a commission on purchases through these links, at no extra cost to you.
Related devices for local AI
Related setup guides
MacBook Air local AI articles
- Best LLM for a 16GB Mac (2026)16GB Mac runs 8B-12B models at interactive speed. Ranked picks for M5 and M6 Macs with engine-estimated tok/s, RAM budgets, and why 14B is the ceiling.
- Best LLM for MacBook Air M2 16GB: 5 Models Ranked (2026)Qwen3.5 9B leads the M2 Air 16GB tier in 2026. Five local models ranked by speed and quality, tuned for the M2's 100 GB/s memory bandwidth.
- Best LLM for MacBook Air M5 16GB: 5 Models Ranked (2026)The M5 Air's 153 GB/s memory bus runs local LLMs about a third faster than the M4. Qwen3.5 9B leads the 16GB tier: 5 local models ranked, with RAM and install commands.
- Best LLM for MacBook Air M4 16GB: 5 Models Ranked (2026)Qwen3.5 9B leads the M4 Air 16GB tier in 2026. We ranked 5 local models by speed and quality, with RAM usage and one-command install for each.
- Best LLM for MacBook Air M4 24GB: 6 Models Ranked (2026)GPT-OSS 20B and LFM2 24B-A2B lead the M4 Air 24GB tier. The extra RAM unlocks 14-27B models the 16GB cannot hold cleanly: 6 ranked picks.
Popular model families
- QwenAlibaba Cloud: Qwen3.8 27B local flagship (Apache 2.0, vision)
- LlamaMeta: Most popular open-weight model family
- DeepSeekDeepSeek AI: V4.1 Flash: multimodal 552B MoE, API only
- MistralMistral AI: Excellent performance-per-parameter ratio
- GemmaGoogle DeepMind: Gemma 4 E4B: 4.5B effective, runs on 8GB Macs
Frequently asked questions
What is the best AI model for MacBook Air?
The MacBook Air handles local AI models up to 14B parameters. With Apple Silicon and unified memory, current-generation models like Qwen3.5 4B, Qwen3.5 9B, and Gemma 4 E4B run at usable speeds. The fanless design just means long sessions favor smaller models. On the default Apple M5 with 16GB RAM, Qwen3.5 9B Instruct is our top pick, handling models up to about 12B parameters at this RAM. Higher-RAM MacBook Air configurations, including Pro and Max tiers where available, reach into the 7B-14B parameter range.
What size models fit on MacBook Air?
With 16GB unified memory, MacBook Air runs models up to about 12B parameters comfortably. Strong picks include Qwen3.5 9B Instruct, Ornith 1.0 9B, Gemma 4 12B. Higher-RAM configurations, including Pro and Max tiers where available, reach into the 7B-14B parameter range. Use the ModelFit wizard to match your exact RAM and chip.
How fast is local AI on MacBook Air?
On the Apple M5 with optimized, quantized models, expect est. 26 tok/s, typical error 10%. The M5 is the biggest Air leap yet for local AI: Apple gives every GPU core a Neural Accelerator, and unified memory bandwidth rises to 153 GB/s (+28% vs M4). With up to 32GB memory, the MacBook Air M5 runs 9B-14B models like Qwen3.5 9B faster than any previous Air. The fanless design still favors mid-size models over long sessions. (Speeds are ModelFit estimates, not measured benchmarks, and vary with model size and quantization.)
Have this hardware? Share a measured run.
Measure a fixed Ollama reference model on your machine. This separate, opt-in contribution does not change ModelFit's third-party SWE-Bench leaderboard; results appear on the measured-speed leaderboard after the next site update.