Components that work together
From buttons and inputs to dialogs and data tables. Consistent APIs and shared tokens across every package.
Accessible components. Flexible themes. Clean, typed APIs. Build your interface with Ninna UI and make it your own.
Built with Field, Input, Switch, Badge, and Button.
Start with a complete pattern. Copy the source, adapt the details, and make it yours.
The foundation
The essentials of a reliable interface, designed to fit your workflow.
From buttons and inputs to dialogs and data tables. Consistent APIs and shared tokens across every package.
Style with the utilities you already use. CSS-first configuration, with no tailwind.config.ts to maintain.
Radix-powered interactions, keyboard navigation, and focus management give you a dependable starting point.
Five presets, light and dark modes, and semantic color tokens. Configure your design system in CSS.
Modular, tree-shakeable packages with TypeScript support. Add components as your application grows.
Use className and the data-slot API to adjust components precisely, without maintaining a fork.
Whether you're shipping a SaaS MVP or unifying a design system across dozens of products, Ninna UI adapts to your workflow.
Ship product, not a design system.
Stop reinventing forms, tables, and modals. Ninna UI gives your team a battle-tested foundation so you can focus on the features that differentiate your product.
A foundation that matches your brand.
5 theme presets and a full CSS custom-properties API let you drive every color, radius, and spacing value from a single CSS file - no provider wrappers.
From idea to launch in a weekend.
One CLI command bootstraps a production-ready React app with auth pages, dashboard scaffolding, and your chosen theme. Build faster and keep shipping.
Deliver polished UIs on every project.
Reuse the same component vocabulary across every client. Swap themes per project, keep code consistent, and bill for strategy-not boilerplate.
Powered by modern web standards
Theming
Switch your entire design system instantly. No JavaScript providers, no React Context, no re-renders. Try a preset here or in the header to preview it across the whole website.
Dark mode
Push Notifications
Light to dark cascading scales
Quickstart
Install the packages, import a theme, and build with components.
npx @ninna-ui/cli init my-app
# Or install manually:
pnpm add @ninna-ui/core@latest @ninna-ui/primitives@latest @ninna-ui/forms@latestInstall only what you need. Every package is strictly typed, independently versioned, and fully tree-shakeable.
Install your first component, choose a theme, and start building. Open source and MIT licensed.