
List.js
A small JavaScript library that adds search, sort, filter and pagination to existing HTML lists and tables.
- Stars
- 11.2k
- Forks
- 877
- Licence
- MIT
- Language
- JavaScript
- Last update
- 1.5 years ago
- Type
- Library
No commits in over a year — check for forks or alternatives before adopting.
What it is
List.js is a JavaScript library that lets a web page search, sort, and filter items in an HTML list, table, or similar element without rebuilding that element from scratch. It is designed to be added to HTML you already have, and the README says it has no dependencies. Developers use it when they want interactive filtering on a page that already displays its data.
- Add a search box that filters rows of an existing HTML table
- Sort a list of items by clicking column headers
- Filter items within a numeric range using the linked examples as a guide
- Show paginated results of a long list in a web page
Great for
- Web developers adding search or sorting to an existing HTML table or list
- Developers who want a small library with no dependencies
- Projects that need pagination or simple add, edit and remove of list items
- Sites that must support older browsers, since the README lists IE9+ support
Not ideal for
- People who need a complete app or no-code tool; this is a code library that requires writing JavaScript
- Projects needing very large server-side datasets, since the README only says it can handle thousands of items in the browser
- Teams that need active maintenance guarantees; the README does not describe a support plan and the last push date is 2025-04-27
How to get it
- 1
Install with a package manager
You'll need: Node.js or a package manager such as npm, if installing via npm
Install via NPM
npm install list.js - 2
Run it
- Include list.js in your page with npm or the CDN script tag from the README
- Mark up an existing list or table in HTML
- Create a new List instance pointing at that element, following the getting started docs at listjs.com/docs
- Add a search input and call the search method to filter items
- 3
Get the most out of it
- Use the fuzzy search example from the README to match approximate text
- Use the pagination example to split long lists across pages
- Use the add, get and remove examples to edit items dynamically
- Read the Options and List API docs at listjs.com for configuration details
Downloads
Strengths
- The README describes it as simple to apply to existing HTML and having no dependencies
- It works with plain <div>, <ul>, <table> and similar elements, according to the README
- It has a long history, with 11,203 stars and an MIT license
Trade-offs
- It requires writing JavaScript and HTML; there is no visual interface
- The README is truncated and documentation details live on an external website
- Version 2.3.1 is the latest release and the README's copyright covers 2011-2020, so the project may move slowly
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| list.js (this) | 11.2k | Library | beginner | 1.5 years ago | Web developers adding search or sorting to an existing HTML table or list |
| algorithms | 25.6k | Library | beginner | 1 months ago | Students studying data structures and algorithms |
| Java | 66.7k | Learning resource | beginner | 4 days ago | Students learning algorithms and data structures in Java |
| C-Plus-Plus | 34.8k | Learning resource | intermediate | 1 months ago | Students learning algorithms and data structures in C++ |
| Sortable | 31.2k | Library | beginner | 8 months ago | Web developers adding reorderable lists to a site or app |
| table | 28.5k | Library | intermediate | 16 days ago | Developers building custom data tables in React, Vue, Solid, Svelte or another supported framework |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.