Virtua

A zero-config, ~3kB virtual list and grid component for React, Vue, Solid, and Svelte

Library
npm
v0.50.2
3,718stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
84/100Excellent
Development Activity92
Maintenance96
Community56
Maturity52
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
85/100Excellent
Architecture87
Code Quality84
Innovation82
Learning Curve85

Virtua is a framework-agnostic virtualization library that renders only the visible slice of a long list or grid, keeping DOM node counts (and thus memory and layout cost) constant regardless of dataset size. It ships dedicated bindings for React, Vue, Solid, and Svelte on top of a shared framework-independent core, and requires no upfront item-size configuration — it measures rendered items and adapts automatically, which distinguishes it from virtualization libraries that require fixed or precomputed item heights.

What You Get

  • VList/VGrid components for virtualized one-dimensional lists and two-dimensional grids
  • Zero-config variable item-size support — no need to precompute or declare row/column heights
  • Framework bindings for React, Vue, Solid, and Svelte sharing one framework-agnostic core
  • A WindowVirtualizer for virtualizing against the browser window scroll instead of an internal scroll container
  • SSR-safe rendering (dedicated .ssr.spec test suites per framework) so virtualized lists don’t break server-rendered pages
  • A low-level, headless Virtualizer primitive for building fully custom virtualized UI

Common Use Cases

  • Rendering large chat histories, social feeds, or activity logs without degrading scroll performance
  • Building virtualized data tables or spreadsheet-like grids with variable row/column sizes
  • Infinite-scroll product listings or search results where thousands of items may load over time
  • Migrating an app already using react-window/react-virtualized that needs variable-height items without manual size measurement

Under The Hood

Architecture — A framework-independent core/ (scroller math, item measurement/caching, resize observation) is consumed by thin per-framework adapter layers (react/, vue/, solid/, svelte/) that translate the core virtualization engine into each framework’s component/reactivity model — Virtualizer.tsx in the React adapter, for example, wraps the shared core and exposes it as a component with refs and effects idiomatic to React. Tech Stack — TypeScript (90% of the codebase) built with Rollup, with Svelte-specific source (4.5%) alongside the TS core; the library is intentionally dependency-free at runtime to keep the ~3kB bundle size, and each framework target is compiled to its own lib/<framework> entry point (virtua/vue, virtua/solid, virtua/svelte). Code Quality — Each component ships colocated .spec.tsx unit tests and a separate .ssr.spec.tsx suite specifically verifying server-side-rendering correctness, plus an e2e/ Playwright suite and stories/ for visual/interaction testing — a notably thorough cross-cutting test strategy for a UI library spanning four frameworks. API Design — The headline design goal is zero-config: <VList>{items.map(...)}</VList> works without declaring item sizes, and the lower-level Virtualizer primitive is available for consumers who need to build fully custom virtualized layouts, giving a clean minimal-to-advanced API progression.

Used by 8 apps in this directory

Ruby
49%
Other

Chatwoot

Customer Support

35,974

Open-source omnichannel customer support platform with AI-powered agents, live chat, and self-hosting — a full Intercom and Zendesk alternative.

View details
95
Repo Health
78
Technical
72
Dependency
Built with
Ruby49%
Vue26%
JavaScript22%
Updated today
TypeScript
99%
AGPL 3.0

Cherry Studio

AI Assistants

50,753

All-in-one AI desktop client with 300+ assistants and multi-model support

View details
88
Repo Health
84
Technical
71
Dependency
Built with
TypeScript99%
Updated today
TypeScript
72%
Other

Epicenter

Knowledge Management · Note Taking · Developer Tools

4,761

A local-first monorepo led by Whispering, an open-source speech-to-text app, built on an MIT toolkit that turns your data into plain Markdown and SQLite files you own instead of a database you rent.

View details
88
Repo Health
90
Technical
68
Dependency
Built with
TypeScript72%
Svelte15%
Updated today
TypeScript
99%
Other

LobeHub

AI Assistants · Productivity · Automation

81,816

Your Chief Agent Operator — build, schedule, and collaborate with an entire AI team in one self-hostable workspace.

View details
92
Repo Health
81
Technical
72
Dependency
Built with
TypeScript99%
Updated today
TypeScript
55%
Other

OpenReplay

Analytics

12,525

Self-hosted session replay and product analytics suite that lets you see exactly what users do on your web app — without sending data to third parties.

View details
91
Repo Health
77
Technical
72
Dependency
Built with
TypeScript55%
Go12%
Python10%
Updated yesterday
TypeScript
93%
Apache 2.0

Openship

Devops · Hosting Control Panel

11,078

Openship is an open-source, self-hostable deployment platform that points at a repo and builds, ships, routes, and TLS-terminates the app — driven from a desktop app, web dashboard, or CLI.

View details
82
Repo Health
85
Technical
65
Dependency
Built with
TypeScript93%
Updated today
TypeScript
97%
Other

Rocket.Chat

Team Chat

46,002

The secure, self-hosted team communications platform for organizations that cannot compromise on data sovereignty.

View details
96
Repo Health
79
Technical
69
Dependency
Built with
TypeScript97%
Updated today
Vue
50%
AGPL 3.0

Sink

Bookmarks Archiving · Analytics

7,030

Serverless link shortener with real-time analytics, powered by Cloudflare

View details
87
Repo Health
80
Technical
0
Dependency
Built with
Vue50%
TypeScript48%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search