Introduction

Nitro is a full-stack server framework, compatible with any runtime and any deployment target.

Nitro gives you a production-ready server with filesystem routing, code-splitting, and built-in support for storage, caching, and databases — all runtime-agnostic and deployable anywhere.

What is Nitro?

Create server and API routes inside the routes/ directory. Each file maps directly to a URL path, and Nitro handles the rest — routing, code-splitting, and optimized builds.

You can also take full control of the server entry by creating a server.ts file. Nitro’s high-level, runtime-agnostic approach lets you use any HTTP library, such as Elysia, h3, or Hono.

Performance

Nitro compiles your routes at build time, removing the need for a runtime router. Only the code required to handle each incoming request is loaded and executed. This makes it ideal for serverless hosting, with near-0ms boot time regardless of project size.

Deploy Anywhere

Build your server into an optimized .output/ folder compatible with Node.js, Bun, Deno, and many hosting platforms without any configuration — Cloudflare Workers, Netlify, Vercel, and more. Take advantage of platform features like ESR, ISR, and SWR without changing a single line of code.

Server-Side Rendering

Render HTML with your favorite templating engine, or use component libraries such as React, Vue, or Svelte directly on the server. Go full universal rendering with client-side hydration. Nitro provides the foundation and a progressive approach to reach your goals.

Storage

Nitro includes a runtime-agnostic key-value storage layer out of the box. It uses in-memory storage by default, but you can connect more than 20 different drivers (FS, Redis, S3, etc.), attach them to different namespaces, and swap them without changing your code.

Caching

Nitro supports caching for both server routes and server functions, backed directly by the server storage (via the cache namespace).

Database

Nitro also includes a built-in SQL database. It defaults to SQLite, but you can connect to and query more than 10 databases (Postgres, MySQL, PGLite, etc.) using the same API.

Meta-Framework Foundation

Nitro can be used as the foundation for building your own meta-framework. Popular frameworks such as Nuxt, SolidStart, and TanStack Start fully or partially leverage Nitro.

Vite Integration

Nitro integrates seamlessly with Vite as a plugin. If you’re building a frontend application with Vite, adding Nitro gives you API routes, server-side rendering, and a full production server — all built together with vite build.

vite.config.ts
import { defineConfig } from "vite";
import { nitro } from "nitro/vite";

export default defineConfig({
  plugins: [nitro()],
});

With Nitro, vite build produces an optimized .output/ folder containing both your frontend and backend — ready to deploy anywhere.

Ready to give it a try? Jump into the quick start.