# Routing The Pages Router has a file-system based router built on concepts of pages. When a file is added to the `pages` directory it's automatically available as a route. Learn more about routing in the Pages Router: - [Pages and Layouts](/docs/pages/building-your-application/routing/pages-and-layouts.md) - Create your first page and shared layout with the Pages Router. - [Dynamic Routes](/docs/pages/building-your-application/routing/dynamic-routes.md) - Dynamic Routes are pages that allow you to add custom params to your URLs. Start creating Dynamic Routes and learn more here. - [Linking and Navigating](/docs/pages/building-your-application/routing/linking-and-navigating.md) - Learn how navigation works in Next.js, and how to use the Link Component and `useRouter` hook. - [Custom App](/docs/pages/building-your-application/routing/custom-app.md) - Control page initialization and add a layout that persists for all pages by overriding the default App component used by Next.js. - [Custom Document](/docs/pages/building-your-application/routing/custom-document.md) - Extend the default document markup added by Next.js. - [API Routes](/docs/pages/building-your-application/routing/api-routes.md) - Next.js supports API Routes, which allow you to build your API without leaving your Next.js app. Learn how it works here. - [Custom Errors](/docs/pages/building-your-application/routing/custom-error.md) - Override and extend the built-in Error page to handle custom errors.