CLI tool
elevenlabs/ui avatar
elevenlabs/ui

ElevenLabs UI: shadcn/ui Components for Voice Agents and Audio Players

ElevenLabs UI is a component library and custom registry built on top of shadcn/ui to help you build multimodal agents faster.

2,386 stars170 forksTypeScriptMIT

At a glance

What is it?
ElevenLabs UI is an MIT-licensed React component registry built on shadcn/ui for orbs, waveforms, voice agents and audio players. It installs through the shadcn CLI or the ElevenLabs CLI, and it assumes a Next.js project with Tailwind already in place.
Who is it for?
Adopt ElevenLabs UI if you already run shadcn/ui and Tailwind in a Next.js app and want prebuilt audio and agent surfaces rather than designing an orb or a waveform from scratch. Do not adopt it if you are not on shadcn/ui, if you need Vue or a non-React framework, or if you expect the registry to ship the agent logic itself; the README describes components, and the ElevenLabs API sits outside this repository.
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 1 day 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 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What ElevenLabs UI actually ships

The README describes ElevenLabs UI as a component library built on top of shadcn/ui to help you build audio and agentic applications faster. The concrete artifacts are prebuilt React components: orbs, waveforms, voice agents, audio players, and the README's "and more". This is not a runtime SDK and not a hosted service. Nothing in the repository installs an ElevenLabs client or an API key. What you get is interface code that lands in your own project's components directory, where you are expected to edit it.

The audience is narrow on purpose. If your product has a speaking agent, a recording surface, or a playback control, the visual vocabulary is already decided for you. If you are building a dashboard with tables and forms, there is nothing here for you. The library is also React-only in everything the README shows: every install path assumes a Next.js project, and the prerequisites section names Next.js explicitly.

The registry model and how components reach your codebase

The mechanism is a registry, not a package. shadcn/ui popularized this pattern: instead of adding a dependency and importing from node_modules, the CLI fetches component source over HTTP and writes it into your repository. ElevenLabs UI exposes its registry at https://ui.elevenlabs.io, with a combined endpoint at /r/all.json and per-component endpoints such as /r/orb.json.

That choice has consequences worth naming. Because the code is copied in, you own it and can modify it without forking anything, and there is no version range to resolve at install time. The trade-off is the mirror image: upgrading means re-running the add command and reconciling whatever you changed locally. The README does not document a rollback path, a diff command, or an upgrade command, so treat each add as a one-way write into your tree unless you are tracking the changes yourself in git.

The repository itself is a pnpm and Turborepo workspace, with apps/ and packages/ at the top level and a build:registry script that regenerates the published registry. If you only consume components, none of that matters. It matters if you plan to contribute a component, because your change has to survive that registry build.

Installing ElevenLabs UI and rendering an orb

The README lists three prerequisites before anything else: Node.js 18 or later, shadcn/ui initialized in your project, and Tailwind CSS configured. If shadcn/ui is not initialized, the README gives the command for that.

bash
npx shadcn@latest init

With the prerequisites in place, you have two install routes. The ElevenLabs CLI is the one the README recommends for direct use.

bash
npx @elevenlabs/cli@latest components add orb

Or you can go through the standard shadcn CLI and pull the same component from the registry URL.

bash
npx shadcn@latest add https://ui.elevenlabs.io/r/orb.json

Both routes write the orb component into your configured components directory. To take everything at once, the README gives a single command, and it also states what that command does: it sets up shadcn/ui if it is not already configured, installs all ElevenLabs UI components into your components directory, and adds the necessary dependencies to your project.

bash
npx @elevenlabs/cli@latest components add all

After the command finishes, the component files should be present in your project and importable like any other local component. The README does not show a usage snippet for the orb, so the import name and props are not documented in the repository's README; the component list at ui.elevenlabs.io/docs/components is where per-component detail lives.

Where the registry approach gets in your way

The most obvious limitation is the framework lock. Every install instruction assumes Next.js, and the prerequisites name it directly. If your application is Vue, Svelte, or plain React without Next.js, the CLI has no documented path for you. The related searches suggest people are looking for a Vue version; the repository gives no indication that one exists.

The second limitation is that copying source into your project makes upgrades a manual reconciliation job. There is no lockfile entry pinning a component version, so nothing tells you that the orb you installed three months ago has changed upstream. You find out by re-running the add command and looking at the diff.

Third, the repository's README is thin on component-level documentation. It tells you how to install and where to browse, and it names the component categories, but it does not document props, events, or the audio wiring behind a waveform. That is a deliberate split: the docs site carries the detail. If you evaluate this library by reading the GitHub README alone, you will come away with less than the project actually offers, and you will also miss constraints that only appear on the component pages.

Finally, the scope boundary matters. The README describes a component library. It does not describe agent orchestration, speech synthesis, or API authentication. If you were hoping the registry would give you a working voice agent end to end, it gives you the surface, not the engine.

ElevenLabs UI against the plain shadcn/ui registry

The honest comparison is not against a different component library. It is against using shadcn/ui on its own. shadcn/ui gives you the base primitives: buttons, dialogs, inputs, and the copy-in registry mechanism that ElevenLabs UI reuses. What it does not give you is anything audio-shaped. There is no orb, no waveform, no voice agent surface, and no audio player in the base set.

So the difference in approach is one of domain, not of architecture. ElevenLabs UI is the same registry pattern with a different catalogue. If you already use the shadcn CLI, the mental model carries over unchanged, and you can mix both registries in one project because the install command is the same shape. The cost of that compatibility is that ElevenLabs UI inherits shadcn/ui's constraints: Tailwind is required, the components arrive as source you maintain, and there is no framework-agnostic build. A team that has deliberately moved off shadcn/ui gets no benefit from this library at all, since the install path assumes it.

Maintenance, licensing and what an upgrade costs you

The repository is not archived, and its last push was on 2026-09-14, one day before the date used for this assessment. The single release listed is v1.0.0, dated 2025-10-10, described as "Introducing ElevenLabs UI". The version field in the root package.json is 0.0.1, which is consistent with a private workspace root rather than a published package; the root package.json is marked private and the license field there reads MIT.

On the repository side, maintenance is a conventional pnpm and Turborepo setup: turbo run build, lint, typecheck, and format scripts, a vitest workspace, commitlint and Kodiak configuration, and a registry build step that regenerates the published JSON. If you contribute, expect your component change to go through that pipeline and the contributing guide referenced in the README.

For consumers, the maintenance cost is not dependency drift, because there is no dependency to drift. It is the cost of re-running the add command and merging. Budget for that the same way you would budget for any vendored code.

Licensing is MIT, stated in both the README and the root package.json, with the license file at LICENSE.md. MIT is permissive and permits commercial use and modification. That is the extent of what the repository states; it is not legal advice, and if your organisation has specific obligations around attribution or redistribution, the LICENSE.md file is the thing to read.

Editorial conclusion

Adopt ElevenLabs UI if you already run shadcn/ui and Tailwind in a Next.js app and want prebuilt audio and agent surfaces rather than designing an orb or a waveform from scratch. Do not adopt it if you are not on shadcn/ui, if you need Vue or a non-React framework, or if you expect the registry to ship the agent logic itself; the README describes components, and the ElevenLabs API sits outside this repository. Before adding anything, run the prerequisites check the README lists (Node.js 18 or later, shadcn/ui initialized, Tailwind configured) and read the component page at ui.elevenlabs.io/docs/components for the specific component you plan to install, because that page, not the README, is where per-component behaviour is documented.

Frequently asked questions

Is ElevenLabs UI open source?

Yes. The repository is public, is licensed under MIT according to both the README and the root package.json, and the licence file is LICENSE.md. ElevenLabs also publishes a separate open source list, but this answer covers only this repository.

What are the UI components in ElevenLabs UI?

The README names orbs, waveforms, voice agents, audio players, and describes the set as including more than those. The full list is on the components page at ui.elevenlabs.io/docs/components, and example components are listed at ui.elevenlabs.io/blocks.

What are the UI features of ElevenLabs UI?

The README frames the library as prebuilt, customizable React components for agent and audio applications, and the CLI adds them to a Next.js project. It requires Node.js 18 or later, an initialized shadcn/ui setup, and Tailwind CSS.

Official sources

  1. elevenlabs/ui on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes