Pagination

The pagination component helps users navigate through multiple pages of content

Decorative page cover image showing and example of a pagination component

Usage

Use pagination when there are too many results to show on the one page, so the user isn't overwhelmed by too much information.

Pagination is commonly used for things like table listings, search results, and directories. Consider using pagination if you’re influenced by:

  • System load times
  • Amount of data in each entry
  • Screen space

Pagination is a control that sits at the bottom of the results section and allows the user to easily move between each page.

Best practices

The pagination component comes with maximum and minimum limit to how many pages are shown in desktop and mobile.

  • Previous and next buttons or links are the most useful way for the user to move forward or backward through pages of data.
  • Display previous and next buttons even if one of them is disabled to help users know what to expect and to keep the UI from jumping around.
  • Display the Current Page to provide awareness of location in relation to the other pages.
  • If feasible, display additional details (number of pages and total number of items) to communicate even more context about the content or data the user is paging through.

When to use

  • To divide large quantities of data or content into chunks.
  • To improve the loading performance of a system.
  • To make user comprehension of data/content less overwhelming.
  • To enable all users to navigate to through pages or locate a specific page number.
  • To show how many pages of content there are and how many results have been returned.
  • To enable users to focus on a few items at a time.
  • To make it clear there’s more to explore when ready.
  • For large collections of items.

When not to use

  • For only a few items—keep them all on one page.

Anatomy

Listing all the separate elements of the pagination component
  1. Previous page – navigational control
  2. Page navigation
  3. Current page
  4. Truncation
  5. Next page – navigational control
  6. Result label

Behaviour

Although it’s best to filter as much as possible and leave the user with a reasonable size of results to sift through, in the undesirable case of many pages, use truncation to indicate that some pages are out of view and always display the first and last page. Truncation on mobile is however not recommended.

Image of a pagination component

Placement

Since Pagination typically appears underneath the UI element it’s controlling, it needs to be obvious that it is controlling the element above it, rather than anything else below it. Placement of the label is directly below the page controls to indicate the size of results and help orient the user.

Visualising the pagination component in a layout

Responsive behaviour

  • For larger screens, you can show up to 6 pages, including truncation.
  • For smaller screens, it’s recommended to show page navigation controls with no more than 4 pages and no truncation.
Examples of how the pagination component adapts to desktop and mobile size screens

States

Disabled state only applies to navigational control elements (prev/next buttons) when the user is viewing either the first or last page. Page navigation elements should not be disabled as it’s not recommended to list unaccessible pages.

Visualising the various states of the pagination's interactive elements

Content guidelines

If customising the label of the total number of results, use a word that accurately describes the items that are being shown.