node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Very simple and easy to use connect (express) middleware for parsing pagination query strings.


$ npm install connect-pagination

Quick Start with Connect.js or Express.js

var connect    = require('connect'),
    pagination = require('connect-pagination')
var paginationOptions = {
    pageParam: 'p'
    .use(function (req, res) {

Available Options

  • pageParam specifies the query param for the page number (defaults to page)
  • ippParam specifies the query param for the number of items per page (defaults to ipp)
  • page the default page number (defaults to 1)
  • ipp the default number of items per page (defaults to 24)

The req.pagination object

Through req.pagination the following object becomes available:

  • page the current requested page number
  • pip the current requested number of items per page
  • optionsPresent true if there are pagination request parameters
  • Function buildQuery(page, ipp) returns a query string like ?page=4&ipp=20
  • Function addQuery(url, page, ipp) adds the pagination query to the url given



May not be backwards-compatible.

  • Now builds the query string with the parameter names given.


  • Fixed bug that resulted in wrong query strings.


  • Add optionsPresent attribute to req.pagination object.


  • Parse query parameters to numbers.


  • The pagination object is now attached to res.locals so that it can be used in express remplates