What is Kiwa UI?
Kiwa UI is a component library and CLI built for Hono. You get SSR-first primitives, marketing sections, dashboard UI, and AI interfaces, with full starter kits on the way. Every piece renders to HTML on the server with zero client JavaScript by default.
Kiwa UI is an independent project, not affiliated with or endorsed by the Hono team or hono.dev. Hono is a trademark of its respective owner.
Components use Hono's JSX renderer, not React, so there are no hooks, no forwardRef, and no runtime to ship. Copy the source into your project, own it forever, and add richer interaction progressively through the optional @kiwa-ui/enhance package.
SSR-first
Every primitive renders to HTML on the server. Pages are fast by default and work before any JavaScript loads.
Hono JSX, not React
Use class, not className. No hooks, no providers, no virtual DOM on the client.
Copy-in, not install
Source files land in your repo. Edit freely. There are no versioned abstractions to fight with.
Progressive enhancement
Baseline behavior works without JS. Opt into richer interaction per-component with @kiwa-ui/enhance.
What's in the registry
The registry is the source of truth for every primitive and block. The CLI fetches items from https://registry.kiwaui.com, resolves their dependencies, and writes the files into your project.
UI primitives
Around 50 free primitives: buttons, inputs, dialogs, dropdowns, sidebars, charts, and more. Source lives in registry/ui/.
Free blocks
Marketing sections built from the primitives. Heroes, features, pricing, CTAs, blog cards, contact forms, ready to drop into a landing page.
Pro blocks
Marketing variants, dashboard UI (charts, tables, filters, search, activity feeds), AI chat surfaces, and full page templates. Unlock with a license.
Starter kits (coming soon)
Opinionated app scaffolds for SaaS, dashboard admin, and AI workflows. Launching after V1.
The public API exposes GET /r/:name.json for individual items and GET /r/index.json for the full list. Paid items require a Bearer token.
Runtime compatibility
Kiwa UI targets every runtime Hono itself supports. Components are plain functions that return JSX. There is nothing runtime-specific about them.
| Runtime | Notes |
|---|---|
| Bun | First-class, including bun create starters. |
| Cloudflare Workers | Deploys at the edge with Wrangler. No Node polyfills needed. |
| Deno | Works out of the box with Hono's Deno runtime. |
| Node | Runs via @hono/node-server. |
Who it's for
Kiwa UI is for developers building on Hono who want production-ready UI without shipping a SPA runtime. Whether you're assembling a marketing site, a dashboard, or an AI agent interface, Kiwa UI gives you the primitives, blocks, and pages to move quickly.
The focus is SSR performance and edge-runtime portability. Every primitive and block is written in Hono JSX, renders to HTML on the server, and works before JavaScript loads. Progressive enhancement lights up interaction when you need it.