The Short Answer
If you are starting a new project, use App Router. It is where Next.js is going, React Server Components are the future of React, and the App Router's nested layout model is architecturally superior to the Pages Router for most applications. There is no reason to start a new project on Pages Router in 2026.
If you have an existing Pages Router application that works, migrate only when there is a concrete justification for the engineering cost, not because App Router is newer.
What Actually Changed with App Router
React Server Components
The biggest architectural change in App Router is React Server Components (RSC). Server Components run only on the server: they can access databases, file systems, and backend services directly, and they never send their JavaScript to the client. For data-heavy pages, RSC eliminates client-side loading states and reduces the JavaScript bundle significantly.
The mental model shift is real: in Pages Router, a component is always a client component. In App Router, components are server components by default. Adding "use client" at the top of a file opts into client-side rendering. Understanding which components need to be client components (anything with state, event handlers, or browser APIs) and which can stay as server components is the core skill to learn in App Router.
Nested Layouts
App Router introduces a file-based nested layout system. A layout.tsx at the root wraps the entire application. A layout.tsx in a subdirectory wraps only the routes in that directory. Layouts persist across navigation, so sidebar state, scroll position, and component instances are preserved when navigating between pages in the same layout subtree.
This is a genuine improvement over Pages Router's _app.tsx and _document.tsx pattern, which required workarounds to achieve persistent layout state. For applications with complex navigation shells, nested layouts simplify the architecture meaningfully.
Streaming and Suspense
App Router enables streaming rendering: the server can send the page shell immediately and stream in content as data becomes available. Combined with React Suspense, this produces faster perceived performance for data-heavy pages without requiring client-side loading state management.
Where Pages Router Still Has Advantages
Simpler mental model
Pages Router is simpler to understand and teach. Every page is a React component. getServerSideProps fetches data on the server. getStaticProps generates static pages. The patterns are well-documented and every React developer who knows Pages Router can onboard immediately. App Router's Server/Client component distinction, parallel routes, intercepting routes, and streaming require real learning investment.
More documentation and answered questions
Pages Router has been the primary Next.js API for years. Stack Overflow answers, blog posts, and third-party library documentation are more complete for Pages Router patterns than App Router patterns, which are still catching up. For complex edge cases, you are more likely to find an answered question for Pages Router than App Router.
When Migration Is Worth It
Migrate your Pages Router application to App Router when:
- You are doing a major feature addition that benefits specifically from React Server Components, such as a data-heavy reporting section or a page with many sequential data dependencies.
- You have the engineering bandwidth to do it properly: a well-tested Pages Router app can be migrated incrementally (Next.js supports both routers simultaneously during migration), but it takes time to do correctly.
- Your team has genuinely learned App Router and is ready to apply it, not just following the "migrate to App Router" advice without understanding the mental model shift.
When to Stay on Pages Router
Do not migrate when: the application is working well, there is no concrete performance or architectural problem that App Router solves, the engineering cost of migration would delay other roadmap work, or the team is not ready to invest in learning the App Router mental model.
A working Pages Router application with good test coverage, clean architecture, and a CI/CD pipeline is not a liability. It is a production system that works. Migrate when migration creates value, not because it is the latest pattern.
FriendsBit builds new projects with Next.js App Router and has migrated Pages Router applications incrementally for clients who had specific reasons to move. This site is built with Next.js 15 App Router. If you are evaluating whether a migration is worth it for your specific application, get in touch and we will give you an honest assessment.