# javve/list.js

The perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML.

Repository: https://github.com/javve/list.js
Canonical: https://ross.abutalabs.com/products/listjs
Homepage: https://listjs.com
Language: JavaScript
License: MIT
License Family: permissive
Topics: search, sort, fuzzy-search, pagination, easy-to-use, javascript, filters, flexibility
Last push: 2025-04-27T14:43:58+00:00

## Health v2 (maintenance only)
Score: 31/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 18, release rhythm 8, longevity 100
- inputs: {"age_days": 5694, "days_push": 493, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 11209, forks 881 (observed 2026-08-28T04:10:46.429538+00:00)

## What it is
List.js is a tiny, dependency-free vanilla JavaScript library that adds search, sort, filter, and pagination to existing HTML lists, tables, and other elements. It works invisibly on existing markup via simple classes and data attributes, and includes a lightweight templating system for adding, editing, and removing items.

## Use cases
- add search to an existing HTML table
- make a sortable list in vanilla JavaScript
- filter a list of items client-side
- add fuzzy search to a plain HTML list
- paginate a long list without a framework
- add and remove items from a list dynamically

## When to choose
- you want search/sort/filter on existing HTML without rewriting it
- you need a tiny, dependency-free solution that works with plain JavaScript
- you are not using a heavy framework and just need list interactivity
- you need to handle thousands of DOM list items quickly

## When to avoid
- you are using React, Vue, or Angular where virtual rendering or component-based tables fit better
- you need server-side search or sorting over large datasets
- you need complex grid features like column resizing or virtual scrolling

## Facets
- artifact type: library
- maturity: maintenance
- function: search-engine, ui-components, templating
- domain: web-development, frontend
- platform: browser
- tags: vanilla-javascript, fuzzy-search, pagination, tables, no-dependencies, nodejs

## Member repositories
- javve/list.js (main) score 31

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:46.429538+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:16:27.274622+00:00, confidence not recorded.
  - readme: https://github.com/javve/list.js (fetched 2026-08-28T04:10:46.429538+00:00, sha e27196be7412)
  - homepage: https://listjs.com (fetched 2026-08-29T08:15:33.378890+00:00, sha 4503bc956d22)
  - site_page: https://listjs.com/docs (fetched 2026-08-29T08:15:33.384995+00:00, sha 86e8a0d9da33)
  - site_page: https://listjs.com/docs/item-api (fetched 2026-08-29T08:15:33.386883+00:00, sha 2b7523a79960)
  - site_page: https://listjs.com/docs/search-sort (fetched 2026-08-29T08:15:33.388473+00:00, sha 0d7af4002000)
  - registry_npm: https://registry.npmjs.org/list.js (fetched 2026-08-29T08:15:33.391490+00:00, sha 9a978886ad10)
  - site_page: https://listjs.com/overview (fetched 2026-08-29T08:15:33.381586+00:00, sha eb5476c50535)
  - site_page: https://listjs.com/overview/changelog (fetched 2026-08-29T08:15:33.383283+00:00, sha 3352b070bbc9)
  - site_page: https://listjs.com/faq (fetched 2026-08-29T08:15:33.390075+00:00, sha 9de33dfe28c1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
