If you are building a local LLM setup and have decided on AGPL-3.0 licensing for legal or operational reasons, you still face a real choice. Three mature, actively maintained tools share this license: text-generation-webui, Koboldcpp, and Jan. Each solves the same problem—running LLMs offline on your own hardware—but they differ in hardware footprint, interface design, and the trade-offs they make between simplicity and flexibility. This guide tells you what actually differs between them, based on verified specs from their repositories.
Koboldcpp is the lightest. It requires 4GB or more RAM and runs on CPU alone. That matters if you are testing on a laptop, running on older hardware, or do not have a GPU. It is a single-file llama.cpp fork with a built-in web UI, so the barrier to first run is low.
text-generation-webui and Jan both ask for 8GB RAM minimum. Both support GPU acceleration as optional, not required. text-generation-webui is heavier because it is a Gradio-based UI that can route between many different backends (llama.cpp, vLLM, GPTQ, and others). Jan is a desktop application designed to feel like ChatGPT, with model management baked in. If you have 8GB and want flexibility across backends, text-generation-webui wins. If you want a single, polished desktop experience, Jan is the target.
None of these tools require a GPU to start, though all benefit from one in production. GPU optional means you can prototype on CPU and scale to GPU later without rewriting your stack.
All three tools are marked offline-capable. That means they can run models without internet. Once you download a model file to your machine, you can run inference entirely air-gapped. This matters for compliance, data sensitivity, or unreliable networks.
The difference is in how they manage that experience. Koboldcpp ships as a single executable—download the binary, add a model file, run it. No setup, no environment, no pip install. text-generation-webui requires a Python environment but gives you a web UI accessible from anywhere on your network. Jan downloads models into a local directory and runs them via a native desktop app. If you need to embed a model in an automated process (batch inference, scheduled jobs), Koboldcpp or text-generation-webui are cleaner. If you need a person to interact with it visually, Jan feels most like production software.
text-generation-webui is marked mature and active. It has been the reference implementation for local LLM frontends for years. It accumulates features and receives regular updates. Koboldcpp is also mature and active—it is a fork maintained by a single person for several years, and it works reliably. Jan is marked active, not yet as mature, but it is the newest and is backed by a company, so it receives steady investment. If you need stability and breadth of community answers, text-generation-webui. If you need simplicity and small binary size, Koboldcpp. If you want a modern, maintained desktop experience with ongoing development, Jan.
Pick Koboldcpp if: You have 4GB RAM or less, you want a single executable with no dependencies, you need to run inference in a script or cron job, or you are testing the concept on old hardware before committing to a server.
Pick text-generation-webui if: You have 8GB+ RAM, you want to swap between different model backends (quantized, full precision, GPTQ) without restarting, you need a web UI accessible across your network, or you want the widest community support and most tutorials.
Pick Jan if: You are a solo developer or small team, you want a desktop app that feels professional and resembles ChatGPT, you want model downloads and management handled for you, or you prefer a company-backed project over community-maintained one.
All three tools are AGPL-3.0. That license requires you to share your source code if you distribute a modified or derivative version over a network. If you run one locally and do not distribute it, you have no obligation. If you build a SaaS product on top of one of these, you must open-source it or use a different license. Verify this with your legal team if you are planning commercial use—the license is the same, but the legal consequences depend on how you deploy the tool.