Skip to main content

Installation

Install React Router based on which mode you want to use. Each mode has different dependencies and setup requirements.

Framework Mode Installation

Framework Mode provides the full-stack experience with Vite integration, automatic type generation, and SSR support.

Install Dependencies

npm install react-router@latest
npm install -D @react-router/dev@latest
npm install @react-router/node@latest @react-router/serve@latest

Configure Vite

Update your vite.config.ts:
vite.config.ts
import { reactRouter } from "@react-router/dev/vite";
import { defineConfig } from "vite";

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

Add Scripts

Update your package.json:
package.json
{
  "scripts": {
    "dev": "react-router dev",
    "build": "react-router build",
    "start": "react-router-serve ./build/server/index.js",
    "typecheck": "react-router typegen && tsc"
  }
}
Framework Mode requires Node.js 20 or higher.

Server Adapters

For Framework Mode with SSR, choose a server adapter based on your deployment target:

Node.js

npm install @react-router/node
For Node.js environments like Express or standalone servers

Cloudflare

npm install @react-router/cloudflare
For Cloudflare Workers and Pages

Express

npm install @react-router/express
For Express.js integration

Optional Packages

File-based Routing

Use flatRoutes() for automatic route generation from your file system:
npm install @react-router/fs-routes
app/routes.ts
import { type RouteConfig } from "@react-router/dev/routes";
import { flatRoutes } from "@react-router/fs-routes";

export default flatRoutes() satisfies RouteConfig;

Verify Installation

1

Check package.json

Verify that react-router appears in your dependencies with the correct version.
2

Run type check

For Framework Mode, run npm run typecheck to generate types and verify setup.
3

Start dev server

Run your dev command (npm run dev) to ensure everything is configured correctly.

Next Steps

Quick Start Guide

Build your first React Router application

Build docs developers (and LLMs) love