Back to guides
Compare·September 21, 2026·10 min read

Open WebUI alternatives: licence, BYOK, RAG and migration

Open WebUI is free to self-host for unlimited internal users, so price is rarely the reason to leave. Pick by which of four problems you actually have.

Last reviewed on .

Most searches for Open WebUI alternatives are not really about price: Open WebUI is free to self-host for unlimited internal users, and the project publishes no price at all. The reasons people actually leave are narrower — the licence stopped being standard open source at v0.6.6, a server is the wrong shape for one person, the custom-endpoint story does not fit their gateway, or they want someone else to host it. Each of those points at a different replacement, and the migration cost between them is very different.

One disambiguation first, because the search results mix in several similarly named but unrelated projects. Open WebUI is open-webui/open-webui, formerly Ollama WebUI. It is not AUTOMATIC1111's Stable Diffusion web UI, not OpenUI (generate a UI from a prompt), and not text-generation-webui, which was renamed to TextGen at oobabooga/textgen and is a local-model desktop app rather than a team frontend.

Start from why you are leaving

Reason you are lookingWhat is actually trueWhere to look
"It is no longer open source"Correct from v0.6.6 onward; code merged up to v0.6.5 stays BSD-3LibreChat (MIT), AnythingLLM (MIT), Jan (Apache-2.0 text)
"We are over 50 users"Backwards — unlimited internal users are free with branding keptStay. Read the licence section below before you migrate
"We need to white-label it"True gate: branding removal needs an enterprise licence, price not publishedLibreChat or AnythingLLM, whose licences do not restrict branding
"I am one person and do not want a server"Open WebUI has no desktop buildJan, Cherry Studio, Chatbox, ChatWise, Msty Studio
"My gateway does not fit its connection model"Chat Completions is first-class; other protocols have caveatsLibreChat, Jan or ChatWise, which take an Anthropic-shaped endpoint
"I want it hosted for me"The project sells no hosted productTypingMind, AnythingLLM Cloud, LobeHub Cloud

The licence, precisely — and the myth to stop repeating

The load-bearing lifecycle event is not a rename or an acquisition. It is a licence change. Per the project's licence documentation, all code submitted or merged up to and including release v0.6.5 remains BSD-3 licensed. From v0.6.6 the project ships under the bespoke Open WebUI License, a BSD-3 derivative with a branding-protection clause, and GitHub's repository API reports the licence as NOASSERTION rather than a recognised standard licence. GitHub Releases dates the boundary: v0.6.5 on April 14, 2025 and v0.6.6 on May 5, 2025. Note that the licence docs attach their own calendar date to the change — "Effective with v0.6.6 (April 19, 2025)" — which does not match the date GitHub records for that release, so cite the version rather than either date.

Now the correction. The licence text prohibits altering, removing, obscuring or replacing Open WebUI branding except in three circumstances, the first being a deployment "where the total number of end users … does not exceed fifty (50) within any rolling thirty (30) day period"; the other two are prior written permission from the copyright holder, and a duly executed enterprise licence. The licence docs separately list "Deploy to any number of internal users within your own organization (with all official branding kept)" as something the free licence allows. So the fifty-user figure is a branding exception, not a deployment cap — the opposite of what most comparison articles say. Copyright is held by Open WebUI Inc. [Created by Timothy Jaeryang Baek].

What the enterprise licence actually gates is white-labeling, branding removal and enterprise-only features. Its price is not published: the enterprise page asks you to "Send us your deployment end user count (seats)", and openwebui.com/pricing returned HTTP 404 when checked on September 21, 2026. Any per-seat figure you see elsewhere is either a managed-hosting vendor's price or invented.

The project itself is healthy on the numbers that matter: not archived, more than 150,000 stars, pushed to within days of this check, and stable release v0.11.3 published August 31, 2026 (Releases API). One sub-component is not: open-webui/pipelines, the plugin framework, was last pushed August 18, 2025. If your deployment depends on Pipelines, that cadence is worth weighing before you build more on it.

The shortlist, grouped by how you run it

ProductLicenceRuns asPublished priceRelease seen
Open WebUI (staying)Open WebUI License from v0.6.6; NOASSERTION on GitHubSelf-hosted server$0; enterprise is contact-sales, no figure publishedv0.11.3, Aug 31 2026
LibreChatMITSelf-hosted server$0; no paid tier foundNo release flagged latest; see note
AnythingLLMMITDesktop or Docker; managed cloud$0 self-host; Cloud Basic $50/monthly, Pro $99/monthly, Enterprise Contact Usv1.16.1, Aug 27 2026
LobeHub (was LobeChat)LobeHub Community License, Apache-2.0 plus added conditionsSelf-hosted or cloud$0 self-hosted; cloud Free $0, paid tiers belowv2.2.18, Sep 20 2026; canary and nightly tags in between
JanLICENSE file is Apache-2.0 text, copyright Menlo ResearchDesktop$0; jan.ai/pricing returns 404v0.8.4, Jul 23 2026
Cherry StudioAGPL-3.0 Community EditionDesktop$0; Enterprise Edition is "Buyout / Subscription Fee", no figurev2.1.0, Sep 18 2026
ChatboxGPL-3.0 (repo moved to chatboxai/chatbox)DesktopFree tier $0; paid Chatbox AI plans from $3.99/month billed monthlyv1.23.3, Sep 16 2026
ChatWiseClosed sourceDesktopFree "$0" for personal, non-commercial use; Pro "$29" one-time (from $49)Commercial, no public repo
Msty StudioClosed sourceDesktopFree "$0 Forever"; Aurum "$149 USD per user / year" or "$349 USD per user" lifetime; Enterprise & Teams "Talk to us"Commercial, no public repo
TypingMindClosed sourceHosted bring-your-own-key frontendStandard $39, Extended $79, Premium $99 (shown as 50% off $198); Bulk $395 for up to 10 users on 50 devicesCommercial, no public repo

Three caveats on that table, all checked September 21, 2026. LibreChat's newest tag is the prerelease v0.8.8-rc3 from September 15, 2026 and GitHub's /releases/latest returns 404, so no release is currently flagged latest — read the project's own changelog before pinning a version rather than trusting a number from a summary. LobeHub's pricing page disagrees with itself: the plan cards show Starter, Premium and Ultimate at $9.9, $19.9 and $39.9 per month while the comparison table on the same page shows $12.9 for Starter alongside a $118.8 yearly figure, so confirm the amount in checkout before you commit. And TypingMind's Premium price is under an advertised 50% promotion, which is the kind of number that rots fastest. Chatbox's paid tiers are for its own hosted models; per its bring-your-own-key guide, pointing it at your own key is the free path.

Two projects that show up in alternative lists and should not: Chatbot UI is MIT and not archived but its last push is August 3, 2024 and it has no releases, so it is dormant rather than a live option; and NextChat now describes itself as a zero-config assistant you sign up for with no API key needed, billed pay-as-you-go, rather than a pure bring-your-own-key frontend. Also worth separating in search: Jan is not Janitor AI, Msty Studio is not the MSTY exchange-traded fund, and LobeChat and LobeHub are one project after a rename, so pre-1.0 LobeChat setup tutorials are not current.

How each one takes a custom OpenAI-compatible endpoint

Each of the eight clients below documents a way to point it at a third-party endpoint. What differs is the configuration surface, the URL shape, and whether anything other than Chat Completions is possible. One column needs its question stated narrowly: "Anthropic Messages route" asks whether the client itself will send Anthropic-shaped requests to your endpoint. "None documented" there means the vendor's documentation describes no such mode — not that one is known to be absent.

ClientWhere you configure itURL shapeAnthropic Messages routeWatch out for
Open WebUIOPENAI_API_BASE_URL + OPENAI_API_KEY, or Admin Settings → ConnectionsBase URL, standard suffix /v1Not for its own chat traffic. Setting a connection's Provider to LiteLLM governs requests that arrive at Open WebUI's own Messages endpoint — those are handed on unconverted instead of being translated to Chat Completions and backThe Open Responses path is documented as experimental, and the docs warn that stateful mode breaks against the stateless third-party endpoints most proxies expose
LibreChatendpoints.custom[] in librechat.yamlBase URL; it appends /chat/completions unless you set directEndpoint: trueprovider: anthropic uses the native /v1/messages clientIn that mode models.fetch is not used — list models under models.default
AnythingLLM"Generic OpenAI" LLM providerOpenAI-compatible base URL + API keyNone documentedThe docs call it developer-focused and warn it may not function as intended if a setting is wrong
JanSettings → Model Providers → Add ProviderBase URL must include the version path, e.g. ending /v1Yes — an explicit "Anthropic-compatible" API formatCustom providers are not capability-detected; tick tools, vision and audio per model yourself
ChatWiseSettings → Providers → +Base URL + API key; models fetched from /models or added by handYes — OpenAI-compatible or Anthropic-compatible on creationModel ID, capability flags and context length are manual per model
LobeHubSettings → Language ModelProvider + API key, optional custom base URLNone documentedThe public providers docs page is currently an unfilled migration placeholder; the repo mdx is the real text
Msty StudioModel Hub → Model Providers → Add ProviderOpenAI-compatible endpoint + API keyNone documentedWhether the free tier can add one is not stated on the docs or the pricing page
TypingMindModels → Add Custom ModelThe full completions URL, e.g. …/v1/chat/completionsNone documentedA base-URL-shaped value will not work here; the key goes in a custom header

That table is sourced from each vendor's own documentation: Open WebUI's OpenAI-compatible and Open Responses connection pages, LibreChat's custom-endpoint reference, AnythingLLM's Generic OpenAI page, Jan's custom-endpoint docs, ChatWise's custom-provider docs, LobeHub's providers page, Msty's online-providers docs and TypingMind's model-connection docs.

Cherry Studio is deliberately absent from that table. Its documentation domain now redirects from docs.cherry-ai.com to docs.cherryai.com.cn, a Chinese-language site whose provider pages were not read for this page, so its field names and path convention are unverified here — check them in the app before copying any base URL from an older tutorial.

Two Open WebUI specifics worth knowing whichever way you go. Its provider-connection documentation notes that some providers do not implement /models at all, in which case connection verification fails but chat completions still work and you type model IDs in by hand. And it warns that Google's compatibility layer departs from the OpenAI streaming schema, recommending Function Calling be set to Legacy so tools run through a separate non-streaming request. That warning is about one vendor's layer, not about compatibility layers in general — but it is a useful reminder that tool calling arrives through whatever the upstream actually implements, and the frontend cannot fix a schema gap for you.

On the Kunavo side, /v1/chat/completions, /v1/messages and /v1/responses all exist as routes, so LibreChat's provider: anthropic, Jan's and ChatWise's Anthropic-compatible modes and Open WebUI's experimental Responses path each have a matching surface. None of these clients was runtime-tested against Kunavo for this page; a published setup guide is a configuration reference, not a compatibility test. A working LibreChat custom block looks like this:

librechat.yaml
endpoints:
  custom:
    - name: "Kunavo"
      apiKey: "${KUNAVO_API_KEY}"
      baseURL: "https://api.kunavo.com/v1"
      models:
        default: ["claude-sonnet-4-6", "claude-haiku-4-5"]
        fetch: true
      titleConvo: true
      titleModel: "claude-haiku-4-5"

For the general shape of this configuration across clients, see OpenAI-compatible API. For the two-product head-to-heads, LibreChat vs Open WebUI covers the setup friction and AnythingLLM vs Open WebUI covers RAG and deployment.

RAG: the part that does not follow the chat endpoint

Pointing a frontend at a chat endpoint does not point its retrieval pipeline anywhere. Open WebUI keeps separate credentials for it. Per its environment-variable reference, RAG_EMBEDDING_ENGINE selects the engine and RAG_OPENAI_API_BASE_URL / RAG_OPENAI_API_KEY carry its endpoint, exactly as image generation has its own IMAGES_OPENAI_API_BASE_URL. Left empty, RAG_EMBEDDING_ENGINE defaults to SentenceTransformers running locally — GPU acceleration for embeddings is opt-in via the CUDA image — so the default costs nothing per request. AnythingLLM splits the same way, configuring its LLM, its embedder and its vector database as separate providers. Chat compatibility therefore does not establish retrieval compatibility in either product.

That matters here for one concrete reason: embeddings are not served by Kunavo — no enabled model backs that endpoint — so the retrieval step stays local or points at an outside provider of your choosing. Budget it separately from chat, and keep it out of any gateway-migration plan. RAG implementation covers how the stages split up.

What migrates, and what you will rebuild

Set expectations before you start: chat history does not move between these products automatically. Open WebUI's import and export documentation says the export covers "All chat messages and their metadata, Model information used in each conversation, Timestamps and conversation structure", and that import accepts Open WebUI exports, ChatGPT exports and custom JSON — with the blunt line that for other platforms "There is no built-in converter". On the receiving side, LibreChat's import documentation lists ChatGPT, Claude and ChatbotUI v1, and does not mention Open WebUI. Two documented importers, no overlap.

AssetDoes it move?What to do
Chat historyOnly via a converter you writeExport to Open WebUI JSON, transform into the target's documented structure
Knowledge bases, workspace Models, Prompts, Tools, FunctionsNot covered by the documented exportThe import/export page is silent on these; assume you rebuild them, and verify in your own instance
Uploaded files and the vector storeOnly as files, with a whole-directory copyThey live in the data directory alongside webui.db
Users, roles and group permissionsNo documented export pathRecreate in the target's own access model
The database itselfNot between enginesThe scaling docs state plainly that Open WebUI "does not migrate data between databases"

That last row is the one to settle first even if you stay. Per the scaling documentation, the engine choice is effectively permanent once you have production data, multi-replica deployments need PostgreSQL plus Redis and an external vector database rather than SQLite and embedded Chroma, and for SQLite on network storage the only remedy the docs offer is moving to PostgreSQL rather than a tuning flag. A real whole-instance move is therefore a file-level copy of the data directory rather than an export file. The database maintenance tutorial places webui.db — with its -wal and -shm sidecars — at /app/backend/data inside the container, and the environment-variable reference describes DATA_DIR as the base directory "for data storage, including uploads, cache, vector database, etc.", and the audit log defaulting to audit.log inside that same directory. Copy the directory, not a list of files.

Back up before you touch anything. Confirm your own container name first — this is the shape, not a script to paste blind:

back-up-before-you-migrate.sh
# 1. Stop the instance so nothing writes mid-copy.
docker stop open-webui

# 2. Copy the whole data directory out of the container.
#    The documented location is /app/backend/data. DATA_DIR is
#    described as the base for uploads, cache, the vector database
#    and the audit log, so take the directory rather than webui.db.
docker cp open-webui:/app/backend/data ./open-webui-backup-$(date +%F)

# 3. Start it again and confirm the UI still loads before you touch anything.
docker start open-webui

Rollback plan: keep the old instance and its image tag intact and running while you trial the replacement, rather than migrating in place. Run both against the same endpoint for a week, move one team first, and only decommission the original after the new instance has survived a real workload. Because chat history does not transfer, a rollback after you have decommissioned the original means losing whatever was written in the new tool — which is a stronger argument for running them side by side than any feature comparison.

What the model side costs, whichever frontend you pick

None of these frontends bills tokens; the API behind them does. The figures below are illustrative token arithmetic, not measured costs and not a bill ceiling. Assume one person doing 10 conversations a working day, each sending 25,000 uncached input tokens across its turns and receiving 1,500 output tokens, over 20 working days — that is 5,000,000 input and 300,000 output tokens per person-month. Rates are live Kunavo catalog prices per million tokens.

ModelInput / output per 1MEstimate, one person-monthEstimate, five people
Claude Haiku 4.5$0.40 / $2.00$2.60$13.00
Gemini 3.8 Flash$0.525 / $2.625$3.41$17.06
GPT-5.6 Terra$0.70 / $4.20$4.76$23.80
Claude Sonnet 4.6$1.20 / $6.00$7.80$39.00
Claude Opus 5$2.00 / $10.00$13.00$65.00

Read it against the frontend prices rather than instead of them. A self-hosted frontend charges nothing per seat, so on these assumptions the whole team's Claude Sonnet 4.6 traffic models out at $39.00 a month while the same team on Claude Haiku 4.5 models out at $13.00 — a $26.00 monthly difference for identical assumed traffic, recurring every month rather than paid once. Which default model a frontend is pointed at is therefore a live budget decision in its own right, separate from the licence you pay for the app. Your real usage shape is what settles it, so measure your own conversations before budgeting. AI cost optimization covers how to do that measurement honestly.

Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost multiplied by the applicable markup. Cache charges and external tools sit outside this example. The minimum top-up is $10 in prepaid credit, which funds a balance rather than buying a seat or a plan — see billing details.

If you are staying on Open WebUI

That is a defensible outcome of this page, and for most teams it is the right one: the licence change restricts white-labeling rather than deployment size, the project is actively released, and nothing above is a reason to rebuild a working instance. What is worth doing either way is separating the frontend decision from the endpoint decision, so a future change of client does not also mean a change of provider and a new key. Kunavo publishes a configuration reference for this client — the Open WebUI integration guide — plus setup docs for LobeHub, Chatbox and Cherry Studio. Create a Kunavo account when you want one key and one prepaid balance behind whichever frontend you land on.

FAQ

What is the best Open WebUI alternative?

There is no single winner, because the four reasons people leave point at four different products. If you want a self-hosted multi-user server under a standard open-source licence, LibreChat is the closest like-for-like: MIT, actively developed, and its custom-endpoint block supports both the OpenAI protocol and a native Anthropic Messages route. If document chat is the real workload, AnythingLLM is MIT with free desktop and Docker builds. If you want a single-user desktop app instead of a server, Jan (free, Apache-2.0 licence text) and Cherry Studio (AGPL-3.0 community edition) are the free options, with Msty Studio and ChatWise as paid closed-source ones. If you want someone else to host the frontend, TypingMind is a hosted bring-your-own-key client with one-time licence pricing. Prices and release dates checked September 21, 2026.

Is Open WebUI still open source?

Not under a standard licence, and the boundary is a version rather than a date. Code merged up to and including release v0.6.5 remains BSD-3 licensed, per the project's own licence documentation. From v0.6.6 onward the project ships under the bespoke Open WebUI License, a BSD-3 derivative with an added branding-protection clause, and GitHub's repository API classifies the licence as NOASSERTION rather than a recognised open-source licence. The repository itself is active and not archived: more than 150,000 stars and commits landing within days of this check, with stable release v0.11.3 published August 31, 2026. So the project is alive and free to run; it is the licence category that changed.

Do I need an Open WebUI enterprise license for more than 50 users?

No, and the widely repeated version of this is backwards. Open WebUI's licence documentation lists deploying to any number of internal users within your own organisation, with all official branding kept, as something the free licence allows. The fifty-user figure comes from the branding clause: licensees are prohibited from altering, removing, obscuring or replacing Open WebUI branding except in three cases, the first of which is a deployment where the total number of end users does not exceed fifty within any rolling thirty day period. So the fifty-user line governs branding removal, not deployment size. An enterprise licence is what you buy to white-label, remove branding, or use enterprise-only features. Licence text and licence docs read September 21, 2026.

How much does Open WebUI cost?

Self-hosting costs nothing in licence fees, and the project publishes no price of any kind — openwebui.com/pricing returned HTTP 404 when checked on September 21, 2026, and the enterprise page asks you to send your end user count in seats rather than listing a figure. Your actual costs are the server you run it on and the model API bill behind it. Beware of third-party numbers: managed Open WebUI hosting vendors publish monthly prices for their hosting, which are their prices, not Open WebUI's.

Can I move my Open WebUI chats to LibreChat or another client?

Not automatically. Open WebUI's documented export covers chats only — all chat messages and their metadata, model information per conversation, and timestamps and conversation structure. Its import accepts Open WebUI exports, ChatGPT exports and custom JSON, and the documentation states there is no built-in converter for other platforms. On the other side, LibreChat's import documentation lists ChatGPT, Claude and ChatbotUI v1, and does not mention Open WebUI. So a cross-product move of chat history means writing a converter into the target's documented JSON structure. Documentation on both sides checked September 21, 2026.

Is there a hosted or cloud version of Open WebUI?

Not from the project. openwebui.com/pricing returns HTTP 404 and the only paid thing the project itself sells is a contact-sales Enterprise License. Third-party vendors do sell managed Open WebUI hosting, and some competing products offer their own managed cloud — AnythingLLM Cloud lists Basic at $50/monthly and Pro at $99/monthly with Enterprise as Contact Us, and LobeHub sells cloud tiers — but none of those is an official Open WebUI service. Checked September 21, 2026.

What is the best desktop alternative to Open WebUI?

Open WebUI is a server you host, so the desktop options are a category change rather than a swap. The free ones are Jan, whose LICENSE file is Apache-2.0 text with copyright Menlo Research and whose jan.ai/pricing URL returns 404, and Cherry Studio's AGPL-3.0 Community Edition. The paid closed-source ones are Msty Studio, which lists Free at $0 Forever and Aurum at $149 USD per user per year or $349 lifetime, and ChatWise, which lists Free at $0 for personal, non-commercial use and Pro at $29 one-time with one year of pro feature updates. Chatbox is GPL-3.0 with a free tier and optional paid Chatbox AI plans; its own key-based usage does not require a paid plan. Prices checked September 21, 2026.

Checked September 21, 2026 by reading each linked page or GitHub API response directly: Open WebUI's licence text, licence and enterprise docs, provider-connection, scaling and import/export docs, its repository and latest release, the 404 at openwebui.com/pricing, LibreChat's repository and import docs, and the published pricing pages for AnythingLLM, LobeHub, Msty, ChatWise and TypingMind. Also read directly: Open WebUI's Open Responses and environment-variable reference pages, LibreChat's custom-endpoint reference, AnythingLLM's Generic OpenAI page, Jan's and ChatWise's custom-provider docs, LobeHub's providers page (still a migration placeholder), Chatbox's bring-your-own-key guide, and the repository metadata for Pipelines, TextGen and the dormant Chatbot UI. Msty's and TypingMind's configuration steps are linked but were taken from documentation summaries rather than a full read. Cherry Studio's configuration fields remain unverified and are marked as such above. No client on this page was runtime-tested against Kunavo. Kunavo token rates read from the live catalog, and every dollar figure in the cost section is illustrative token arithmetic.