---
title: Routing
description: Learn the fundamentals of routing for front-end applications with the Pages Router.
url: "https://nextjs.org/docs/14/pages/building-your-application/routing"
version: 14.2.35
lastUpdated: 2023-06-08
prerequisites:
  - "Building Your Application: /docs/14/pages/building-your-application"
---


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/14/pages/building-your-application/routing/pages-and-layouts)
  - Create your first page and shared layout with the Pages Router.
- [Dynamic Routes](/docs/14/pages/building-your-application/routing/dynamic-routes)
  - 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/14/pages/building-your-application/routing/linking-and-navigating)
  - Learn how navigation works in Next.js, and how to use the Link Component and `useRouter` hook.
- [Custom App](/docs/14/pages/building-your-application/routing/custom-app)
  - 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/14/pages/building-your-application/routing/custom-document)
  - Extend the default document markup added by Next.js.
- [Custom Errors](/docs/14/pages/building-your-application/routing/custom-error)
  - Override and extend the built-in Error page to handle custom errors.
- [API Routes](/docs/14/pages/building-your-application/routing/api-routes)
  - Next.js supports API Routes, which allow you to build your API without leaving your Next.js app. Learn how it works here.
- [Internationalization](/docs/14/pages/building-your-application/routing/internationalization)
  - Next.js has built-in support for internationalized routing and language detection. Learn more here.
- [Authenticating](/docs/14/pages/building-your-application/routing/authenticating)
  - Learn about authentication patterns in Next.js apps and explore a few examples.
- [Middleware](/docs/14/pages/building-your-application/routing/middleware)
  - Learn how to use Middleware to run code before a request is completed.

---

For an index of all available documentation, see [/docs/14/llms.txt](/docs/14/llms.txt)