Introduction

Spark UI is an open-source collection of polished React components you install as source code.

Spark UI is a collection of polished React components, thoughtful interactions, and open-source building blocks for modern products. Every component is designed to feel alive — motion that gives feedback, focus states you can actually see, and defaults that hold up in real products. Built on React, Tailwind CSS v4, and Radix UI.

Think of it as shadcn/ui with motion and personality built in.

Why Spark UI?

Open code

Components are delivered as readable TypeScript source, not compiled bundles. You own the code, not a dependency.

Motion with purpose

Animation reinforces feedback and respects prefers-reduced-motion.

Composable

Small, single-purpose primitives that combine into full experiences, rather than monolithic widgets.

Theme ready

Styling flows through semantic CSS variables, so light mode, dark mode, and your own brand come free.

Accessible by default

Keyboard support, visible focus, and sensible ARIA are built in.

How it works

Spark UI is a shadcn-compatible source registry, not a traditional npm package. You don't add spark-ui to your dependencies and import from it at runtime. Instead, the shadcn CLI copies a component's source files directly into your codebase:

$ npx shadcn@latest add https://spark-ui-olive.vercel.app/r/accordion.json

From that point the code is yours: read it, restyle it, rip out the parts you don't need. That trade has real benefits:

  • No version lock-in. There is nothing to upgrade or pin; the code lives in your repo.
  • Full control. Change a spring curve or a color without forking a library.
  • Only what you use. Each component declares its own dependencies, and the CLI installs just those.

See the Installation guide for prerequisites, registry setup, and every install option.

Components

ComponentDescription
AccordionA vertically stacked set of interactive headings that reveal content.
AlertA callout for important information with default and destructive variants.
Alert DialogA modal dialog that interrupts the user for a confirmation.
Animated GradientWebGL-powered animated mist, lava, and plasma backgrounds with smooth silk-like flowing streams.
BadgeA small status label with default, secondary, destructive, and outline variants.
Basic Number TickerAn animated number ticker component with customizable start, target, transitions, and callbacks.
BreadcrumbA navigation trail showing the current page's location in the hierarchy.
ButtonA button with default, secondary, outline, ghost, destructive, link, and spark variants.
CardA container with header, title, description, content, and footer sections.
CheckboxA control that toggles between checked and unchecked.
DialogA modal window overlaid on the page with an optional close button.
Dropdown MenuA menu of actions opened from a trigger element.
EmptyAn empty state with media, title, description, and content slots.
Ghost EtherWebGL-powered interactive fluid simulation with dynamic FBM mist and wandering spirit force trails using three.
Hover CardA card preview shown when hovering a trigger element.
Image TrailA framed mouse-tracking image trail with momentum, captions, and customizable styling.
InputA standard form input styled to match shadcn/ui.
KanbanA composable drag-and-drop task board styled to match shadcn/ui.
Logo CarouselA beautiful, high-performance scrolling logo carousel component with pausing, custom directions, speed, and fade effects.
PaginationA beautiful pagination component with multiple variants, colors, and smooth animations.
PopoverA floating panel anchored to a trigger element.
ProgressA bar indicating the completion progress of a task.
QR CodeA beautiful QR code component with dot styling, gradient support, and extensive color customization.
SeparatorA horizontal or vertical line separating content.
SheetA slide-over panel that extends from any edge of the screen.
Shimmer TextA premium text component with an elegant shimmer animation effect.
SkeletonA pulsing placeholder shown while content loads.
Spotify CardA premium Spotify card with real-time metadata and morphing animations.
SwitchA toggle control that switches between on and off.
TableA responsive table with header, body, footer, and caption sections.
Tactile HighlightA fluid text highlight component that reacts to viewport visibility and user interaction.
TextareaA multi-line text input field.
ToggleA two-state button that can be toggled on or off.
TooltipA short label shown when hovering or focusing an element.

More components are being actively developed. See the roadmap or follow the repo for updates.

Contributing

Spark UI is open source. If you want to add a component or improve an existing one, the guide in CONTRIBUTING.md walks through the full workflow, from source file to published registry item.