Model or dataset
thesysdev/openui avatar
thesysdev/openui

OpenUI: An Open Standard for Generative UI

The Open Standard for Generative UI

9,858 stars688 forksTypeScriptMIT

At a glance

What is it?
OpenUI is a TypeScript framework for building generative user interfaces. It centers on OpenUI Lang, a streaming-first language that lets LLMs produce structured UI output, and provides first-party runtimes for React, Vue, Svelte, and Angular. It installs via the @openuidev/cli npm package.
Who is it for?
OpenUI is the right starting point for a team building an AI-powered chat interface, copilot, or application feature where the model needs to generate structured UI dynamically. It is not appropriate for static UI development where no LLM is involved, or for teams that need a battle-tested production runtime rather than an actively evolving framework.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What OpenUI Solves and Who It Is For

Standard LLM integrations treat model output as text. The application receives a string, parses it, and decides what to render. This works for simple chat responses but breaks down when the model needs to produce structured layouts: a form, a data table, a chart, or a multi-panel interface that changes based on user context.

OpenUI addresses this by giving the model a defined vocabulary of components to generate, and a language (OpenUI Lang) to express them in. The model produces structured output that a runtime can parse and render progressively as tokens arrive. The README states that OpenUI Lang uses up to 67% fewer tokens than JSON, which reduces inference cost and latency for UI generation tasks.

The primary audience is developers building AI-powered products: chat interfaces, copilots embedded in existing applications, and broader interactive features where the UI surface itself needs to respond to model output. The framework covers React, Vue, Svelte, and Angular through first-party runtimes, with a browser bundle for CDN, iframe, and no-build environments.

OpenUI Lang: A Streaming-First UI Language

OpenUI Lang is the language at the center of the framework. Unlike JSON, which must be fully parsed before being rendered, OpenUI Lang is designed for streaming: the renderer processes tokens as they arrive and updates the UI progressively. The README describes the flow: the developer defines a component library (or reuses a built-in one), generates a system prompt from that library, sends the prompt to a model, streams the OpenUI Lang output back to the client, and renders it with the Renderer.

The @openuidev/lang-core package handles the framework-agnostic parsing and prompt generation with no React, Angular, Vue, or Svelte dependency. Framework-specific packages (react-lang, vue-lang, svelte-lang, angular-lang) wrap the core with bindings appropriate for each runtime.

The README includes a flowchart showing the data path: Component Library feeds into System Prompt, which goes to the LLM, which returns an OpenUI Lang Stream, which the Renderer processes into Live UI. This makes the component library the authoritative specification for what the model can generate. Adding a new component to the library automatically updates the system prompt used to instruct the model.

Quick Start: Scaffolding a Chat App

The CLI provides a project scaffold that includes everything needed to run a working OpenUI chat application:

bash
npx @openuidev/cli@latest create --name genui-chat-app
cd genui-chat-app
echo "OPENAI_API_KEY=sk-your-key-here" > .env
npm run dev

The scaffolded app wires up OpenUI Lang support, library-driven prompt generation, streaming, and a working foundation with prebuilt UI. The CLI package is @openuidev/cli and the current version is 0.4.1, released on 2026-09-24.

A live playground is available at https://www.openui.com/playground, which allows generating UI using the default component library without any local setup. The ADOPTERS.md file in the repository tracks organizations that have adopted OpenUI in production.

The Package Ecosystem

OpenUI is organized as a monorepo managed with pnpm. The core packages cover distinct layers of the stack. @openuidev/lang-core handles parsing and prompt generation without any framework dependency. @openuidev/react-lang provides React rendering and component library definitions. @openuidev/react-headless offers headless chat state and streaming adapters for teams that want to bring their own chat UI. @openuidev/react-ui adds prebuilt chat layouts and built-in component libraries for the fastest path to a full React chat experience.

For teams using LangChain or LangGraph, @openuidev/langchain provides an agent transformer and server helpers that stream OpenUI through AG-UI. The @openuidev/react-email package extends the framework to email generation with HTML export. @openuidev/browser-bundle ships a prebuilt browser bundle for CDN and iframe environments, covering the renderer, UI library, React, and styles as a script and stylesheet pair.

The monorepo also includes an examples/ directory organized by app framework (React, Vue, Svelte, Angular), agent framework (LangChain, others), design systems, and cookbooks. The pnpm-workspace.yaml defines the workspace and requires Node 20.19.0 or later, or Node 22.12.0 or later.

Limitations and Early-Stage Considerations

OpenUI is a framework-level abstraction on top of LLM output. It does not include its own LLM. The user supplies an API key for OpenAI or another provider. The scaffold example uses an OPENAI_API_KEY environment variable; other providers require their own wiring in the component prompt generation layer.

The framework is actively releasing new versions; the @openuidev/react-ui and @openuidev/react-headless packages were both at 0.16.3 on 2026-09-24. Version numbers below 1.0.0 indicate that the API surface is not yet considered stable, and breaking changes across minor versions are possible. The CHANGELOG in the repository should be checked before any version upgrade.

The README includes a notice that OpenUI has no official cryptocurrency, token, or coin, and that any asset using the OpenUI name is unaffiliated with the project. This notice addresses a common confusion driven by the name, not a technical limitation.

For teams that do not need streaming UI generation and want a more mature component ecosystem, standard React libraries such as shadcn/ui or MUI provide large, stable component sets without any LLM dependency.

Comparing OpenUI to Building Without a Framework

Without OpenUI, a developer generating UI from a model typically has the model produce JSON or Markdown, then writes custom parsing code to turn that output into rendered components. This works for simple cases but becomes brittle as the component set grows, because the prompt and the parsing code must be kept in sync manually.

OpenUI formalizes this relationship. The component library is the single source of truth: it defines what the model can generate and how the renderer handles each component. Adding a new component updates both the prompt and the rendering automatically. The README describes this as prompt generation from your component library.

The token efficiency claim (up to 67% fewer tokens than JSON) matters for cost. A JSON payload for a structured form might use several hundred tokens; OpenUI Lang encodes the same structure in fewer. Over a high-volume deployment, this affects inference cost directly. The benchmark results are linked from the repository in the benchmarks/ directory.

License, Maintenance, and Community

OpenUI is licensed under MIT. The project is developed by thesysdev. The homepage is https://www.openui.com. The last push to the repository was on 2026-09-26, and releases are published frequently; the three most recent packages were all released on 2026-09-24.

The repository includes a SECURITY.md, CODE_OF_CONDUCT.md, and CONTRIBUTING.md. A Discord server is linked from the README for community discussion. The ADOPTERS.md file lists organizations using OpenUI in production.

The monorepo is managed with pnpm 10.33.0 and changesets for versioning. The build tooling uses tsdown for TypeScript compilation. Tests run with pnpm -r run test across all packages. The context7.json file in the repository root is a metadata file for the Context7 documentation indexing service.

Editorial conclusion

OpenUI is the right starting point for a team building an AI-powered chat interface, copilot, or application feature where the model needs to generate structured UI dynamically. It is not appropriate for static UI development where no LLM is involved, or for teams that need a battle-tested production runtime rather than an actively evolving framework. The last push was on 2026-09-26 and releases are frequent, so the API surface is moving; verify the changelog before pinning to a specific package version.

Frequently asked questions

What is OpenUI?

OpenUI is a TypeScript generative UI framework built around OpenUI Lang, a streaming-first language that lets LLMs produce structured UI output. It provides first-party runtimes for React, Vue, Svelte, and Angular, and a CLI to scaffold a working chat app.

How do I use OpenUI?

Run npx @openuidev/cli@latest create --name your-app-name to scaffold a project, set your LLM API key in a .env file, and run npm run dev. A live playground is also available at https://www.openui.com/playground.

What are the alternatives to OpenUI?

For static UI without LLM generation, React component libraries such as shadcn/ui or MUI provide stable, widely adopted component sets. For LLM-based UI generation without a dedicated framework, the alternative is writing custom JSON parsing and rendering code, which OpenUI replaces with a defined language and component library system.

Official sources

  1. Issues
  2. License: MIT
  3. Project website
  4. README
  5. thesysdev/openui on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/thesysdev-openui.svg)](https://hysenlabs.com/projects/thesysdev-openui)