Skip to main content

Pagination examples

  • # default

    {
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }) }}
            
  • # with custom link and item text

    {
      "previous": {
        "href": "/previous",
        "text": "Previous page"
      },
      "next": {
        "href": "/next",
        "text": "Next page"
      },
      "items": [
        {
          "number": "one",
          "href": "/page/1"
        },
        {
          "number": "two",
          "href": "/page/2",
          "current": true
        },
        {
          "number": "three",
          "href": "/page/3"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous",
        "text": "Previous page"
      },
      "next": {
        "href": "/next",
        "text": "Next page"
      },
      "items": [
        {
          "number": "one",
          "href": "/page/1"
        },
        {
          "number": "two",
          "href": "/page/2",
          "current": true
        },
        {
          "number": "three",
          "href": "/page/3"
        }
      ]
    }) }}
            
  • # with many pages

    {
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "ellipsis": true
        },
        {
          "number": 8,
          "href": "/page/8"
        },
        {
          "number": 9,
          "href": "/page/9"
        },
        {
          "number": 10,
          "href": "/page/10",
          "current": true
        },
        {
          "number": 11,
          "href": "/page/11"
        },
        {
          "number": 12,
          "href": "/page/12"
        },
        {
          "ellipsis": true
        },
        {
          "number": 40,
          "href": "/page/40"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "ellipsis": true
        },
        {
          "number": 8,
          "href": "/page/8"
        },
        {
          "number": 9,
          "href": "/page/9"
        },
        {
          "number": 10,
          "href": "/page/10",
          "current": true
        },
        {
          "number": 11,
          "href": "/page/11"
        },
        {
          "number": 12,
          "href": "/page/12"
        },
        {
          "ellipsis": true
        },
        {
          "number": 40,
          "href": "/page/40"
        }
      ]
    }) }}
            
  • # first page

    {
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1",
          "current": true
        },
        {
          "number": 2,
          "href": "/page/2"
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1",
          "current": true
        },
        {
          "number": 2,
          "href": "/page/2"
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }) }}
            
  • # last page

    {
      "previous": {
        "href": "/previous"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2"
        },
        {
          "number": 3,
          "href": "/page/3",
          "current": true
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2"
        },
        {
          "number": 3,
          "href": "/page/3",
          "current": true
        }
      ]
    }) }}
            
  • # with prev and next only

    {
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      }
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      }
    }) }}
            
  • # with prev and next only and labels

    {
      "previous": {
        "text": "Previous page",
        "labelText": "Paying VAT and duty",
        "href": "/previous"
      },
      "next": {
        "text": "Next page",
        "labelText": "Registering an imported vehicle",
        "href": "/next"
      }
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "text": "Previous page",
        "labelText": "Paying VAT and duty",
        "href": "/previous"
      },
      "next": {
        "text": "Next page",
        "labelText": "Registering an imported vehicle",
        "href": "/next"
      }
    }) }}
            
  • # with prev and next only and very long labels

    {
      "previous": {
        "text": "Previous page",
        "labelText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "href": "/previous"
      },
      "next": {
        "text": "Next page",
        "labelText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "href": "/next"
      }
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "text": "Previous page",
        "labelText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "href": "/previous"
      },
      "next": {
        "text": "Next page",
        "labelText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
        "href": "/next"
      }
    }) }}
            
  • # with previous only

    {
      "previous": {
        "href": "/previous"
      }
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous"
      }
    }) }}
            
  • # with next only

    {
      "next": {
        "href": "/next"
      }
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "next": {
        "href": "/next"
      }
    }) }}
            
  • # with custom classes

    {
      "classes": "my-custom-class",
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "classes": "my-custom-class",
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }) }}
            
  • # with custom attributes

    {
      "attributes": {
        "data-attribute-1": "value-1",
        "data-attribute-2": "value-2"
      },
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "attributes": {
        "data-attribute-1": "value-1",
        "data-attribute-2": "value-2"
      },
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }) }}
            
  • # with custom navigation landmark

    {
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "landmarkLabel": "search",
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "landmarkLabel": "search",
      "items": [
        {
          "number": 1,
          "href": "/page/1"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true
        },
        {
          "number": 3,
          "href": "/page/3"
        }
      ]
    }) }}
            
  • {
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1",
          "visuallyHiddenText": "1st page"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true,
          "visuallyHiddenText": "2nd page (you are currently on this page)"
        },
        {
          "number": 3,
          "href": "/page/3",
          "visuallyHiddenText": "3rd page"
        }
      ]
    }
    
    {% from "govuk/components/pagination/macro.njk" import govukPagination %}
    
    {{ govukPagination({
      "previous": {
        "href": "/previous"
      },
      "next": {
        "href": "/next"
      },
      "items": [
        {
          "number": 1,
          "href": "/page/1",
          "visuallyHiddenText": "1st page"
        },
        {
          "number": 2,
          "href": "/page/2",
          "current": true,
          "visuallyHiddenText": "2nd page (you are currently on this page)"
        },
        {
          "number": 3,
          "href": "/page/3",
          "visuallyHiddenText": "3rd page"
        }
      ]
    }) }}