PACKAGE · CHARTS

@visx/visx

One stop install for all visx packages

WEEKLY DOWNLOADS 45.7K
STARS 20.8K
FORKS 766
OPEN ISSUES 147
GZIP SIZE 293.4 kB
UNPACKED SIZE 12.3 kB
LAST UPDATED 6mo ago
DOWNLOAD TRENDS

@visx/visx downloads — last 12 months

Download trends for @visx/visx1 download series from Jun 2025 to May 2026. Use left and right arrow keys to inspect monthly values.083.8K167.5K251.3K335.1KJun 2025SepDecMarMay 2026
@visx/visx
ABOUT @VISX/VISX

@visx/visx is a comprehensive toolkit for building data visualizations within React applications, offering a unified installation of all visx packages. It addresses the challenge of integrating complex charting libraries with modern React development by providing composable, primitive-based components. This approach allows developers to build custom, performant, and highly interactive data visualizations without being constrained by opinionated charting components.

At its core, visx is designed for React developers who need fine-grained control over their visualizations. It leverages D3.js for its powerful data manipulation and geometric calculations but abstracts away much of D3's imperative DOM manipulation. The goal is to enable developers to compose visualizations using React's declarative paradigm, making them easier to manage and update.

The primary API pattern revolves around a collection of low-level visualization primitives. These include components for axes (e.g., `@visx/axis`), scales (e.g., `@visx/scale`), shapes (e.g., `@visx/shape`), and tooltips (e.g., `@visx/tooltip`). Developers compose these primitives, often using hooks like `useScale` and `useTheme`, to construct bespoke charts tailored to their specific data and design requirements.

visx integrates seamlessly into the React ecosystem. Its component-based architecture fits naturally with standard React workflows, including SSR and frameworks like Next.js. It encourages using standard React state management and context APIs, making it adaptable to various project architectures. The package also provides utilities for integrating with D3.js, allowing developers to leverage existing D3 expertise.

With a weekly download count of 69.1K and 20.6K GitHub stars, visx is a mature and widely-used library. Its unpacked size of 12.3 kB is relatively small, though the gzipped bundle size of 293.4 kB for the entire collection indicates a trade-off for providing a broad set of primitives. This size is typical for a comprehensive visualization suite offering extensive functionality.

Developers should be aware that visx provides building blocks rather than pre-built charts. This means constructing common chart types like bar or line charts requires composing multiple primitives. The library maintains 147 open issues, suggesting ongoing development and potential areas for community contribution or bug fixes. Its last update was on November 11, 2025.

WHEN TO USE
  • When building highly custom and interactive charts in React where fine-grained control over SVG rendering is essential.
  • When leveraging D3.js for data manipulation and scaling but preferring a declarative React-based approach for DOM rendering.
  • When creating reusable charting components that need to integrate seamlessly with a React application's existing theming and state management.
  • When needing primitives for axes, shapes, and animations (e.g., `Axis`, `Bar`, `Line`, `Circle` from `@visx/shape` and `@visx/axis`).
  • When integrating complex tooltip interactions using the `@visx/tooltip` package with custom positioning and content.
  • When needing to manage complex data transformations and mappings using D3 scales within a React context via hooks like `useScale`.
WHEN NOT TO USE
  • If you only require very simple static charts, a lighter SVG charting library or direct SVG rendering might be more appropriate.
  • If you prefer a charting library that provides opinionated, ready-to-use chart components out-of-the-box without composition.
  • When building non-React applications, as visx is fundamentally designed as a React visualization library.
  • If your primary requirement is a charting solution with a minimal bundle size and limited features.
  • When you do not need to leverage the specific primitives and composition patterns offered by the visx ecosystem.

CORRECTIONS

Spot wrong data here?

A short note helps us fix it.

Anonymous · No account · No email back

COMPARISONS 6
@visx/visx vs d3 ★ 113.0K · 6.5M/wk @visx/visx vs echarts ★ 66.5K · 1.6M/wk @visx/visx vs @nivo/core ★ 14.0K · 733.5K/wk @visx/visx vs chart.js ★ 67.5K · 6.2M/wk @visx/visx vs recharts ★ 27.2K · 25.9M/wk @visx/visx vs @progress/kendo-react-charts ★ 239 · 16.2K/wk