llama.cpp vs Ollama: v1.0, $0 vs $20 Cloud Tier [2026] The llama.cpp project tagged v1.0.0 on November 13, 2026, its first stable release and the point where the public API moved to semantic versioning, with Georgi Gerganov merging the version bump and nightly builds b12381 and b12383 landing on November 14. Ollama, which relies on llama.cpp for GGUF model compatibility, reportedly dropped its free hosted cloud plan on November 11, leaving Pro at $20 a month, Max at $100 and Team at $500, while local use of both tools remains free. The comparison matters because Ollama now sits on a stable upstream engine, and the piece recommends vLLM rather than either tool for serving many simultaneous users from a GPU server. Don't miss new tech stories on Google Add Shattered once in the Google app and our stories show up in your news suggestions. Add now https://www.google.com/preferences/source?hl=en&q=https%3A%2F%2Fshattered.io%2F llama.cpp vs Ollama in November 2026: What Changed in One Week The llama.cpp project tagged v1.0.0 on November 13, 2026 https://huggingface.co/blog/ggml-org/llama-cpp-v1 , its first stable release and the point where the public API moved to semantic versioning. Georgi Gerganov merged the version bump, and nightly builds b12381 and b12383 landed on November 14, which shows the project did not slow down after the milestone. That single release reshapes the llama.cpp vs Ollama question, because Ollama leans on llama.cpp for GGUF model compatibility and now sits on top of a stable upstream. Ollama had its own news. Reports on November 11 said Ollama dropped the free plan from its hosted cloud https://maccus.fr/en/ollama-cloud-free-plan-ends/ , leaving Pro at $20 a month, Max at $100 and Team at $500. Local use stays free, but the product is no longer only a local runner. For the wider field that includes vLLM and LM Studio, the four-way runtime comparison https://shattered.io/ollama-vs-lm-studio-vs-llama-cpp-vs-vllm-local-llm-runtimes-2026/ covers all four. This piece stays on the two tools most people actually weigh against each other. Here is the short version before the detail: - Pick Ollama if you want one install, one command per model and an optional cloud path for models too big for your machine. - Pick llama.cpp if you ship software that embeds an inference library, need fine control over memory and cache settings, or want the newest architecture support the day it lands. - Pick neither as your main engine if you serve many simultaneous users from a GPU server. That job belongs to vLLM. - Cost: both run locally for $0. Only Ollama sells paid cloud plans, at $20, $100 and $500 a month. The sections below set the two side by side on specs, pricing, performance claims, hardware, developer experience and migration. Every figure comes from official pages or dated reports fetched on November 15, 2026. Where a number is vendor-published and not independently measured, the text says so. Where only one source reported a detail, the text hedges it. Specs Table: llama.cpp 1.0 vs Ollama Side by Side The two projects overlap far more than their reputations suggest. Ollama packages a model manager, a local API and a command line around an inference engine. llama.cpp is that kind of engine, plus a server and a set of command line tools. The table below lists only facts confirmed on official pages or in multiple dated sources. | Spec | llama.cpp | Ollama | |---|---|---| | Project type | Open-source C/C++ inference runtime under the ggml-org organization | Local app, CLI and API, plus optional hosted cloud models | | Latest stable release | v1.0.0, November 13, 2026 | 0.x line 0.30 and 0.31 are named on its official blog | | Versioning policy | Semantic versioning for the public API since 1.0.0 | Pre-1.0 numbering | | Nightly or pre-release builds | Yes, b12381 and b12383 on November 14, 2026 | Tagged point releases | | Cost to run locally | $0 | $0 | | Paid plans | None confirmed, no hosted product | Pro $20, Max $100, Team $500 per month cloud usage | | Hosted cloud models | No | Yes, for example gemma4:cloud and clef:cloud | | Default API address | You choose it through server flags | 127.0.0.1 port 11434, changed with OLLAMA HOST | | Default context window | Set by you on each run | 4096 tokens | | Model format | GGUF at the center | GGUF through llama.cpp compatibility Ollama 0.30 , plus an MLX engine on Apple silicon | | Used inside other tools | Yes, LM Studio ships llama.cpp runtime packs | Uses llama.cpp for GGUF model compatibility | | Backing | Community project, Georgi Gerganov merged the 1.0.0 bump | Company that reports 8.9 million developers and $88M raised | | Linux install | Release binaries or source build | One curl install script | Two rows deserve emphasis. First, the shared lineage: LM Studio’s official changelog lists llama.cpp runtime updates such as runtime 2.50.0 built on upstream b11337, and Ollama’s own blog says its 0.30 release improved GGUF compatibility through llama.cpp. When a new model architecture lands upstream, several tools inherit it. Second, the default context window. Ollama starts at 4096 tokens, which surprises people who load a long document and watch the model forget the first half. You can raise it, but you have to know to. What llama.cpp 1.0 Actually Changes A 1.0 label matters less for features than for promises. Before November 13, anyone embedding llama.cpp in an application pinned a build number and hoped the next one did not rename a function. Under semantic versioning, breaking changes to the public API now require a major version bump. Local AI’s coverage of the tag https://local-ai.net/news/llama-cpp-1-0-0/ frames it as the project’s move from a fast-moving v0.x line to a foundation that downstream apps can build against. Release coverage also reports the contents. Per those reports, v1.0.0 removed deprecated public APIs, promoted the NextN speculative-decoding API into the llama.h header, added OCP FP8 key-value caches, added a host-memory cache for mixture-of-experts experts with configurable CPU allocation, and added loading of external PLE shards. Treat that list as reported rather than verified line by line, because it rests on release notes and secondary write-ups. The direction is clear anyway: speculative decoding becomes a first-class part of the library, and large MoE models get a path to run with experts spilling into system memory. The release before it, reportedly v0.9.0 on November 5, added OCP FP8 E4M3 quantization, a flash attention operation for efficient unified KV-cache use with several sequences, a batched tensor-copy API and four new model architectures. One source also credits it with wider audio generation and transcription support and Gemma 4 prefill optimizations. Hedge that one too, since a single report carries it. If it holds, the gap between v0.9.0 and v1.0.0 is under two weeks of work, which fits the project’s pace. What 1.0 means if you only run models If you launch a server and point a chat front end at it, 1.0 changes little on day one. Your existing command lines keep working, and the new cache options are opt-in. The practical gain is confidence when you update. A guide on running llama.cpp with Open WebUI https://shattered.io/llama-cpp-server-open-webui-gguf-12-steps-2026/ will age better against a stable API than it would have against a moving one. Pin the version in your scripts anyway, because a stable API does not make every flag behave the same forever. What 1.0 means if you embed the library For application developers the change is larger. A desktop app, a game tool or a plugin that links against llama.h can now state a supported version range and trust it. The removal of deprecated functions means some code needs one more pass before it compiles against 1.0. That is a one-time cost, and it buys a predictable upgrade path afterward. Ollama builds a product on top of this layer, so the same stability helps Ollama’s own maintainers. How Ollama Evolved Beyond a Local Wrapper The old shorthand, Ollama is a friendly wrapper around llama.cpp, no longer describes the product. Its own blog tracks a steady widening. Ollama 0.30 brought improved performance and GGUF compatibility through llama.cpp and added to its MLX engine on Apple silicon. Ollama 0.31 made Gemma 4 faster on Apple silicon through multi-token prediction powered by MLX, with the company reporting gains of up to 90 percent when used with coding agents, measured on the Aider polyglot benchmark. Mind the qualifier: that is the vendor’s own figure on one benchmark and one hardware family. Speech support arrived recently. The announcement says the Phonon model reads text aloud in five languages with dozens of voices, with streaming claimed at more than 100 times real time on Apple silicon. Cloud models came earlier and keep growing. Cloudflare’s Clef, a 27B multimodal decision model, became available through Ollama Cloud https://shattered.io/ollama-cloud-pricing-vs-self-hosted-vllm-20-pro-plan-2026/ and also runs locally, according to Agentic Weekly’s Ollama profile https://theagenticweekly.com/tools/ollama . Model tags such as gemma4:cloud and clef:cloud run on hosted hardware instead of downloading to your disk. Ollama also positions itself as a hub for coding agents. Tools such as Aider with a local Ollama model https://shattered.io/aider-local-ai-coding-assistant-ollama-git-2026/ treat its local API as a drop-in endpoint, which is part of why the company can report 8.9 million developers and $88M raised from Benchmark, Theory Ventures, 8VC, Y Combinator and angel investors. That scale funds a product team and a hosted service, and it also explains the pricing change covered below. What has not changed is the local path. The quickstart still shows a local workflow that needs no API key, and the server binds to 127.0.0.1 on port 11434 by default. You can expose it on a network by setting OLLAMA HOST, for example to 0.0.0.0:11434, but the default keeps it private to your machine. That conservative default is a point in Ollama’s favor against a bare llama.cpp server, where the bind address is whatever you typed. Version numbers deserve a hedge. Reports for early November describe Ollama point releases in the 0.40 series, including 0.40.16 on November 9 and 0.40.17 on November 10, described as routine software updates rather than product launches. Only single sources carried those numbers, so check the releases page before you quote a version in your own documentation. Pricing: $0 Engine vs $20, $100 and $500 Cloud Plans On the local side, price is a tie. Both tools cost $0 to download and run on your own hardware. The real cost is the machine, the electricity and the time you spend tuning. The split appears the moment you want hosted models. Ollama’s pricing page lists three paid plans, and the November 11 reports said the earlier free cloud tier was gone. Anything written about Ollama’s free cloud access before that date describes a plan that no longer exists. | Runtime | Plan | Price | What it includes | |---|---|---|---| | llama.cpp | Open source | $0 | The engine and tools, on your own hardware | | Ollama | Local | $0 | Local app, CLI and local API, no API key needed | | Ollama | Pro | $20 per month or $200 per year $16.67 per month billed annually | $60 of usage credits per month | | Ollama | Max | $100 per month | $300 of usage credits per month | | Ollama | Team | $500 per month | Unlimited users, $1,000 of credits shared across the team | | LM Studio | Free | $0 | Local models, the Bionic agent, offline voice transcription, LM Link for up to five devices | | LM Studio | Bionic+ | $20 per month | Paid tier, full feature list not confirmed | | LM Studio | Pro | $100 per month | Five times the Bionic+ usage limits, zero data retention, bulk discounts, early features | | vLLM | Open source | $0 | Serving engine, you supply the GPUs | Read the Ollama credit math carefully. Pro at $20 includes $60 of usage credits, so the credits exceed the sticker price. Max at $100 includes $300. Team at $500 includes $1,000 shared across an unlimited number of seats. On paid plans Ollama emails a reminder at 90 percent of included monthly usage, and you can turn that off in settings. Cloud models draw down those credits per token, so heavy agent loops can burn through an allowance faster than a casual chat user would expect. Ollama’s August 31, 2026 pricing announcement is where the Pro, Max and Team names were confirmed. The free plan’s removal followed in November. For a hobbyist the practical effect is small, since local models stay free. For a team that built a workflow on free hosted inference, it is a budget line that appeared overnight. The cleanest hedge is to keep a local fallback. A llama.cpp server running a GGUF copy of the same model family costs nothing per token and does not change terms. One caution on the LM Studio rows: its paid tiers sit under the Bionic product name, and the secondary reports on Bionic+ and Pro come with an incomplete feature list. Verify on the official pricing page before you commit budget. For the llama.cpp vs Ollama decision, LM Studio’s free tier matters mainly as a third option for people who want a graphical app on top of llama.cpp runtimes. Performance: What the Published Numbers Say and Do Not Say No source checked for this comparison publishes a controlled, same-hardware, same-model test of llama.cpp against Ollama after November 13. That is the honest starting point, because any article that hands you a clean tokens-per-second winner is borrowing a number from a different setup. What does exist are vendor-published figures from the projects themselves. They answer different questions, so the table below keeps them apart. | Source | Claim | Setup | What it tells you | |---|---|---|---| | vLLM blog | 1.7M tokens/s per GPU at P90 of 387 tokens/s per user, 58x GB300 NVL72 | DeepSeek-V4.1-Flash on one NVIDIA Vera Rubin NVL72 rack | Data-center ceiling for a serving engine | | vLLM blog | 954K tokens/s per GPU at P90 of 196 tokens/s per user, 7.9x the aggregated single-node result | P/D disaggregation and Wide-EP on a GB300 NVL72 rack | What disaggregated serving adds | | vLLM blog | About 500 tokens/s decoding a single request | Flint checkpoints 40B total, 2.5B active , one GPU | Small-active-parameter MoE on one card | | vLLM blog | 2.8x throughput | Kimi K3 optimizations in vLLM | Engine-level gains on a very large model | | vLLM blog | 1.7 to 3.2x per-user speed versus data-parallel P/D, 1M-token contexts | GLM-5.3 on 16 H200s | Long-context serving on a GPU cluster | | Ollama blog | Up to 90% faster with coding agents | Gemma 4 in Ollama 0.31 on Apple silicon, Aider polyglot benchmark | Software gain on a Mac, not a cross-engine race | | Ollama blog | Streaming above 100x real time | Phonon speech on Apple silicon | Text-to-speech speed, not LLM decoding | Three things stand out. The vLLM figures come from NVIDIA racks and H200 clusters, not a desktop, so they describe where vLLM goes when you outgrow a single machine. The Ollama figures describe improvements to Ollama itself on Apple silicon, measured against its earlier behavior, not against llama.cpp. And llama.cpp’s official release material in this window lists features and a version milestone but no throughput table. Nobody has published the number you actually want. That gap is useful to understand. Since Ollama uses llama.cpp for GGUF compatibility, a large share of single-user speed on a given GGUF model comes down to the same underlying kernels, the same quantization and the same hardware. Differences then come from defaults: context size, batch settings, how many layers go to the GPU, whether flash attention is on, and how long a model stays loaded between requests. A tuned llama.cpp command line can beat an untuned Ollama default, and a default Ollama install can beat a careless llama.cpp one. The way to know is to measure, which the migration section below walks through. Speculative decoding is the feature most likely to move single-user numbers next. The method drafts several tokens cheaply and verifies them in one pass, so a model can emit more than one token per expensive step. Reports say llama.cpp 1.0 promotes the NextN speculative-decoding API into llama.h, which turns it from an experiment into something application code can call. vLLM’s blog describes DFlash2 speculative decoding with adaptive verification in its Beam-1.0 results, where agent-driven optimization cut decode latency 2.71 times. Those are different engines on different models, so treat them as direction, not a scoreboard. Concurrency is the other axis where claims tend to mislead. Both tools run well for one person. Both can degrade when several people hit the same box at once, which is why the vLLM numbers above exist. If your workload is one developer and one coding agent, ignore the data-center figures. If it is a team of twenty sharing a GPU, the right comparison is no longer llama.cpp vs Ollama at all. Hardware and Model Support: Apple Silicon, CUDA and GGUF Sizes Hardware coverage is broad on both sides, and the newest silicon tends to reach llama.cpp first, then flow into Ollama and LM Studio through updated runtimes. Check each project’s own documentation for the exact backends it supports, and confirm the build you need. On Apple silicon, Ollama now runs its own MLX engine alongside the llama.cpp path, which is where its Gemma 4 gains came from. Model sizing is where hardware decisions get real. One community upload on Ollama shows how quantization changes disk and memory needs for a single model. It is a 9B distillation from DeepSeek-V4-Pro published by a user, not an official Ollama release, and it is listed in four sizes. | Quantization | File size | Relative to full precision | |---|---|---| | q4km | Not listed | Not listed | | q6k | Not listed | Not listed | | q8 0 | Not listed | Not listed | | f16 | Not listed | Baseline | The relative column is simple arithmetic on the listed sizes. The ladder shows the trade: moving from f16 to q4km cuts the file by roughly two thirds, which decides whether a 9B model fits on an 8 GB or 12 GB card with room for context. Both Ollama and llama.cpp read GGUF, so the same file works in either tool. Only the way you launch it differs. Bigger models change the picture. A catalog entry for Qwen3.8 27B lists a 19 GB download in a Hugging Face cache, a size that fits a 24 GB card with little spare room for context. The walkthrough on running Qwen3.8-27B locally with llama.cpp https://shattered.io/run-llm-locally-qwen3-8-27b-llama-cpp-12-steps-2026/ shows how those limits play out on real hardware. For models beyond a single card, Ollama’s cloud tags offload the work, while llama.cpp 1.0’s reported host-memory cache for MoE experts offers a local compromise by letting expert weights spill into system RAM at a speed cost. New model support is the other practical question. llama.cpp supports a new architecture when a contributor lands it, and that can happen within days of a release. Ollama then needs a release that bundles the update, plus a packaged model in its library. LM Studio’s changelog shows the same lag, with runtime packs such as 2.66.0 and 2.67.0 following upstream builds. If you need a brand-new architecture the week it ships, llama.cpp is where support appears first. If you can wait a few days, Ollama’s packaged tags save the conversion step. Ease of Use and Developer Experience Ollama wins the first ten minutes. On Linux you run one curl command to install, pull a model by name and talk to it. Memory and layer placement happen automatically. Running ollama ps afterward shows what loaded and where, with a processor column that reads 100% GPU when the whole model sits in video memory, 100% CPU when it sits in system memory, and a split such as 48%/52% CPU/GPU when it straddles both. That one table answers most of the why-is-it-slow questions. llama.cpp asks for more up front. You choose a GGUF file, decide how many layers go to the GPU, set the context length, pick a cache type and start a server. In return you see every knob. For people who like to understand why a run is slow or why memory ran out, that visibility is the product. For people who just want an answer from a model, it is friction. The 1.0 release does not change that trade, but it does make the knobs safer to rely on. Version control feels different too. Ollama’s Linux documentation describes pinning a version through an environment variable on the install script, which is handy for reproducible machines. llama.cpp users typically pin a release or a nightly build number. With 1.0 they can reason about compatibility using semantic versioning, which Ollama’s 0.x numbering does not promise. Here is the typical first-run gap in practice. With Ollama, you install, run a model by name and start typing. With llama.cpp, you download a GGUF file, then start a server and open its local address in a browser or connect a client. The Ollama path is shorter by a few steps, and the llama.cpp path leaves you with explicit settings you can write into a script and reuse unchanged. Ollama: install, run, inspect curl -fsSL https://ollama.com/install.sh | sh ollama run