For a library for implementing data pagination, the strongest matches are mescroll/mescroll (Mescroll is a Vue-focused infinite scroll library that manages), kaminari/kaminari (Kaminari is a Ruby pagination library that provides offset/limit) and ankeetmaini/react-infinite-scroll-component (This React component enables infinite-scroll loading of paginated data). orizens/ngx-infinite-scroll and aarondfrancis/fast-paginate round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best pagination libraries for your project. Compare top-rated GitHub repositories by features and activity to pick the right one.
mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh and pull-up-loading patterns. It provides a system for handling touch-based scrolling, managing pagination states, and integrating these behaviors within Vue applications. The library distinguishes itself through specialized support for chat interfaces, enabling reverse-order data loading and the ability to inject data in a reverse direction to simulate message histories. It also includes a state-persistent scroll cache to preserve vertical offsets and list data when users navi
Mescroll is a Vue-focused infinite scroll library that manages pagination states and integrates with server-side APIs, making it a good fit for displaying paginated data with infinite scroll and pull-to-refresh, though it does not explicitly support cursor-based pagination.
Kaminari is a Ruby pagination library and ActiveRecord tool designed to divide large datasets into smaller pages using limit and offset logic. It functions as a data paging utility that manages record offsets and total count calculations for Ruby web applications. The project distinguishes itself by generating SEO-friendly navigation links and standardized HTML tags to improve search engine indexing. It supports localized navigation labels and translation files for multilingual interface design, and allows for customizable pagination themes via template overrides of view partials. The librar
Kaminari is a Ruby pagination library that provides offset/limit pagination with server-side integration and navigation UI components, which fits your need for a pagination library, though it does not offer cursor-based pagination or infinite scroll out of the box.
This project is a frontend component designed to manage dynamic content loading and scroll-based interactions within web applications. It provides a reusable interface for handling data injection as users navigate through scrollable areas, ensuring that content updates occur automatically based on scroll position or manual user triggers. The component distinguishes itself by supporting both standard downward infinite scrolling and inverse scrolling, which allows for the natural expansion of content history in chat-like interfaces. It offers developers full control over the visual presentation
This React component enables infinite-scroll loading of paginated data, fitting the category but only supporting one pagination method and missing the other requested features like offset/limit, cursor-based, and page state management.
This library provides a directive-based solution for implementing infinite loading patterns within Angular applications. It monitors scroll positions to trigger data fetches when users reach defined distance thresholds, facilitating the continuous loading of content as users navigate through an interface. The implementation decouples scroll tracking from specific elements, allowing it to function with both window-level scrolling and individual overflow-hidden containers. It integrates native browser scroll events into reactive streams and applies throttling logic to manage event frequency, en
ngx-infinite-scroll is an Angular directive that implements infinite scroll, a specific pagination pattern for loading data as the user scrolls, which fits the intent of a pagination library; it provides a UI component and server-side integration but focuses solely on infinite scroll rather than supporting offset/limit or cursor-based pagination.
Fast-paginate is a database utility designed to optimize pagination performance in PHP and Laravel applications. It functions as a transparent layer that intercepts standard query builders to replace default pagination logic with more efficient retrieval strategies, specifically targeting large-scale datasets where traditional offset and limit operations can become resource-intensive. The library distinguishes itself by implementing deferred join techniques, which retrieve only primary keys in an initial subquery before fetching full records to minimize data scanning. It further improves resp
Aarondfrancis/fast-paginate is a fast offset/limit pagination library for Laravel, making it a genuine pagination helper but limited to server-side offset-based logic without UI components, cursor support, or infinite scroll.
This project is a jQuery plugin designed to replace traditional page-based navigation with continuous, dynamic content loading. It enables web interfaces to automatically fetch and append additional data to the document as a user scrolls toward the bottom of the viewport. The library distinguishes itself through granular control over the scroll-based trigger logic, allowing developers to define specific sensitivity thresholds, execution delays, and stopping conditions for content requests. It also provides built-in support for managing the visual state of the interface, including the display
A jQuery plugin for adding infinite scroll (a type of pagination) to web pages, but it is a narrow, single-feature tool rather than a general pagination library, so it fits the category but lacks the broader features like offset/limit, cursor-based pagination, and state management.
Mybatis-PageHelper is a pagination plugin and persistence framework extension for MyBatis. It functions as a physical pagination engine that automatically appends limit and offset clauses to SQL queries to retrieve specific record subsets from a data source. The project optimizes data retrieval by modifying SQL statements at runtime to reduce memory overhead. It implements database pagination and data set windowing to manage the retrieval of paginated data within Java applications. The system utilizes a MyBatis interceptor chain for dynamic SQL rewriting and employs database dialects to ensu
MyBatis-PageHelper automates offset/limit SQL pagination for Java/MyBatis applications, fitting the core pagination need on the server side, but it is a backend-only plugin without frontend UI components or cursor-based pagination.
list.js is a JavaScript search and sort library used to add real-time filtering, sorting, and pagination to HTML lists and tables without backend dependencies. It functions as a DOM data indexer and template-driven HTML renderer, allowing developers to manage how data is displayed and discovered on the client side. The library distinguishes itself through a fuzzy string matching engine that handles approximate matches and typos, and a DOM data indexer that extracts values directly from HTML data attributes to build a searchable internal index. It uses a template-driven rendering system to gen
List.js is a JavaScript library that adds client-side pagination to HTML lists and tables, along with search and sorting, making it a valid pagination tool, though it does not natively support cursor-based pagination, server-side integration, or infinite scroll.
This project is a React data table component integrated with shadcn/ui. It provides a set of tabular data grids that support sorting, filtering, and pagination. The implementation includes a virtualizing data grid and an infinite scroll table, which allow for the rendering of large datasets by loading records incrementally or displaying only the items visible in the viewport. It also functions as a real-time collaborative table, enabling multiple users to manage and edit shared datasets simultaneously. The component covers interactive data management and complex data visualization. This incl
This React data table component includes pagination, infinite scroll, and server-side data handling, making it a practical tool for managing and displaying paginated data even though its primary focus is tabular grids rather than a dedicated pagination utility.
Pagination is based off of the Fluent 2 pagination system.
This Swift pagination library for Vapor implements the Fluent 2 pagination system to manage server-side offset/limit pagination, fitting the category as a backend tool but lacking the client-side UI components and infinite scroll features you listed.
Pagination support for flask
flask-paginate is a pagination helper for Flask web applications, providing server-side offset/limit pagination for database queries—exactly the kind of library this search asks for, though it may not include cursor-based pagination, UI components, or infinite scroll out of the box.
A simple vue.js plugin to paginate data
A simple Vue.js plugin for paginating data, squarely a pagination library but likely limited to offset/limit basics and lacking cursor-based pagination, server-side API handling, or infinite scroll features.
A Vue.js(v2.x+) component for creating pagination.
A Vue.js pagination component that handles the UI and basic page state, which fits as a pagination library for displaying paginated data, but it focuses only on the frontend and lacks cursor support, server-side integration, and infinite scroll.
What is pagination? This module helps dividing large lists of items into pages. The user is shown one page at a time and can navigate to other pages. Imagine you are offering a company phonebook and let the user search the entries. If the search result contains 23 entries but you may want to…
This Python module provides server-side pagination logic for dividing large lists into pages and enabling page navigation, which fits the core need of a pagination library, though it lacks built-in UI components, cursor-based pagination, and infinite scroll support.
Vue 3 use-hook to reactively paginate data and arrange paginator buttons
This Vue 3 composable provides reactive pagination state management and a paginator button UI, fitting your need for a pagination library, though it does not explicitly cover cursor-based pagination or infinite scroll.
Vue Pagination is a simple and flexible Vue 3 pagination component written in TypeScript. It focuses only on pagination UI and events, not data fetching or state management.
It is a Vue 3 pagination component that provides UI and event handling for paginated data, but it does not handle data fetching or state management, so it fits the search as a focused pagination UI library but lacks the broader features like server-side integration and infinite scroll.
📖 Pagination Component for Angular applications
This Angular pagination component provides a ready-to-use UI widget and handles page state for server-side data, making it a solid match for simplifying paginated data displays, though it focuses on offset-based pagination and may lack built-in cursor or infinite-scroll support.
Vue paginate with return your data
This is a Vue pagination library that provides basic paginate functionality with a UI component, but the sparse description does not confirm support for cursor-based pagination, infinite scroll, or explicit server-side API integration as the search requires.
| Repository | Stele | Limbaj | Licență | Ultimul push |
|---|---|---|---|---|
| mescroll/mescroll | 4.5K | Vue | MIT | |
| kaminari/kaminari | 8.7K | Ruby | MIT | |
| ankeetmaini/react-infinite-scroll-component | 3.1K | TypeScript | MIT | |
| orizens/ngx-infinite-scroll | 1.3K | TypeScript | MIT | |
| aarondfrancis/fast-paginate | 1.4K | PHP | MIT | |
| fredwu/jquery-endless-scroll | 838 | CoffeeScript | — | |
| pagehelper-org/mybatis-pagehelper | 12.4K | Java | MIT | |
| javve/list.js | 11.2K | JavaScript | MIT | |
| sadmann7/shadcn-table | 6.2K | TypeScript | MIT | |
| vapor-community/pagination | 66 | Swift | MIT |