Nitro

Nitro

Universal server engine for building web servers anywhere

Features

  • Universal deployment to any provider (Vercel, Cloudflare, AWS, etc.)
  • File-based routing for API endpoints
  • Auto-imports and zero-config TypeScript
  • Built-in caching, storage, and task scheduling

Pros

  • Deploy anywhere with zero configuration changes
  • Powers Nuxt 3 server engine in production
  • Hot module reloading in development

Cons

  • Primarily designed for Nuxt ecosystem
  • Documentation can lag behind rapid development
  • Less standalone adoption compared to Express or Fastify

Overview

Nitro is a universal server engine from the UnJS ecosystem that powers Nuxt 3’s server layer. It provides a framework for building web servers that can be deployed to any hosting provider — Node.js, Cloudflare Workers, Vercel Edge, Deno Deploy, AWS Lambda, and more — without changing your code.

Nitro uses file-based routing for API endpoints, auto-imports utilities, and provides built-in support for caching, key-value storage, and scheduled tasks. Its universal preset system handles the build output differences between hosting providers automatically.

When to Use

Nitro is ideal when you need universal deployment across providers, when building the server layer for a Nuxt 3 application, or when you want file-based API routing with automatic provider-specific build optimization.

Getting Started

npx giget@latest nitro my-app
cd my-app && npm install && npm run dev
// server/routes/hello.ts
export default defineEventHandler(() => {
  return { message: "Hello from Nitro" };
});