KoboldCpp or text-generation-webui?
Text-generation-webui, often called oobabooga and now named TextGen in its README, is a web and desktop app that can drive several engines, including llama.cpp, ExLlamaV3 and Transformers, so it loads more model formats than KoboldCpp, which runs GGUF. Pick it for non-GGUF formats; pick KoboldCpp for a single file with less to install. We installed its portable CPU build: with the same GGUF files and 4 threads, KoboldCpp generated 1 to 11% slower after a long prompt and read it 30 to 41% slower, and TextGen is a 916 MB download against KoboldCpp's 103 MB.
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 installed TextGen 4.9’s portable Linux CPU build (916 MB unpacked) and ran it with its llama.cpp loader, next to KoboldCpp 1.124.2, on one CPU-only Ubuntu machine with 4 vCPUs F107. Both were timed the same way, through the streaming endpoint, with two model files. Both defaulted to 2 threads; the 4-thread columns set them explicitly.
| Criterion | KoboldCpp --threads 4 | KoboldCpp, default threads | TextGen --threads 4 | TextGen, default threads |
|---|---|---|---|---|
| Qwen2.5-0.5B: generation after a short prompt (tokens/s) | 78.5 F107 | 73.0 F107 | 69.6 F107 | 69.0 F107 |
| Qwen2.5-0.5B: generation after a 1,652-token prompt (tokens/s) | 51.8 F107 | 48.5 F107 | 57.9 F107 | 55.4 F107 |
| Qwen2.5-0.5B: prompt processing, 1,652 tokens (tokens/s) | 206.8 F107 | 189.7 F107 | 294.9 F107 | 263.1 F107 |
| Qwen2.5-1.5B: generation after a short prompt (tokens/s) | 38.8 F107 | 36.2 F107 | 37.2 F107 | 38.3 F107 |
| Qwen2.5-1.5B: generation after a 1,652-token prompt (tokens/s) | 31.0 F107 | 30.7 F107 | 31.3 F107 | 32.0 F107 |
| Qwen2.5-1.5B: prompt processing, 1,652 tokens (tokens/s) | 87.9 F107 | 81.1 F107 | 148.4 F107 | 127.6 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 | 1.51 / 1.51 s F107 | 2.01 / 1.5 s F107 |
| Memory after the runs, 1.5B (resident memory of the runner) | 1,407 MB F107 | 1,407 MB F107 | 2,204 MB F107 | 2,204 MB F107 |
| What you install | One file, 103 MB F107 | One file, 103 MB F107 | 916 MB portable build F107 | 916 MB portable build F107 |
With 4 threads on both, KoboldCpp generated 11% (0.5B) and 1% (1.5B) slower after the long prompt and read the long prompt 30% and 41% slower. TextGen used more memory (about 2.2 GB against 1.4 GB on the 1.5B), is nine times bigger to unpack, and was ready in 1.5 to 2 s against 3.5 to 5 s. We measured only its llama.cpp loader on a CPU: its ExLlamaV3 and Transformers loaders, a GPU and the web interface were not run. This is a CPU test on one machine type with small models. GPU speed, bigger models and other CPUs can differ, and absolute numbers moved by up to 2 times between GitHub machines in earlier runs F44.
KoboldCpp vs oobabooga: model formats and engines
The README lists these backends: llama.cpp, ik_llama.cpp, Transformers, ExLlamaV3 and TensorRT-LLM, and lets you switch between them without restarting F101. The portable builds, for Linux, Windows and macOS with CUDA, Vulkan, ROCm and CPU-only options, are for GGUF models; Transformers and ExLlamaV3 models need the full installation. KoboldCpp runs GGUF, plus old GGML formats; safetensors need converting: we gave it one and it stopped with exit code 3 F82 (how to get a GGUF). If you want EXL formats on NVIDIA, that is a real reason to choose TextGen.
Interface and features
| Criterion | KoboldCpp | TextGen (text-generation-webui) |
|---|---|---|
| Licence | AGPL-3.0 | AGPL-3.0 (its LICENSE file) F101 |
| How you get it | One portable file F01 | Portable builds (GGUF only) or a full install F101 |
| Interface | Launcher window plus Lite and others works F62 | A desktop app, or a web page at port 7860 F101 |
| API styles | KoboldAI, OpenAI, Ollama, A1111 and more works F23 | OpenAI and Anthropic compatible, with tool calling F101 |
| Model formats | GGUF, plus old GGML | GGUF, Transformers, ExLlamaV3 and more F101 |
| Images | Built in works F88 | A diffusers tab, full install F101 |
| Speech | Whisper and TTS built in works F90 | Extensions (TTS, voice input) F101 |
| Training | No | LoRA training tab F101 |
| Tools and web search | Web search flag, MCP, an agent (not all tested) | Tool calling with web search, MCP servers F101 |
For SillyTavern
SillyTavern lists KoboldCpp as a backend and we connected it (SillyTavern). TextGen offers an OpenAI-compatible API, which SillyTavern’s Chat Completion mode can use; we did not test that.
When to choose text-generation-webui
You need EXL formats or unquantized Transformers models, want to train LoRAs, or want extensions, and you accept a larger install.
When to choose KoboldCpp
You run GGUF models and want one file with a launcher, a story and chat page, image and voice features built in, several API styles on one port, and .kcpps config files.
Which should you use?
- EXL3 or Transformers models: TextGen.
- GGUF models, least to install: KoboldCpp.
- Fine-tuning your own LoRA: TextGen.
- Story and chat page with SillyTavern in mind: KoboldCpp.
Frequently asked questions
Is oobabooga better than KoboldCpp?
They suit different needs. TextGen loads more model formats (its README lists Transformers and ExLlamaV3 as well as llama.cpp) and has training and extensions. On our CPU test with GGUF files and 4 threads, TextGen generated and read prompts a little faster than KoboldCpp, and KoboldCpp is one 103 MB file against TextGen's 916 MB portable build.
Can KoboldCpp run EXL2 or safetensors models?
No, text models only as GGUF (plus old GGML). A safetensors file stopped KoboldCpp with exit code 3 in our test. Convert it or download a GGUF.
Which is easier to install?
KoboldCpp is one 103 MB file you run. TextGen's portable build is a 916 MB folder with all dependencies for GGUF models; its README says other formats need a fuller install. Both started in a few seconds on our test machine (TextGen 1.5 to 2 s, KoboldCpp 3.5 to 5 s).
Do both work with SillyTavern?
SillyTavern lists KoboldCpp as a backend and we connected it on 1.19.0. TextGen offers an OpenAI-compatible API on its README's terms; we did not test SillyTavern with it.