In website pagination, what is an appropriate situation to use:

<< 1 |2| 3 4 ... >>


<< 1 |2| 3 4 ... 7 >>

rather than:

<< Page 2 >>


I am implementing pagination in a page and I wonder in which situations will a user want to go to an specific page number (other than being in Page 4 and wanting to go to Page 1, in which case my guess is the user will simply click the Page Home button/category link). Also I understand the benefit of knowing the number of total pages but that could also be solved some other way:

<< Page 2/7 >>

Is it always better to include the pagination with links to other pages, as it gives more control?

  • << 1 |2| 3 4 ... 7 >> as it gives more visibility and flexible interaction points.
    – Dipak
    Feb 15, 2017 at 12:48
  • 1
    @Dipak I agree it does but..when are those needed? Take Google for example, I never go from Page 1 to Page 4, I click the next page. In very few situations I go back from 4 to 2, and generally I search again to go to Page 1 instead.
    – Alvaro
    Feb 15, 2017 at 12:51
  • 2
    Here's a scenario: You're watching some videos on some site, you keep looking for the videos that interest you, you knew page 3 has a video you would want to watch, you go on page 9, find an interesting video, watch it and then you know page 3 also has an video you want to watch, you click on page 3 directly. Or while on page 9, you watched the video and closed the tab by mistake, you reopen the webpage again jump directly on page 3
    – Dipak
    Feb 15, 2017 at 13:12
  • @alvaro, it seems you've already made up your mind. The answers suggest improved usability, what are your reasons to oppose? If you want to go minimal maybe try continuous scroll?
    – Martyn
    Feb 15, 2017 at 17:37
  • 1
    One consideration would be whether you expect people to page sequentially or jump to specific pages, balanced with what drives them to jump. Feb 16, 2017 at 10:15

3 Answers 3


A good example is with a sort. If I have sorted by price I may want to skip several pages to get in the price range I am looking for.

If the search is relatively static and I know that yesterday I got to page 4 I may want to start on page 4.

If I am looking for item X knowing it found 400 is of value.

  • This is a really good point. Sorting.
    – Alvaro
    Feb 15, 2017 at 14:08
  • By Sort you mean a sorting feature on grid right? Or is there anything like sorting on pagination?
    – Dipak
    Feb 15, 2017 at 15:45
  • @Dipak What ever sort you design into the application. Lots of options.
    – paparazzo
    Feb 15, 2017 at 15:49
  • I keep thinking...Do you think a user would go to page 4 (or any other higher than page 2) from page 1 rather than refining the filters?
    – Alvaro
    Feb 15, 2017 at 15:55
  • @Dipak If I am looking for mens boots sorted by cost then yes I would go to page 4 rather than refine my search and enter a cost range.
    – paparazzo
    Feb 15, 2017 at 15:59

For accessibility reasons (mainly focussing on cognitive issues) you should always show the user the extent and their position within any sequential progression - this includes paginated content. They should always be able to tell how many pages there are and how far through them they have reached.

If a user arrives at a page that shows << 1 >>, regardless of how the units are expressed (using 'page' or not), there is no way of knowing how many pages they are about to encounter; it could anything from 1 to billions.

Even << 1 2 3 4 ... >> doesn't give any real clues other than than there are more than four pages.

Similarly marking a page << 1/7 >> could mean page on of seven but it could also mean page one of chapter seven.

Both of these methods could easily trip someone with cognitive issues as well as just being a poor experience in general.

A more explicit solution such as << Page 1 of 12 >> or << 1 ... 6 7 8 ... 12 >>, if you have the room, would be best.

Other than that, the choice of wether or not to explicitly name them as Page 3 of 17 or just 3 of 17 has to be a question of available screen-space and personal choice

  • Thank you for the answer Andrew. You have a good reason about showing the extent of the query/results. But in which situation is it better to show more than Page 1 of 12 (whatever the exact wording)? This is the main question.
    – Alvaro
    Feb 15, 2017 at 14:05
  • @Alvaro, If you think the content demands that users should be able to skip to a particular section then you may need the more extended pagination but I would suggest that, if you are in this situation, your content probably needs to be broken down in a different way to make it easier for users to move around. Feb 15, 2017 at 14:35
  • Exactly, sorting is a possibility but then other ways might be more useful. Then in which situations a user might need to go to page 5 rather than next? In what kind of scenario or for which content can we find these need?
    – Alvaro
    Feb 15, 2017 at 14:42
  • @Alvaro Badly constructed search strings is one that immediately comes to mind - user wants 'AAD' but only searches 'AA' and then skips over pages 'AAA', 'AAB' and 'AAC' - I'd bet that's one of the reasons Google implemented predictive/suggested searches. If pages are in a defined sequence (i.e. a series of steps rather than simply paginated data) then a user might want to skip ahead but, again, I would argue that the sequence is badly designed if skipping is necessary. Feb 15, 2017 at 14:49

Here is what I think about pagination:

  • Display the query size is a good idea from the design pespective, but may be a bad idea from the application performance and developement time, then may be bad for the user experience.
  • Users are not dumb. The visual clue of [<] number [>] is enought for the user to understand that is pagination.
  • User intuition and memory can allow them to guess the page number where the needed information is (provided that the table has an appropriated order). They may reach the information sooner by guessing a few times than accessing an advanced filter and narrowing the search. Do not get me wrong: good filters are important too.
  • The main scrollbar is way, way, way better than pagination. Pagination is a last resort for limitations of performance.
  • Infinite scrolling is a greate design concept, but is hard to implement and hinders in the developement time which is a "no no" in leading and innovative enterprise applicaitons.

I preffer a visual like that:

enter image description here

  • The (a) option is the most common scenario because it is faster to develop. In the sql query I ask for "limit 1000 offset 5000" and in the process of rendering if I reach the 1000 record of the result set I know there is a next page and enable the [>] button.
  • The (b) option requires to submit two queries, one to retrieve the rows and another to count(*) and then I reserve that for the special cases, usually places of the app where people should know how much work is ahead of them.
  • The (c) option is mostly used when space is a premium or when the pagination is rarelly needed.
  • No pagination is also very common option. When is unlikelly that the resultset will be big and the maximum size of the table does not make the screen unbareable slow I left without pagination. In many cases I display a control similar to the pagination that partition the data by a more useful field like the month.

The best approach depends on the context.

It is important to notice that I develop mostly large screen web apps for big companies. The design of my apps are very boring and unappealing focused in high productivity. I don't have a opinion about pagination in the context of smartphone apps or hotsites. And probably my opinion is not reliable in those contexts.

To achieve high level of productivity, I avoid pagination and multiple scrollbars on the screen. This is not easy. Many framework components does not support lists with thousand of lines. To reach a good performance I had to make my own components. For example, thousands of records in plain jsf may not be a good idea.

Comments about comments

Jump to page...

I see some skepticism that a user would want to jump to page 10 without seeing page 2, but this is very common. It is kind how we do with paper phone book indexes. We jump to the middle, if the name we are looking for in before we jump again to the middle of the remainder and so on. To refine the filter requires the filter needed by the user to exists and be known and understood by the user. Moreover is faster o jump to a page than look for the advanced filters and type a date period. Specially with that interactive calendar controls that are very time consuming and anoying to the user. There is plenty of good reasons to jump ahead.. look for older posts in blogs, look for price range in online stores, look for music that are not mainstream but not badly evaluated, collecting samples to a research or auditing.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.