---
title: Pagination
summary: Pagination splits a long list or table into pages and lets the user move between them, with sizes, icons and disabled states.
description: Navigate through multi-page content with pagination controls.
related: [/ui/components/table]
source: core/scss/ui/_pagination.scss
css-vars: pagination
classnames:
component:
- class: pagination
desc: Container element, an unordered list
part:
- class: page-item
desc: One entry in the pager
- class: page-link
desc: The clickable element inside an entry
- class: page-item-title
desc: Page name, for a pager that names pages instead of numbering them
- class: page-item-subtitle
desc: Small uppercase label above the title
style:
- class: pagination-outline
desc: Outlined entries instead of filled ones
- class: pagination-circle
desc: Round entries
size:
- class: pagination-sm
desc: Small size
- class: pagination-lg
desc: Large size
---
import Example from '@components/Example.astro';
import Pagination from '@ui/Pagination.astro';
## Basic example
The basic pagination has page numbers with previous and next icon links:
## With first and last links
With many pages, add first and last links to jump to either end.
## Offset
When there are too many pages to list, show only a few around the current one.
## Button with text
Text buttons give the previous and next links a label instead of an icon.
## Outline version
The `.pagination-outline` class draws the items with a border and no fill.
## Circle version
The `.pagination-circle` class makes each item round. It combines with `.pagination-outline`.
## Pager with page names
For prose - documentation, a blog, a wizard - name the pages instead of numbering them. Put `page-item-subtitle` above the title for the direction, and `page-item-title` for the name of the target page.
## Accessibility
- Wrap the list in `