Kita Html
The fastest server-side JSX runtime

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

npm
yarn
pnpm
bun
npm i @kitajs/html@next @kitajs/ts-html-plugin@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>
);

The Fastest JSX Runtime

No virtual DOM means no object tree sitting in memory. Rendering a 170 KiB page runs 2-3x faster than React, Preact, and HonoJsx, while allocating half the memory, all producing identical output.

🛡️

Compile-Time XSS Detection

The TypeScript plugin flags unsafe string interpolations in your editor as you type. The xss-scan CLI blocks them in CI. Vulnerabilities caught before they reach production, with no runtime penalty on safe paths.

🔄

Async 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.

📦

Zero Dependencies

The runtime ships with no dependencies. Small, predictable footprint for serverless functions, edge runtimes, and any environment where cold-start latency matters.

🎯

Type Safe

Complete JSX type definitions for every HTML5 element and attribute. HTMX, Alpine.js, and Hotwire Turbo type extensions are included and opt-in via triple-slash directives.

🔌

Framework Agnostic

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