Next.js App Router vs Pages Router

Next.js App Router vs Pages Router

An in-depth comparison of Next.js App Router and Pages Router. Understand the differences, benefits of React Server Components, and migration strategies.

Published June 10, 2026
Updated June 10, 2026
Flutter

The Evolution of Next.js

With the release of Next.js 13, Vercel introduced the App Router (/app), a paradigm shift from the traditional Pages Router (/pages). The App Router brings React Server Components (RSC) to the forefront, enabling faster loads and smaller JavaScript bundles.

Key Differences

  • Routing: Pages Router uses file-based routing where every file is a route. App Router uses folder-based routing, where only folders containing a page.tsx become public routes.
  • Data Fetching: App Router drops getServerSideProps and getStaticProps in favor of native async/await inside Server Components.
  • Layouts: App Router introduces nested layouts (layout.tsx) which preserve state across navigations and do not re-render unnecessarily.

React Server Components (RSC)

By default, all components in the App Router are Server Components. They render entirely on the server, sending only HTML to the client. If you need client-side interactivity (like useState or onClick), you must explicitly add the "use client" directive at the top of your file.

When to Migrate?

If you are starting a new project, start with the App Router. If you have a large, existing Pages Router app, Vercel allows incremental adoption. You can run both the /pages and /app directories simultaneously in the same project.

NR

Nimesh Regmi

Freelance Flutter, Django, and Next.js developer based in Kathmandu, Nepal. I build production-ready mobile apps, REST APIs, and full-stack platforms for startups and businesses worldwide.

Looking for a Developer?

I build high-performance mobile apps and web platforms. Available for freelance projects.

View My Services →

Related Blogs 

Why I Switched From React Native to Flutter (And Haven't Looked Back)

Why I Switched From React Native to Flutter (And Haven't Looked Back)

A personal take on why Flutter won me over after a year with React Native — performance, DX, and the honest tradeoffs.

#Flutter

How I Built an Offline-First App for Forest Rangers in Nepal (And What I Learned)

How I Built an Offline-First App for Forest Rangers in Nepal (And What I Learned)

A real case study: building a Flutter + Django app that works without internet, syncs GPS data when connectivity returns, and handles the edge cases nobody talks about.

#Flutter

#Django

I Built a Real-Time Chat App in Flutter + Firebase — Here's the Full Architecture

I Built a Real-Time Chat App in Flutter + Firebase — Here's the Full Architecture

Built a scalable real-time chat application using Flutter and Firebase with clean architecture and instant message syncing. This project explains the full system design, including authentication, Firestore structure, and real-time messaging flow.

#Flutter

Chat on WhatsApp