Skip to content

Pagination API

API documentation for the React Pagination component. Learn about the available props, and the CSS API.

Import

import Pagination from '@material-ui/core/Pagination';
// or
import { Pagination } from '@material-ui/core';
You can learn about the difference by reading this guide on minimizing bundle size.

Component name

The name MuiPagination can be used when providing default props or style overrides in the theme.

Props

NameTypeDefaultDescription
boundaryCountinteger1Number of always visible pages at the beginning and end.
classesobjectOverride or extend the styles applied to the component. See CSS API below for more details.
color'primary'
| 'secondary'
| 'standard'
| string
'standard'The active color.
countinteger1The total number of pages.
defaultPageinteger1The page selected by default when the component is uncontrolled.
disabledboolfalseIf true, the component is disabled.
getItemAriaLabelfuncAccepts a function which returns a string value that provides a user-friendly name for the current page. This is important for screen reader users.
For localization purposes, you can use the provided translations.

Signature:
function(type: string, page: number, selected: bool) => string
type: The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous'). Defaults to 'page'.
page: The page number to format.
selected: If true, the current page is selected.
hideNextButtonboolfalseIf true, hide the next-page button.
hidePrevButtonboolfalseIf true, hide the previous-page button.
onChangefuncCallback fired when the page is changed.

Signature:
function(event: object, page: number) => void
event: The event source of the callback.
page: The page selected.
pageintegerThe current page.
renderItemfunc(item) => <PaginationItem {...item} />Render the item.

Signature:
function(params: PaginationRenderItemParams) => ReactNode
params: The props to spread on a PaginationItem.
shape'circular'
| 'rounded'
'circular'The shape of the pagination items.
showFirstButtonboolfalseIf true, show the first-page button.
showLastButtonboolfalseIf true, show the last-page button.
siblingCountinteger1Number of always visible pages before and after the current page.
size'large'
| 'medium'
| 'small'
| string
'medium'The size of the component.
sxobjectThe system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details.
variant'outlined'
| 'text'
| string
'text'The variant to use.

The ref is forwarded to the root element.
Any other props supplied will be provided to the root element (native element).

CSS

Rule nameGlobal classDescription
root.MuiPagination-rootStyles applied to the root element.
ul.MuiPagination-ulStyles applied to the ul element.
outlined.MuiPagination-outlinedStyles applied to the root element if variant="outlined".
text.MuiPagination-textStyles applied to the root element if variant="text".

You can override the style of the component using one of these customization options:

Demos