Libre WebUI Interface
Open Source & Self-Hosted

Libre WebUI

v0.11.0 What's new?
Release Notes View all →
✨ New Features
  • Added optional Cloudflare Turnstile protection for public account creation, configured from backend environment variables and rendered only when enabled.
  • Added Tailscale-friendly development hosting/origin support so Libre WebUI can be reached from another device during local development.
  • Added Playwright e2e coverage for demo login, one-user mode, artifact detection/rendering, artifact resize behavior, cloud-model regression coverage, mobile sidebar behavior, and async locale loading.
🔧 Improvements
  • Set blue as the default accent color and polished the remaining auth, artifact demo, badge, icon, logo, and model-flow surfaces to follow the current design system.
  • Improved artifact reliability for multi-file HTML, filename-qualified bundles, standalone full HTML documents, local file reference cleanup, and themed empty/fallback preview states.
  • Made artifact pane resizing release pointer state correctly so the pane no longer feels stuck to the mouse after resize.
  • Made code-block streaming smoother with requestAnimationFrame-coalesced updates, a lightweight streaming code renderer, lazy rich markdown rendering, and split markdown/math/highlighting chunks.
  • Reworked title generation so it honors the existing toggle, resolves the current running model correctly, supports plugin-backed title generation, falls back to Ollama, and sanitizes generated titles.
  • Split major backend chat orchestration into focused services for WebSocket handling, shared chat context, assistant completion persistence, plugin streaming, Ollama streaming, title generation, and request preparation.
  • Split plugin capabilities into smaller adapters/services for chat, streaming, embeddings, image generation, TTS, validation, uploads, variables, and provider response conversion.
  • Slimmed large frontend surfaces by extracting Settings tabs, Model Manager sections, Model Selector tabs, Persona Form tabs, Sidebar sections, API domain clients, and chat store helpers.
  • Added gated frontend/backend loggers and routed noisy development diagnostics through explicit debug controls.
  • Updated release tooling with a security preflight and kept the production build free of the previous large chunk warnings.
🐛 Bug Fixes
  • Fixed toggled session title generation so titles are generated only when the option is enabled.
  • Fixed demo mode persona avatars so bundled/local demo images render correctly.
  • Fixed chat routing and settings state edge cases after the shared generation refactor.
  • Fixed dark-mode artifact demo surfaces so generated previews no longer fall back to the old default blue styling.
  • Added regression coverage around cloud model suffix handling without re-documenting the 0.10.0 cloud model feature itself.
🔒 Security & Dependencies
  • Remediated npm security advisories and refreshed dependency locks after 0.10.0, including updates around multer, undici, ws, ip-address, brace-expansion, tmp, and qs.
  • Added npm audit to the release preflight path and verified the package lock reports zero vulnerabilities after the release update.
  • Updated GitHub Actions dependencies, including actions/checkout, and hardened the release workflow checks before publishing.
📚 Documentation
  • Refreshed the README to describe the current Libre WebUI product, model/provider story, install paths, and project positioning.
  • Audited and rewrote the project docs so the model examples, setup guidance, plugin docs, auth docs, artifacts docs, environment variables, and deployment guides match the current application.
  • Updated DESIGN.md with the current blue-accent direction and UI guidance without repeating the 0.10.0 custom-accent release notes.
⚠️ Breaking Changes
  • No known user-facing breaking changes. The plugin and chat internals were heavily refactored, but existing plugin configuration and normal app workflows remain compatible.

A polished self-hosted AI workspace for local Ollama models, cloud providers, personas, documents, and interactive artifacts. Private by default. Built to stay yours.

npx libre-webui

Requires Node.js 18+ and Ollama for local AI

Libre WebUI Interface
Zero Telemetry
Self-Hosted
Apache 2.0
Plugin System

Built for Real AI Workflows

Chat, inspect, generate, and extend from one focused workspace

Interactive Artifacts

Chat beside the things your model builds.

Render HTML, SVG, and React components directly in chat. Live preview with full-screen mode.

Local & Cloud AI Document Chat (RAG) Plugin Variables

Local & Cloud AI

Run models locally with Ollama or connect to OpenAI, Anthropic, Groq, Gemini, Mistral, and more. Your choice.

Document Chat (RAG)

Upload PDFs, docs, and text files. Ask questions about your documents with semantic search and vector embeddings.

Interactive Artifacts

Render HTML, SVG, and React components directly in chat. Live preview with full-screen mode.

AES-256 Encryption

Enterprise-grade encryption for all your data. Chat history, documents, and settings are encrypted at rest.

Custom Personas

Create AI personalities with unique behaviors and system prompts. Import/export personas as JSON.

Text-to-Speech

Listen to AI responses with multiple voice options. Supports browser TTS and ElevenLabs integration.

Image Generation

Generate images with ComfyUI and Flux models. Multiple sizes, quality presets, and seamless chat integration.

Plugin Variables

Per-plugin configurable settings like temperature, endpoints, and tokens. Sensitive values are encrypted at rest.

Keyboard Shortcuts

VS Code-inspired shortcuts for power users. Navigate, toggle settings, and control everything from the keyboard.

Multi-User Support

Role-based access control with SSO support. GitHub and Hugging Face OAuth built-in.

Connect to Any Provider

One interface, unlimited possibilities

Ollama
Local models
OpenAI
GPT-4o, o1, o3
Anthropic
Claude 4, Opus
Groq
Llama, Mixtral
Google
Gemini Pro
Mistral
Mistral Large
OpenRouter
400+ models
HuggingFace
1M+ models
+ Custom
Any OpenAI-compatible API

Get Started in Seconds

Choose your preferred installation method

Recommended

npx (One Command)

npx libre-webui

Runs instantly. No installation required.

npm (Global Install)

npm install -g libre-webuilibre-webui

Install once, run anywhere.

Docker

docker run -p 8080:8080 libre-webui/libre-webui

Containerized deployment.

Create Custom Plugins

Connect any OpenAI-compatible LLM with a simple JSON file

Available Plugins

Official plugins from the Libre WebUI repository. Click to view or download.

Loading plugins from GitHub...
📄 custom-model.json
{
  "id": "custom-model",
  "name": "Custom Model",
  "type": "completion",
  "endpoint": "http://localhost:8000/v1/chat/completions",
  "auth": {
    "header": "Authorization",
    "prefix": "Bearer ",
    "key_env": "CUSTOM_MODEL_API_KEY"
  },
  "model_map": [
    "my-fine-tuned-llama"
  ],
  "variables": [
    {
      "name": "temperature",
      "type": "number",
      "label": "Temperature",
      "default": 0.7,
      "min": 0, "max": 2
    }
  ]
}

Create Your Own Plugin

1

Start Your LLM Server

Run any OpenAI-compatible server: llama.cpp, vLLM, Ollama, or a custom FastAPI server.

2

Create Plugin JSON

Define your endpoint, authentication, and available models in a simple JSON file.

3

Upload to Libre WebUI

Go to Settings > Providers, upload your plugin, and enter your API key.

4

Start Chatting

Your custom models appear in the model selector. Full privacy, full control.

Plugin Fields Reference

id Unique identifier (lowercase, hyphens allowed)
name Display name shown in the UI
type "completion" for chat, "tts" for text-to-speech
endpoint API URL (e.g., /v1/chat/completions)
auth.header Auth header name (Authorization, x-api-key)
auth.prefix Key prefix ("Bearer " or empty)
auth.key_env Environment variable for your API key
model_map Array of available model identifiers
variables Configurable settings (temperature, endpoint, etc.)

Ready to Own Your AI?

Join thousands of users who value privacy and control.