KoboldCpp or Ollama? What differs, and what we could test
On the same CPU and two model files with threads set to 4, KoboldCpp generated 5 to 14% slower than Ollama after a long prompt and read that prompt 42 to 55% slower, and Ollama was ready in about 1 s against KoboldCpp's 3.5 to 5 s; apps written for Ollama can also talk to KoboldCpp, because it answers Ollama's routes. Choose Ollama for a background service with a model library and pull commands; choose KoboldCpp for one portable file with a launcher, a story and chat UI, image and voice generation, and several API styles, including Ollama's own.
Checked against KoboldCpp 1.124.2 · updated 13 Nov 2026
- lab-lnx: Linux test VM · 4 vCPU · 15 GB · no GPU
On this page
Measured: same model, same machine
We ran the same two model files on one CPU-only Ubuntu machine with 4 vCPUs F107, and timed every tool the same way: through its OpenAI-style streaming endpoint, with the time to the first token giving prompt speed and the rest of the stream giving generation speed. The prompts changed every run so none could reuse a cache. On this machine KoboldCpp, llama-server and TextGen all started with 2 threads by default, so we ran each again with 4 set explicitly; the 4-thread columns are the matched comparison. Ollama was given each file through a Modelfile with a 4096 context, and with num_thread 4 in the second run.
| Criterion | KoboldCpp --threads 4 | KoboldCpp, default threads | Ollama num_thread 4 | Ollama, default threads |
|---|---|---|---|---|
| Qwen2.5-0.5B: generation after a short prompt (tokens/s) | 78.5 F107 | 73.0 F107 | 68.5 F107 | 68.6 F107 |
| Qwen2.5-0.5B: generation after a 1,652-token prompt (tokens/s) | 51.8 F107 | 48.5 F107 | 60.3 F107 | 59.7 F107 |
| Qwen2.5-0.5B: prompt processing, 1,652 tokens (tokens/s) | 206.8 F107 | 189.7 F107 | 357.4 F107 | 324.0 F107 |
| Qwen2.5-1.5B: generation after a short prompt (tokens/s) | 38.8 F107 | 36.2 F107 | 40.0 F107 | 40.0 F107 |
| Qwen2.5-1.5B: generation after a 1,652-token prompt (tokens/s) | 31.0 F107 | 30.7 F107 | 32.8 F107 | 33.8 F107 |
| Qwen2.5-1.5B: prompt processing, 1,652 tokens (tokens/s) | 87.9 F107 | 81.1 F107 | 195.4 F107 | 181.4 F107 |
| Start-up, 0.5B / 1.5B (Ollama: model load, service already running) | 3.5 / 5.01 s F107 | 4.02 / 6.03 s F107 | 0.92 / 1.29 s F107 | 0.95 / 1.33 s F107 |
| Memory after the runs, 1.5B (resident memory of the runner) | 1,407 MB F107 | 1,407 MB F107 | 1,467 MB F107 | 1,469 MB F107 |
| What you install | One file, 103 MB F107 | One file, 103 MB F107 | 43 MB program plus 2.4 GB of libraries F107 | 43 MB program plus 2.4 GB of libraries F107 |
With threads set to 4 for both: after a short prompt KoboldCpp was faster on the 0.5B model (78.5 against 68.5 tokens per second) and 3% slower on the 1.5B (38.8 against 40.0); after the long prompt KoboldCpp was 14% slower on the 0.5B and 5% slower on the 1.5B; and it read the long prompt 42% (0.5B) and 55% (1.5B) slower. Ollama was ready in about 1 s against 3.5 to 5 s. KoboldCpp’s own default (2 threads) was slower than its 4-thread run. This is a CPU test with a 0.5B and a 1.5B model on one machine type. GPU speed, bigger models and other CPUs can differ; absolute numbers moved by up to 2 times between GitHub machines in earlier runs F44, so compare only rows from the same table.
KoboldCpp vs Ollama: how they differ
| Criterion | KoboldCpp | Ollama |
|---|---|---|
| Licence | AGPL-3.0 | MIT |
| Install | One portable file, no installer F01 | Installer and a background service |
| Interface | Launcher window, Lite, StableUI works F62 | Command line; a desktop app (not verified) |
| Where models come from | Your own GGUF files; HF Search in the launcher | Its model library with pull commands |
| API styles | KoboldAI, OpenAI, Ollama, A1111 on one port works F23 | Its own and OpenAI-style (not verified) |
| Images, speech, vision | All three, tested on CPU works F88 | Not verified |
| Default context | 16384 F05 | Set by Ollama; check yours |
| Several users at once | Queue by default; --parallelrequests F26 | Not verified |
| Sharing | Tunnel, Horde worker, multiplayer | Not verified |
For SillyTavern
SillyTavern lists KoboldCpp as a backend, and we connected SillyTavern 1.19.0 in both its Text Completion and Chat Completion modes F48. Text Completion is the API that SillyTavern’s KoboldCpp preset uses (SillyTavern). Its Ollama option we did not test.
Use KoboldCpp with apps made for Ollama
Point the app at http://localhost:5001 instead of Ollama’s address. KoboldCpp answers the tags, generate, chat and show routes (a 200 from each on every lab machine F23), and embed per upstream. The Ollama Python client, with that address, answered chat and list, and it listed the model as koboldcpp/<model file name> F86. In the app’s model-name field use that name. If you set a password, send it as a Bearer header F86. More: the chat API and other apps.
Moving models between them
From Ollama to KoboldCpp: Ollama keeps models as blob files, so download the GGUF again from Hugging Face instead of hunting for the blob (we did not test finding it). From KoboldCpp to Ollama: Ollama documents importing a GGUF file; follow its own guide. The same file gives the same quality; differences come from settings and templates (chat templates).
When to choose Ollama
You want a service that starts with the system, one-command downloads from a library, the very large set of apps that target it, and an MIT licence. See ollama.com.
When to choose KoboldCpp
No install and fully portable; a launcher window; story, adventure and chat modes in Lite; images, speech and vision in one program (we ran each on a CPU: images, voice, vision); several API styles on one port; AMD on Windows through Vulkan in the official file.
Which should you use?
- SillyTavern roleplayer on Windows: KoboldCpp, which SillyTavern lists as a backend.
- Developer with an Ollama-only app: try KoboldCpp’s Ollama routes first; use Ollama if something is missing.
- Mac user: both are available; we did not measure either on a Mac.
- AMD on Windows: KoboldCpp’s nocuda file with Vulkan (AMD); we did not test Ollama there.
- You want images too: KoboldCpp.
Frequently asked questions
Is KoboldCpp faster than Ollama?
Not on our CPU test. With threads set to 4 for both, KoboldCpp was faster after a short prompt on the 0.5B model and 3% slower on the 1.5B, KoboldCpp was 5 to 14% slower after a long prompt and 42 to 55% slower at reading long prompts. We have no GPU result, so test both on your own PC with the same file.
Can KoboldCpp use Ollama models?
Ollama stores models as blob files, so the simple way is to download the GGUF from Hugging Face. Once you have a GGUF file, KoboldCpp loads it like any other.
Can apps made for Ollama connect to KoboldCpp?
Yes, in our test. The Ollama Python client, pointed at KoboldCpp's address, answered chat and list; earlier we got a 200 from the tags, generate, chat and show routes.
Which is better for SillyTavern?
SillyTavern lists KoboldCpp as a backend and we connected it on 1.19.0. SillyTavern can also use an OpenAI-style or Ollama connection; we did not test its Ollama option.