localllm, Ollama, LM Studio, Jan, or llama.cpp yourself
They all run local models, and most of them run on llama.cpp. The difference is who chooses the model and the settings, and how much you can see of why.
| localllm | Ollama | LM Studio | Jan | llama.cpp yourself | |
|---|---|---|---|---|---|
| Choosing a model | Picked for you from measured scores in your language, with the reason shown; the Models tab shows what fits your PC | You pick from its library | You pick from a model browser | You pick from its model hub | You find and download GGUF files |
| Model library | Small: 6 measured models today, 2.7-13.3 GB | Large | Large (GGUF, and MLX on Apple Silicon) | GGUF models, plus cloud providers | Any GGUF |
| Per-language scores | Yes, for 7+ languages; measure others with eval | No | No | No | No |
| Launch settings | Profiled per model; tune measures them on your PC | Ollama's defaults | Settings in the app | Settings in the app | Every flag is yours |
| System RAM in a long chat | ~2.2 GB (measured) | Not measured by us | Not measured by us | Not measured by us | ~9.2 GB with defaults (measured) |
| Interface | Browser chat page in 7 languages (--ui), terminal chat, API | CLI, API, desktop app | Desktop app | Desktop app | CLI, server, simple web page |
| APIs | OpenAI, Anthropic, Ollama, Gemini on one port | Its own, OpenAI-compatible, Anthropic Messages (a subset) | Its own REST, OpenAI-compatible, Anthropic-compatible | OpenAI-compatible | OpenAI-compatible, Anthropic Messages |
| GPUs | Vulkan (AMD, NVIDIA, Intel), Metal | NVIDIA, AMD (ROCm), Metal, Vulkan | llama.cpp backends; MLX on Apple Silicon | llama.cpp backends | All backends |
| Open source | Yes, MIT | Yes, MIT | No (free app, also for work) | Yes, Apache 2.0 | Yes, MIT |
Other tools change often; this table reflects their own documentation in October 2026 (sources below). RAM numbers are only given where we measured them. Corrections are welcome as an issue.
vs Ollama
Ollama is easy to start and has the biggest model library. You choose the model and the tag. localllm is narrower: fewer models, but each one measured per language, and the choice made for your card. If you already like Ollama's workflow, keep it; localllm's endpoint also speaks the Ollama API, so apps built for Ollama work against it.
vs LM Studio
LM Studio has a polished desktop app for browsing, downloading and chatting, and runs MLX models on Apple Silicon. It is free, also for work, but not open source. localllm is open source and has no desktop app: a browser page, a terminal chat and the API, with the model and settings chosen from measurements.
vs Jan
Jan is an open-source desktop app (Apache 2.0) that mixes local models with cloud providers in one window. localllm stays local unless you add your own key on purpose, and answers "which model is best in my language on this card" from its measurements instead of a list.
vs running llama.cpp yourself
llama.cpp gives you every option, and localllm is built on it. What localllm adds is the choices we measured: cache sizes, which speed flags help which model, the Vulkan fix where it helps and not where it hurts, and which quantization holds up in your language. You can read every flag it passes in runtime.py.
When to pick something else
- You want a desktop app with a model browser: LM Studio or Jan.
- You want a model we don't have in the catalog: Ollama, LM Studio, Jan or llama.cpp.
- You want MLX on a Mac today: LM Studio.
- You want full control of every setting: llama.cpp.
Sources
Want the measured choice?
$ pip install make-localllm-easier $ localllm