Overview
OpenUI turns a plain-language description into a working interface you can see immediately. You iterate by asking for changes, then export the result as HTML or convert it to React, Svelte or Web Components. Weights & Biases built it to prototype its own tools and released it as open source. There's a public demo, but most people run it locally with their own API keys.
Key capabilities
- Prompt to UI: describe a component or page and see it rendered live.
- Iterate: ask for changes in follow-up prompts.
- Framework export: convert HTML to React, Svelte or Web Components.
- Any model: OpenAI, Anthropic, Gemini, Groq, Mistral, Ollama and LiteLLM-supported providers.
Tradeoffs
- Best for components and prototypes, not full applications with data and backends.
- Local Ollama models via Docker Compose can be very slow without a GPU.
- Less polished than commercial tools such as v0.
Ideal for
- Quick UI prototypes
- Developers who want a self-hosted v0-style tool
- Trying UI generation with local models
Not ideal for
- Production app generation
- Non-technical users who don't want to run Docker
Getting started
- Export the API keys for the providers you want, for example
OPENAI_API_KEYorANTHROPIC_API_KEY. - Run the Docker image:
docker run --rm -p 7878:7878 -e OPENAI_API_KEY -e ANTHROPIC_API_KEY ghcr.io/wandb/openui. - Open localhost:7878 and describe the UI you want.
- Ask for changes, then convert the result to React, Svelte or Web Components.
Technical notes
- Run:
docker run -p 7878:7878 ghcr.io/wandb/openui - Backend: Python, with LiteLLM support
- License: Apache-2.0
- Source: wandb/openui
- GitHub stars: 22,751 (as of 2026-11-12)