airbnb/visx

๐Ÿฏ visx | visualization components

View on GitHub โ†—Jump to charts โ†“

Summary Information

Updated 58 minutes ago
Added to GitGenius on September 2nd, 2026
Created on March 15th, 2017
Open Issues & Pull Requests: 149 (+0)
GitHub issues: Enabled
Number of forks: 771
Total Stargazers: 21,035 (+0)
Total Subscribers: 136 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.5 days
Mean response time: 134.0 days
90th percentile: 409.4 days
Tracked items: 63

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 3% of issues opened in the past year have been closed. Three people close 98% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 23
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 853 days
Stale 30+ days: 20
Stale 90+ days: 19

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • ๐Ÿ‘‹ help wanted (7)
  • ๐Ÿ› bug (5)
  • ๐Ÿ”ฎ question (5)
  • @visx/xychart (4)
  • ๐Ÿš€enhancement (4)
  • ๐Ÿฏ example (3)
  • @visx/brush (2)
  • @visx/drag (2)

Most active issues this week

Detailed Description

visx is a collection of reusable low-level visualization components for React that combines d3 for calculations with React's declarative DOM updates.

The problem visx solves is the friction of mixing d3's imperative selection model with React's declarative paradigm. Developers typically resort to copying d3 code into useEffect hooks, which creates a poor developer experience. visx instead provides React components that wrap d3's mathematical and computational capabilities, eliminating the need to work directly with d3 selections, enter/exit/update patterns, or imperative DOM manipulation. The library is intentionally unopinionated and modular, allowing teams to use only the packages they need and build their own higher-level chart libraries on top without exposing d3 to end users.

Teams should adopt visx when they want to build custom visualizations or create internal chart libraries without the overhead of learning d3's mental model. It suits projects where bundle size matters and where teams need flexibility to implement their own design systems rather than being locked into a pre-built charting library's opinions. The tool works with React 18 or 19 and also supports Preact through aliasing. Unlike animation libraries that bundle specific solutions, visx deliberately omits built-in animation to avoid forcing dependencies; instead it works with any React animation library your project already uses.

The project maintains active development with regular updates to its package ecosystem and migration guides for major versions. Documentation includes a comprehensive gallery of examples demonstrating real-world usage patterns across different visualization types.