Kita Html
The fastest server-side JSX runtime

JSX that compiles to plain strings, not a virtual DOM.
No diffing and no serialization.

npm
yarn
pnpm
bun
npm i @kitajs/html@next && npm i -D @kitajs/html-cli@next typescript@next
Doug the Kita turtle
index.tsx - /dev/example
index.tsx×
output.html×
1
2
3
4
5
6
7
 
fs.writeFileSync(
'output.html',
<p>
Hello,
<b safe>{user.name}</b>!
</p>
);
 
⚡

Fast JSX runtime

No virtual DOM means no object tree in memory. Rendering a 170 KiB page runs 2-3x faster than React, Preact, and HonoJsx and allocates 40-50% less memory. The output is identical.

🛡️

Compile-time XSS detection

kita-html check uses the TypeScript 7.1 type checker to flag unsafe string interpolations in CI and editor problem panels. The checks run at compile time and add no runtime cost.

🔄

Async components and streaming

Async children automatically make their parents async. Suspense streams HTML via chunked transfer encoding, sending a fallback instantly and replacing it when the promise resolves.

📦

Built for HTML output

Kita Html is at its best when the result you need is HTML, like SSR pages, HTMX-style apps, email templates, static HTML, and HTTP handlers that return strings directly.

🎯

Full HTML type coverage

JSX type definitions for HTML elements and attributes. HTMX, Alpine.js, and Hotwire Turbo type extensions are included and opt-in via triple-slash directives.

🔌

Works with any server

The output is a plain string. Kita Html integrates with Fastify, Express, Hono, Bun, or any server that returns strings.