rembrembdocs

tRPC + Next.js

Next.js makes it easy to build a client and server together in one codebase. tRPC makes it easy to share types between them, ensuring typesafety for your application's data fetching.

tRPC provides first-class support for both the App Router and the Pages Router. Choose the guide that matches your project:

App Router

The recommended approach for new Next.js projects. Uses React Server Components, the fetch adapter, and @trpc/tanstack-react-query.

Key features:

Get started with App Router →

Pages Router

Uses @trpc/next which provides a higher-order component (HOC) and integrated hooks for the Pages Router data-fetching patterns.

Key features:

Get started with Pages Router →

Choosing between App Router and Pages Router

App Router

Pages Router

Recommended for

New projects

Existing Pages Router projects

Data fetching

Server Components, prefetchQuery

getServerSideProps, getStaticProps, SSR via HOC

Server adapter

Fetch adapter

Next.js adapter

Client package

@trpc/tanstack-react-query

@trpc/next + @trpc/react-query

Provider setup

Manual QueryClientProvider + TRPCProvider

Automatic via withTRPC() HOC

tip

If you're starting a new project, we recommend the App Router. If you have an existing Pages Router project, the Pages Router integration works well and is fully supported.