
XDA flagged the shift in March: Ollama 0.19 swapped its Apple Silicon backend over to MLX and the prefill jumped about 1.6x, with decode close to 2x on the same M-series hardware. The reason is the part of the Mac architecture that has quietly become the killer feature for local AI. Unified memory lets the GPU read the same RAM the CPU uses, so a 64 GB MacBook can load a 70B-class model that will not fit on a 24 GB RTX card, and MLX, Apple’s own ML framework, has learned to push that hardware harder than the cross-platform runtimes ever did.
We tested 7 of the best apps for running local LLMs on Mac, with a bias toward tools that actually exploit MLX or Metal rather than ones that happen to compile. The benchmark was the boring stuff: how fast a model loads on an M2 Pro, how cleanly the app uses GPU offload, whether the chat UI is pleasant after an hour, and whether the project keeps up with new model architectures. Most of the strong options are free or have a generous personal tier.
What to look for in a Mac local-LLM app
A handful of criteria separate the tools that survive on a MacBook from the ones that get uninstalled by week two:
- MLX support. Apple’s framework is now the fastest path on M-series chips. Apps that ship an MLX backend, not just a llama.cpp wrapper, will keep widening the lead on M5 and later silicon.
- Metal GPU offload. For apps still on llama.cpp, the quality of the Metal backend decides whether tokens per second is usable or a slideshow.
- GGUF compatibility. GGUF is the format the Hugging Face catalogue ships. An app that cannot load a recent GGUF is a dead end, even on Apple Silicon.
- Unified-memory awareness. Good apps surface how much of your shared RAM a model will eat and stop you from loading something that will swap. Bad ones let macOS thrash and then crash.
- OpenAI-compatible API. A local endpoint on
localhostis what plugs the model into editor extensions, notebooks, and shortcuts. The strongest apps expose one without extra setup. - Privacy posture. Some apps run fully offline. Others phone home for analytics by default and need a flag to stop, which matters if the reason you went local was privacy in the first place.
Quick comparison
| App | Best for | Apple Silicon support | Free plan | Standout feature |
|---|---|---|---|---|
| Ollama | One-line installs with an MLX backend | MLX engine on M-series | Yes (open source) | OpenAI-compatible API on localhost:11434 |
| LM Studio | Polished chat with side-by-side GGUF and MLX | Native MLX runtime | Yes (free for personal use) | Load a GGUF and an MLX model in one window |
| Jan | Fully open-source chat that respects offline mode | Metal via llama.cpp | Yes (open source) | No telemetry and a transparent settings panel |
| GPT4All | Low-RAM Macs and older Apple Silicon | Metal via llama.cpp | Yes (open source) | CPU-first quants tuned for 8 GB machines |
| Msty | Comparing two local models side by side | Metal via llama.cpp | Yes (free tier) | Two models, one window, same prompt |
| MLX Chat (mlx-lm) | Maximum throughput and fine-tuning | First-party MLX | Yes (open source) | Apple’s reference runtime for MLX models |
| Llama.cpp | Direct control over the Metal backend | Hand-tuned Metal kernels | Yes (open source) | The runtime every other app wraps |
The 7 best apps for running local LLMs on Mac
1. Ollama — best one-line install with an MLX backend
Ollama moved its Apple Silicon backend to MLX in version 0.19 and turned a steady runtime into a notably fast one. The same ollama run command pulls a quantised model and starts chatting, but on an M-series Mac with at least 32 GB of unified memory the new engine handles prefill around 1.6x faster and decode close to 2x faster than the llama.cpp path it replaced. Recent updates added NVFP4 4-bit support for higher quality at the same memory cost.
Where it falls short: The MLX engine is gated on Apple Silicon with enough unified memory, so older 16 GB MacBooks fall back to the standard runtime. The first-party UI is still a CLI and a daemon, so most people pair it with a separate chat front end.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: macOS, Windows, Linux
Download: ollama.com
Bottom line: Pick Ollama for local LLMs on Mac if you want the fastest backend with the lowest setup cost and you are happy bringing your own UI.
2. LM Studio — best chat UI for mixing GGUF and MLX
LM Studio is one of the only apps that runs both llama.cpp GGUF and MLX models in the same window, which makes it the easiest way to feel the Apple Silicon speed difference for yourself on the same prompt. Apple cited LM Studio in its M5 launch materials for this reason. The model browser plugs into Hugging Face, flags MLX-optimised variants, and shows whether a file will fit in your unified memory before you commit to the download.
Where it falls short: The licence allows free personal use but a paid plan is required in business contexts, which is worth knowing before installing on a company MacBook. The app is closed source.
Pricing:
- Free: personal use
- Paid: Work plan for business use
Platforms: macOS, Windows, Linux
Download: lmstudio.ai
Bottom line: Pick LM Studio for local LLMs on Mac if you want a single window that handles model discovery, MLX or GGUF selection, chat, and a local API.
3. Jan — best fully open-source chat client for macOS
Jan is what happens when a team rebuilds LM Studio’s experience as open source from the ground up. The desktop app feels native on macOS, uses the Metal backend through llama.cpp for GPU offload, and the project’s stated policy is to run fully offline with no telemetry. The settings panel makes it obvious which switches affect network calls, which is unusual in this category.
Where it falls short: Performance trails Ollama and LM Studio on Apple Silicon because Jan has not yet shipped a first-class MLX runtime, so it leaves a chunk of M-series throughput on the table. The mobile and remote-API stories are newer than the desktop chat.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: macOS, Windows, Linux
Download: jan.ai
Bottom line: Pick Jan for local LLMs on Mac if open source matters more than wringing the last 20 percent out of your GPU.
4. GPT4All — best for older Apple Silicon and 8 GB Macs
GPT4All still does the boring work better than most on hardware that the rest of the field has stopped caring about. The default model list is tuned for CPU and modest-GPU inference, the small quants run on M1 MacBook Airs with 8 GB of unified memory, and the chat UI includes local document chat that points at a folder on disk. For owners of base-model Apple Silicon laptops who bounced off 7B models running at a crawl, the curated small-model selection is the right starting point.
Where it falls short: Apple Silicon acceleration is supported through Metal but is not where the project’s focus sits, so larger models lag the MLX-aware apps. The chat UI is functional rather than beautiful.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: macOS, Windows, Linux
Download: gpt4all.io
Bottom line: Pick GPT4All for local LLMs on Mac if your unified memory is tight and you want a chat client that ships with models tuned for it.
5. Msty — best for comparing two local models on the same prompt
Msty fills a specific gap on macOS: it can talk to two local models at once and show their answers side by side. Combined with hooks for remote APIs, this makes it the easiest way to benchmark a new Qwen MLX release against a Gemma GGUF on the same prompt without juggling two windows. Knowledge stacks let you attach folders or URLs to a chat for retrieval, and the macOS build feels native.
Where it falls short: The free tier covers most personal use, but a few power features sit behind a paid plan. The model search is narrower than LM Studio’s and there is no first-class MLX runtime, so raw throughput trails the MLX-aware apps.
Pricing:
- Free: feature-rich personal plan
- Paid: Aurum plan for advanced features
Platforms: macOS, Windows, Linux
Download: msty.app
Bottom line: Pick Msty for local LLMs on Mac if you actively compare models and want a chat client built for that workflow.
6. MLX Chat (mlx-lm) — best for maximum throughput and fine-tuning
MLX Chat is the chat layer over mlx-lm, Apple’s reference runtime for running and fine-tuning LLMs with MLX. It is the most direct way to use the framework that powers Ollama’s and LM Studio’s MLX backends, and on M5-class hardware Apple’s own numbers show MLX pulling ahead of llama.cpp by a meaningful margin, with time-to-first-token under three seconds on a 30B MoE model. A pip install mlx-lm plus a Hugging Face model id gets you a working command-line chat.
Where it falls short: This is the closest tool on the list to a research project. There is no polished installer or model browser, you manage Python environments, and the chat UIs that wrap it are minimal. It is also macOS-only, by design.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: macOS (Apple Silicon only)
Download: github.com/ml-explore/mlx-lm
Bottom line: Pick MLX Chat for local LLMs on Mac if you want Apple’s own runtime under your hands and you are comfortable in a terminal.
7. Llama.cpp — best for direct control over the Metal backend
Llama.cpp is the runtime almost every app on this list either wraps or used to. Building it from source on a Mac takes one command, the Metal backend is hand-tuned for Apple Silicon, and the llama-server binary exposes the same OpenAI-compatible API as the polished apps without an installer in between. For anyone who wants to see exactly which kernels run, tune sampler parameters per request, or test a brand-new model architecture the day it lands on Hugging Face, this is the path.
Where it falls short: No chat UI of its own beyond a basic web interface, no curated model browser, and the flag surface is wide enough that the first run usually involves reading the README. MLX-aware apps have started to overtake it on raw throughput on the newest M-series chips.
Pricing:
- Free: open-source, no licence fee
- Paid: none
Platforms: macOS, Windows, Linux
Download: github.com/ggml-org/llama.cpp
Bottom line: Pick Llama.cpp for local LLMs on Mac if you want the runtime that every other app wraps, with nothing between you and the Metal kernels.
How to pick
If you want the simplest path to a working setup on Apple Silicon, install Ollama and pair it with a chat front end you like.
If you want one app that handles MLX, GGUF, model discovery, and chat in a polished window, install LM Studio.
If open source matters more than the last 20 percent of throughput, install Jan.
If your MacBook has 8 GB of unified memory or an older M1, install GPT4All and stick to its curated small models.
If you actively compare models on the same prompt, install Msty.
If you want Apple’s own runtime under your hands and you do not mind a terminal, install MLX Chat on top of mlx-lm.
If you want direct control over the Metal backend with nothing in the way, build Llama.cpp from source.
FAQ
Does MLX really make local LLMs faster on Mac than llama.cpp?
On current Apple Silicon, yes. Ollama’s own numbers after switching to MLX showed prefill around 1.6x faster and decode close to 2x faster on the same M-series hardware, and Apple’s published M5 benchmarks show MLX pulling further ahead on the newest chips. On older M1 and M2 machines the gap is smaller but still real.
How much unified memory do I need to run a local LLM on a Mac?
For a comfortable experience with a 7B model at 4-bit quantisation, 16 GB of unified memory is enough. For 14B class models, 32 GB is the sweet spot. For 70B dense models or 30B-A3B mixture-of-experts models with headroom for context, 64 GB or more is what you want.
Is Ollama the best app for running local LLMs on Mac?
It is the best backend for most Mac users now that the MLX engine has shipped. If you also want a polished chat UI in the same window, LM Studio is closer to a one-app answer. Ollama plus a separate UI remains the most common stack.
Can I use a local LLM on my Mac with my code editor?
Yes. Any app that exposes an OpenAI-compatible endpoint, including Ollama, LM Studio, Jan, and Msty, can be set as the base URL in editor extensions that target OpenAI. Continue, Cursor’s bring-your-own-key mode, and most VS Code extensions accept this and never see your code leave the machine.