The picks by job

The tier pick matches the index’s 16 GB tier: the best-ranked model that reaches 15 tok/s on the tier’s reference Mac, the 16 GB Mac mini M6, and has a standard Mac runtime (the rule). That ranking weighs capability first, with a speed bonus capped at 15 points. This is why Gemma 4 12B wins the tier although GPT-oss 20B has the higher LLMCheck Score. GPT-oss’s lead comes from its speed component (25 points to 16); on capability it trails, 22/50 to 30/50. The other rows each answer a narrower question. Scores are as of 18 October 2026.

JobModelScoreIndex min. RAM16 GB Mac mini M6
All-round (tier pick)Gemma 4 12B669 GBestimated~17 tok/s
Fast reasoning, tool useGPT-oss 20B6713 GBestimated~41 tok/s
Coding agentMellum2.1-12B-A2.5B-Thinking6310 GBestimated~55 tok/s
Most capability per GBTernary Bonsai 2 27B699 GB— (see below)
Smallest, fastNanbeige4.2-3B682 GBestimated~64 tok/s

The 16 GB Mac mini M6 is the binned part, at 153 GB/s rather than the 170 GB/s of the 24 and 32 GB models, so every figure in that column is an estimate from the index’s bandwidth model. Measured runs on other chips are quoted in each section with their source.

Provenance key
sourced
Published figure — vendor or press review
estimated
community
Linked individual run — blog, forum or submission

Best all-round: Gemma 4 12B

Google’s Gemma 4 12B is a dense 11.95B model that takes text, image, audio and video input, with a 256K context window, under Apache 2.0 (model card). Google’s own table puts it at 77.2% on MMLU Pro, 78.8% on GPQA Diamond and 72.0% on LiveCodeBench v6. Those are vendor-reported scores, but they sit close to the Gemma 4 26B-A4B (82.6%, 82.3%, 77.1%), which needs at least 18 GB.

It is small enough to leave real headroom. Google’s QAT Q4_0 GGUF is 6.98 GB plus a 0.18 GB vision projector; Ollama’s gemma4:12b is 7.7–8.0 GB.

The index estimates it at estimated~17 tok/s on the 16 GB Mac mini M6. The closest measured run: about 19 tok/s community-measured on a 32 GB Mac mini M6 (QAT build in LM Studio, 18.0–18.8 across five prompts; HDZucht’s benchmark repo). That is reading speed, not instant. On slower 16 GB Macs it falls under the index’s 15 tok/s floor; see every 16 GB Mac.

Fastest capable reasoner: GPT-oss 20B

OpenAI’s GPT-oss 20B is a mixture-of-experts model: 21B parameters in total, 3.6B active per token, Apache 2.0. OpenAI post-trained it in MXFP4 so that it runs “within 16GB of memory” (model card). Reasoning effort is adjustable (low, medium, high).

Because only 3.6B parameters are read per token, it runs more than twice as fast as Gemma 4 12B on the same Mac: estimated~41 tok/s on the 16 GB Mac mini M6. A community run measured 45 tok/s on a 32 GB Mac mini M6 (LM Studio, quant not stated), and tbreak’s review published 107.5 tok/s on a Mac Studio M5 Max in Ollama.

The catch is size. The MXFP4 GGUF is 12.1 GB and Ollama’s gpt-oss:20b is 14 GB, the tightest fit of any pick on this page. Close other heavy apps, keep the context modest, and read the GPU memory limit below. On the index’s capability score Gemma 4 12B is the stronger model (30/50 to 22/50). Pick GPT-oss 20B when answers need to arrive fast.

Best for coding agents: Mellum2.1

JetBrains released Mellum2.1-12B-A2.5B-Thinking on 8 October 2026 (announcement). It is an Apache 2.0 thinking model for coding agents: 12B total, 2.5B active, 128K context.

JetBrains reports 47.0 on SWE-bench Verified and 82.0 on LiveCodeBench v6. The SWE-bench figure comes from its own run on the Pi v0.73.1 harness, which put Qwen3.5-9B at 50.0, so it is a vendor scaffold figure, not a standardized one. Mellum2.1’s case is speed per gigabyte. The official Q4_K_M is 8.07 GB, and the index estimates estimated~55 tok/s on the 16 GB Mac mini M6. One community run measured about 50 tok/s on a 16 GB Mac mini M4 (Q4_K_M, Homebrew llama.cpp, source), on a build from before the fix below.

Use llama.cpp b11681 or newer. On Metal, older builds can return NaN or garbage as the context grows with the k-quant files: Q4_K_M, Q6_K and Q8_0 (issue #30579). The fix, PR #30584, merged on 16 October and first shipped in b11681. If your app bundles an older llama.cpp, use the 7.03 GB MXFP4_MOE file instead. The bug does not affect it, though it is slightly lossier: JetBrains measures 85.6% top-token agreement with the full-precision model, against 88.0% for Q4_K_M. Ollama has no library entry for Mellum2.1 (the page returned 404 on 18 October).

Alternatives. Xiaomi’s MiMo-V2.6-Distill-Qwen-9B (MIT) is a dense 9.4B model. Xiaomi reports 61.1 on SWE-bench Verified and 44.6 on SWE-bench Pro, on an agent scaffold its card does not name. The card presents it as a research checkpoint for agentic reinforcement learning, not a polished assistant. Its Q4_K_M is 5.84 GB, and the index estimates it at estimated~22 tok/s on the 16 GB M6. IBM’s Granite 4.2 8B (Apache 2.0) comes with IBM’s own GGUF (Q4_K_M 5.35 GB) and MLX builds; IBM reports 47.67 on SWE-bench Verified, scaffold not stated. The 24B dense coders (Devstral Small, Mistral Small 3.2) also fit in 16 GB, but at estimated~8 tok/s on the 16 GB M6 they are too slow for agent loops.

A 27B model in 7 GB: the Bonsai models

PrismML’s Ternary Bonsai 2 27B (Apache 2.0, 17 September 2026) is Qwen3.8-27B rebuilt with ternary weights. The PQ2_0 file is 7.21 GB, the PTQ1_0 file 5.95 GB, and an optional 0.63 GB projector adds image input. Its capability score, 37/50, is the highest of any model in the index that fits in 16 GB.

PrismML reports that it keeps 98.2% of the full-precision model’s average across 14 benchmarks (EvalScope and vLLM on NVIDIA H100, thinking mode, vendor-run). The loss is concentrated in agentic coding. On SWE-bench Verified it scores 60.8 against 80.6 for Qwen3.8-27B (mini-swe-agent, vendor-run).

Speed is the open question on a 16 GB Mac. PrismML’s published figures are 46.8 tok/s on an M5 Max and 28.1 on an M5 Pro, in its llama.cpp fork on Metal (tg128; whitepaper and model card). Ternary decoding is limited by compute rather than memory bandwidth, so the index does not extrapolate those figures to the M1–M4 or M6 chips that 16 GB Macs use. No figure has been published for those chips yet. That is the only reason it is not the headline pick.

The runtime story moved this month:

The older Bonsai 27B (July, 1-bit, 3.8 GB) still has the higher LLMCheck Score, 72, but a lower capability score (33/50). Its published figures are 66.4 tok/s on an M5 Max, 44.2 on an M5 Pro and 26.0 on an M4 Pro (PrismML llama.cpp fork, tg128). That M4 Pro figure is the nearest any Bonsai model has to a 16 GB-class chip.

Smallest and fastest

If the job is quick answers, summaries or autocomplete, a small model leaves most of the 16 GB free:

What doesn’t fit in 16 GB

The index sets these models’ minimums from their 4-bit builds plus about 2 GB (rule), so the models people most often ask about need more than 16 GB. Smaller 3-bit GGUFs exist (Unsloth’s UD-IQ3_XXS is 13.2 GB for Qwen 3.6-35B-A3B and 9.0 GB for LFM2.5-24B-A2B), but the index has no Mac run of them:

ModelIndex minimumA 4-bit build
LFM2.5-24B-A2B17 GB13.6 GB (QAD-Q4_0). At the edge of a 16 GB Mac, like GPT-oss 20B; Liquid measured 15 GB in use at Q4_K_M
Gemma 4 26B-A4B18 GB16 GB (Ollama QAT tag)
Nemotron 3.5 Lightning18 GB—
Qwen3.8-27B19 GB—
North Mini Code 1.021 GB18.5 GB (MLX 4-bit)
MiniCPM-V 4.7 35B-A3B23 GB21.2 GB + 1.1 GB projector (Q4_K_M)
Qwen 3.6-35B-A3B24 GB20.4 GB (MLX 4-bit)
KAT-Coder-V2.524 GB21.4 GB (Q4_K_M)

2-bit builds of the 35B models exist (Unsloth’s UD-IQ2_M of Qwen 3.6-35B-A3B is 11.5 GB). The index has no Mac run that used one, and their quality loss is unmeasured, so it does not set minimums from them. If those models are the reason you want local AI, the next tier is the answer. Qwen 3.6-35B-A3B, the index’s best pick at 24 and 32 GB, ran at 64 tok/s community-measured on a 32 GB Mac mini M6. The 24–32 GB guide covers that tier.

The GPU memory limit on a 16 GB Mac

macOS does not let the GPU wire all of unified memory. Metal reports the cap as recommendedMaxWorkingSetSize, and llama.cpp prints it when a model loads. On a 16 GB Mac the usable share is well under 16 GB, which is why a 12 GB model such as GPT-oss 20B is at the edge while 7–8 GB models are comfortable.

If a model fits in RAM but runs slowly, MLX’s documentation suggests raising the system wired-memory limit (mlx-lm README, macOS 15 or newer):

sudo sysctl iogpu.wired_limit_mb=N

N should be larger than the model in megabytes and smaller than the Mac’s memory. The setting lasts until you restart. Leave a few gigabytes for macOS. The rule of thumb behind the index’s minimums is about 0.57 GB per billion parameters at Q4_K_M, plus about 2 GB.

Every 16 GB Mac, model by model

Same three models, every 16 GB configuration in the index, fastest memory first. Each Mac links to its own page.

Mac (bandwidth)Gemma 4 12BGPT-oss 20BMellum2.1
Mac mini M2 Pro 16 GB (200 GB/s)estimated~22 tok/sestimated~51 tok/sestimated~67 tok/s
Mac mini M6 16 GB (153 GB/s)estimated~17 tok/sestimated~41 tok/sestimated~55 tok/s
Mac mini M4 16 GB (120 GB/s)estimated~13 tok/sestimated~34 tok/sestimated~46 tok/s
MacBook Air M4 16 GB (120 GB/s)estimated~13 tok/sestimated~34 tok/sestimated~46 tok/s
MacBook Air M3 16 GB (100 GB/s)estimated~11 tok/sestimated~29 tok/sestimated~40 tok/s
MacBook Air M2 16 GB (100 GB/s)estimated~11 tok/sestimated~29 tok/sestimated~40 tok/s
MacBook Air M1 16 GB (68 GB/s)estimated~7 tok/sestimated~21 tok/sestimated~29 tok/s

Gemma 4 12B is dense, so it reads all 12B weights for every token and slows in step with memory bandwidth. On the M4 Mac mini and the M1–M4 MacBook Airs it drops under the index’s 15 tok/s floor, so their pages lead with a faster model: GPT-oss 20B, which reads only its 3.6B active parameters per token, on the M1–M3 Airs, and Nanbeige4.2-3B on the M4 machines. The 200 GB/s Mac mini M2 Pro, at ~22 tok/s estimated, keeps Gemma 4 12B. If you own one of those Macs, follow its page rather than the tier pick.

Install commands

Every tag below exists in the Ollama library as of 18 October 2026. Since v0.40, Ollama runs architectures that MLX supports on MLX by default on Apple Silicon (release notes).

ollama run gemma4:12b        # 7.7–8.0 GB
ollama run gpt-oss:20b       # 14 GB
ollama run granite4.2:8b     # 5.3 GB
ollama run bonsai-2:27b      # 8.3 GB, needs Ollama 0.40.6+

Mellum2.1 has no library tag. JetBrains’ GGUF card documents ollama run hf.co/JetBrains/Mellum2.1-12B-A2.5B-Thinking-GGUF:Q4_K_M; the Metal caveat above applies to whatever llama.cpp your Ollama build bundles. LM Studio users can search the same names; the community MLX 4-bit build of Gemma 4 12B is 6.74 GB.

Frequently Asked Questions

What is the best local LLM for a 16 GB Mac?

According to the LLMCheck index, Gemma 4 12B (Score 66) is the best all-round model for a 16 GB Mac. It is about 7 GB at 4-bit, takes text, image and audio input, and runs at about 17 tok/s estimated on a 16 GB Mac mini M6. A community run measured about 19 tok/s on a 32 GB Mac mini M6.

Can a 16 GB Mac run GPT-oss 20B?

Yes. OpenAI built GPT-oss 20B in MXFP4 to run within 16 GB of memory. The file is 12.1 GB (14 GB in Ollama), so close other heavy apps and keep the context modest. The index estimates about 41 tok/s on a 16 GB Mac mini M6, and a community run measured 45 tok/s on a 32 GB Mac mini M6.

What is the best coding model for a 16 GB Mac?

Mellum2.1-12B-A2.5B-Thinking from JetBrains: Apache 2.0, 8.07 GB at Q4_K_M, about 55 tok/s estimated on a 16 GB Mac mini M6. JetBrains reports 47.0 on SWE-bench Verified on its own Pi harness. Use llama.cpp b11681 or newer, or the MXFP4_MOE file, to avoid a Metal NaN bug at long contexts.

Can a 16 GB Mac run Qwen 3.6-35B-A3B?

Not well. The LLMCheck index lists a 24 GB minimum: the MLX 4-bit build is 20.4 GB and Ollama's default tag is 23 to 24 GB. 2-bit builds exist, but the index has no Mac run that used one and their quality loss is unmeasured. On a 32 GB Mac mini M6 it ran at 64 tok/s, community-measured.

Can I run a 27B model on a 16 GB Mac?

Yes, with ternary weights. Ternary Bonsai 2 27B is a 7.21 GB rebuild of Qwen3.8-27B, and PrismML reports it keeps 98.2% of the original's average score, with a larger drop on agentic coding. PrismML published 28.1 tok/s on an M5 Pro; no figure exists yet for the chips in 16 GB Macs. It runs in PrismML's llama.cpp fork, mlx-vlm 0.7.8 or Ollama 0.40.6+.

Why is my model slow or failing to load on a 16 GB Mac?

macOS caps how much unified memory the GPU can wire, so a 16 GB Mac has well under 16 GB for model weights plus context. If the model fits in RAM, the mlx-lm documentation suggests raising the limit with sudo sysctl iogpu.wired_limit_mb=N (macOS 15+), where N is larger than the model in MB and smaller than total memory.

Which 16 GB Mac is fastest for local LLMs?

Memory bandwidth decides it. Among the 16 GB Macs in the LLMCheck index, the Mac mini M2 Pro has the most (200 GB/s), then the 16 GB Mac mini M6 (153 GB/s), the M4 (120 GB/s), the M2 and M3 MacBook Airs (100 GB/s) and the M1 (68 GB/s). Gemma 4 12B runs at about 22, 17, 13, 11 and 7 tok/s estimated on them.