# NeXTs/Clusterize.js

Tiny vanilla JS plugin to display large data sets easily

Repository: https://github.com/NeXTs/Clusterize.js
Canonical: https://ross.abutalabs.com/products/clusterizejs
Homepage: https://clusterize.js.org
Language: JavaScript
License: MIT
License Family: permissive
Topics: scroller, performance, listview
Last push: 2026-06-15T13:21:38+00:00

## Health v2 (maintenance only)
Score: 79/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 87, release rhythm 57, longevity 100
- inputs: {"age_days": 4147, "days_push": 79, "days_rel": 79, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7268, forks 405 (observed 2026-08-28T04:09:57.920045+00:00)

## What it is
Clusterize.js is a tiny vanilla JavaScript plugin that efficiently renders very large data sets in tables, lists, or divs. It splits content into clusters and only keeps rows near the current scroll position in the DOM, emulating full list height for a native scrollbar.

## Use cases
- render a table with hundreds of thousands of rows without lag
- display large ordered or unordered lists in the browser
- smooth scrolling for huge datasets in a web app
- avoid DOM pollution when showing big lists
- add virtual scrolling to existing markup without a framework

## When to choose
- you need to display very large lists or tables with plain JavaScript
- you want a tiny dependency-free virtual scrolling solution
- your project uses no framework and you want minimal setup

## When to avoid
- you already use a framework with built-in virtualization like react-window or vue-virtual-scroller
- you need complex row heights or dynamic layouts that simple clustering can't handle
- your lists are small enough that plain DOM rendering is fine

## Facets
- artifact type: plugin
- maturity: maintenance
- function: ui-components, developer-tools
- domain: frontend, web-development, performance
- platform: browser, cross-platform
- tags: virtual-scrolling, large-lists, vanilla-js, dom-performance, table, listview

## Member repositories
- NeXTs/Clusterize.js (main) score 79

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:57.920045+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:38:55.868708+00:00, confidence not recorded.
  - readme: https://github.com/NeXTs/Clusterize.js (fetched 2026-08-28T04:09:57.920045+00:00, sha 9b1f5b7e8c7b)
  - homepage: https://clusterize.js.org (fetched 2026-08-29T08:34:31.389461+00:00, sha d433a08092de)
  - registry_npm: https://registry.npmjs.org/clusterize.js (fetched 2026-08-29T08:34:31.398750+00:00, sha f74b205f2c64)
- Data as of 2026-08-30T08:39:29.467469+00:00.
