<u-page-hero>

<code-group>

<prose-pre>

```ts
import { defineConfig } from 'vite'
import { nitro } from 'nitro/vite'

export default defineConfig({
  plugins: [nitro()],
  nitro: {
    serverDir: "./server"
  }
})
```
</prose-pre>

<prose-pre>

```ts
import { defineConfig } from 'nitro'

export default defineConfig({
  preset: "node",
  serverDir: "./server",
  routeRules: {
    "/api/**": { cache: true }
  }
})
```
</prose-pre>
</code-group>

<hero-background></hero-background>

Build /Servers

Nitro extends your Vite application with a production-ready server, compatible with any runtime. Add server routes to your application and deploy many hosting platform with a zero-config experience.

<app-hero-links></app-hero-links>
</u-page-hero>

<hero-features>

</hero-features>

<performance-showcase>

</performance-showcase>

<landing-features>

<feature-card>

File-system routing

Create server routes in the routes/ folder and they are automatically registered. Or bring your own framework — H3, Hono, Elysia, Express — via a server.ts entry.
</feature-card>

<feature-card>

Deploy everywhere

The same codebase deploys to Node.js, Cloudflare Workers, Deno, Bun, AWS Lambda, Vercel, Netlify, and more — zero config, no vendor lock-in.
</feature-card>

<feature-card>

Universal storage

Built-in key-value storage abstraction powered by unstorage. Works with filesystem, Redis, Cloudflare KV, and more — same API everywhere.
</feature-card>

<feature-card>

Built-in caching

Cache route handlers and arbitrary functions with a simple API. Supports multiple storage backends and stale-while-revalidate patterns.
</feature-card>

<feature-card>

Web standard server

Go full Web standard and pick the library of your choice. Use H3, Hono, Elysia, Express, or the raw fetch API — Nitro handles the rest.
</feature-card>

<feature-card>

Universal renderer

Use any frontend framework as your renderer. Nitro provides the server layer while your framework handles the UI.
</feature-card>

<feature-card>

Server plugins

Extend Nitro's runtime behavior with plugins. Hook into lifecycle events, register custom logic, and auto-load from the plugins/ directory.
</feature-card>

<feature-card>

Built-in database

Lightweight SQL database layer powered by db0. Pre-configured with SQLite out of the box, with support for PostgreSQL, MySQL, and Cloudflare D1.
</feature-card>

<feature-card>

Static & server assets

Serve public assets directly to clients or bundle server assets for programmatic access. Works seamlessly across all deployment targets.
</feature-card>
</landing-features>

<page-sponsors>

</page-sponsors>
