Find an MLX model that fits your Mac.
Every model in mlx-community, sized against the memory your GPU can actually use: weights, KV cache for your context, and runtime overhead.
Loading models
- Weights
- KV cache
- Overhead
- GPU limit
Models
Measure a model on your Mac
The GPU test above runs in your browser. This one runs MLX. The script loads a model with mlx-lm, measures prompt speed, generation speed, time to first token and peak memory, and with --quality the model's perplexity on a fixed text. It sends nothing unless you add --submit, and it shows you the exact payload first.
Paste a result you already ran
How it works
What does 4-bit mean?
Quantization stores each weight with fewer bits. A 16-bit model uses about 2 bytes per parameter. A 4-bit model uses about half a byte, plus a scale and offset per group of 64 weights (roughly 4.5 bits in total). Fewer bits mean a smaller download and less memory, usually with some loss in quality that varies by model and method. Mixed models keep sensitive layers at higher precision and are labelled by their base width, e.g. "4-bit mixed".
Why memory decides what runs
On Apple Silicon the whole model must fit in the unified memory the GPU may use. By default macOS allows roughly two-thirds of RAM on Macs with 36 GB or less and about three-quarters on larger ones (adjustable with sudo sysctl iogpu.wired_limit_mb=…). A model that doesn't fit fails to load or crawls while swapping.
Why context length matters
Every token in context stores a key and a value for each attention layer: the KV cache, 2 × layers × kv_heads × head_dim × tokens × 2 bytes. For an 8B model at 32k tokens that's about 4.5 GB, as much as its 4-bit weights. Sliding-window and linear-attention layers need far less. Weight quantization doesn't shrink the KV cache, and a model's maximum context comes from its architecture and training, not its quantization.
What the browser GPU test measures
A short WebGPU compute workload (matrix multiplications and a large buffer copy) that gives a relative score for grouping hardware. It is not MLX, not LLM inference and not tokens per second, and it varies with browser, power mode and background load.
How quality is measured
Bit width is only a rough guide to quality: two 4-bit quantizations of the same model can differ, especially when one keeps sensitive layers at higher precision. Where people have run the benchmark script with --quality, the explorer uses perplexity on a fixed 16k-token slice of the wikitext-2 test set. Perplexity depends on the tokenizer, so a quantization is only compared with measured quantizations of the same base model and the same bit width (differences between widths are already covered by your priority). Each 1% lower perplexity than those peers raises its quantization score a little, and each 1% higher lowers it, up to a fixed cap. Models nobody has measured keep their normal score, so measuring a model doesn't penalize it. Perplexity is one signal, not a full evaluation: it doesn't capture reasoning, instruction following or tool use.
Where community numbers come from
From people running the benchmark script on their own Macs, plus optional "how did it work" reports. Submissions are validated. Implausible values, such as generation faster than a Mac's memory bandwidth allows, are flagged and excluded from rankings.
How "Best fit" is scored
Each matching model gets a 0 to 100 score from these components, weighted by what matters most to you:
- Fit: estimated weights (exact file sizes when available) + KV cache at your context + about 1 GB overhead, against GPU-usable memory. Comfortable under 70%, Likely under 85%, Borderline under 100%, Unlikely above.
- Quantization: quality prefers more bits, minimum memory prefers fewer, balanced prefers 4 to 6. Measured perplexity nudges a model up or down against measured quantizations of the same base model and bit width.
- Context: headroom left at your context, and whether the model's config supports that length.
- Capacity: among models that fit, more parameters usually means a more capable model. Ignored when you prioritize speed or least memory.
- Popularity (downloads and likes, log scale), recency, and community data once people contribute.
The score never considers who uploaded a model or what it's called. Speed is never predicted without real measurements. Scoring version heuristic-v1. For knowledge-quality evaluations of models on MLX, see the MLX Benchmark Leaderboard.
Privacy and data
We collect anonymous model-selection and optional benchmark data to improve MLX Model Explorer and community recommendations. It's published as the mlx-model-explorer-data dataset.
- Collected: one summary per visit (the filters you ended on, the families and quantizations you looked at, which models you opened, compared or visited, and a coarse hardware class: memory, GPU vendor and architecture, core count, browser and OS family), plus test scores and feedback you choose to send. Individual clicks aren't recorded.
- Never collected: name, email, IP address, location, cookies, user-agent strings or device fingerprints. Links, emails and phone numbers are stripped from notes.
- Session ID: random, lives only in this tab, and is gone when you close it.
- The stats page only shows groups of five or more.
Your browser sends a Global Privacy Control or Do Not Track signal, so nothing is sent unless you untick the box above.