JavaScript chart and visualization libraries
Explore Chart.js, D3.js, Highcharts, Three.js, and other chart, canvas, and WebGL packages. Compare version-pinned specifications and requirements.
18 indexed packages. Inspect package specifications and compare alternatives according to their actual role in your application.
Packages in this category
- AnyChart: AnyChart is a lightweight and robust JavaScript charting solution with great API and documentation. The chart types and unique features are numerous, and the library works easily with any development stack.
- Apache ECharts: Apache ECharts is a powerful, interactive charting and data visualization library for browser
- Chart.js: Simple HTML5 charts using the canvas element.
- Cytoscape: Graph theory (a.k.a. network) library for analysis and visualisation
- D3.js: Data-Driven Documents
- FusionCharts: FusionCharts JavaScript charting framework
- JointJS: JavaScript diagramming library
- p5.js: [](https://www.npmjs.com/package/p5)
- Babylon.js: Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
- Plotly.js: The open source javascript graphing library that powers plotly
- Raphaël: JavaScript Vector Library
- Three.js: JavaScript 3D library
- React Three Fiber: A React renderer for Threejs
- react-chartjs-2: React components for Chart.js
- Chartist: Simple, responsive charts
- Fabric.js: Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
- Konva: HTML5 2d canvas library for interactive graphics, design editors, whiteboards, and diagrams.
- Highcharts: JavaScript charting framework
What to compare
- Distinguish ready-made charts, low-level visualization primitives, graph tools, and 3D rendering packages.
- Check documented SVG, canvas, or WebGL behavior and any required assets or browser APIs.
- Review framework wrappers, interaction, accessibility, and export requirements in the maintainer’s documentation.
- Use equivalent import scenarios; a full visualization bundle and a selected renderer are different measurements.
Example package specifications
anychart
| Latest version | 9.0.0 |
|---|---|
| Runtime dependencies | 0 |
| Bundled types | Bundled declarations |
| Gzip measurement | 861.74 KiB |
Evidence and freshness
- https://registry.npmjs.org/anychart/9.0.0 — retrieved 2026-10-29T05:09:10.946Z
- https://api.deps.dev/v3/systems/npm/packages/anychart/versions/9.0.0:dependencies — retrieved 2026-10-28T23:30:10.183Z
- https://bundlephobia.com/api/size?package=anychart%409.0.0 — retrieved 2026-10-28T23:30:10.027Z
- https://api.deps.dev/v3/systems/npm/packages/anychart/versions/9.0.0 — retrieved 2026-10-29T05:09:11.295Z
- https://api.deps.dev/v3/projects/github.com%2FAnyChart%2FAnyChart — retrieved 2026-10-29T05:09:11.598Z
echarts
| Latest version | 6.1.0 |
|---|---|
| Runtime dependencies | 2 |
| Bundled types | Bundled declarations |
| Gzip measurement | 359.33 KiB |
Evidence and freshness
- https://registry.npmjs.org/echarts/6.1.0 — retrieved 2026-10-29T05:09:26.449Z
- https://api.deps.dev/v3/systems/npm/packages/echarts/versions/6.1.0:dependencies — retrieved 2026-10-28T23:30:10.623Z
- https://api.deps.dev/v3/systems/npm/packages/echarts/versions/6.1.0 — retrieved 2026-10-29T05:09:26.705Z
- https://bundlephobia.com/api/size?package=echarts%406.1.0 — retrieved 2026-10-28T23:30:10.549Z
- https://api.deps.dev/v3/projects/github.com%2Fapache%2Fecharts — retrieved 2026-10-29T05:09:27.010Z