# JavaScript charting libraries

> Libraries for line, bar, area, pie, scatter and other standard charts in the browser. 29 tools, ranked by GitHub stars.

Libraries for drawing standard charts (line, bar, area, pie, scatter and more) in the browser. They differ mostly in rendering technology, in how charts are configured, and in licensing. SVG output is easy to style, inspect and make accessible; Canvas and WebGL renderers scale to far more data points.

Start with data size and interactivity: SVG libraries are comfortable up to a few thousand marks, while Canvas-based libraries such as Chart.js and Apache ECharts handle much larger series. Then compare configuration style (declarative options objects versus code), framework wrappers, accessibility support and whether the license fits your product.

| # | Tool | GitHub stars | Commits (12 mo) | License | Description |
|---:|---|---:|---:|---|---|
| 1 | [Chart.js](https://awesomedataviz.com/tools/chart-js/) | 67,733 | 21 | MIT | Charts with the canvas tag. |
| 2 | [Apache ECharts](https://awesomedataviz.com/tools/echarts/) | 67,449 | 266 | Apache-2.0 | Highly customizable and interactive charts ready for big datasets. |
| 3 | [Plotly.js](https://awesomedataviz.com/tools/plotly-js/) | 18,355 | 1,549 | MIT | Powerful declarative library with support for 20 chart types. |
| 4 | [Lightweight Charts](https://awesomedataviz.com/tools/lightweight-charts/) | 17,473 | 329 | Apache-2.0 | Performant HTML5 canvas financial charts, from TradingView. |
| 5 | [ApexCharts](https://awesomedataviz.com/tools/apexcharts/) | 15,169 | 832 | Other | Modern & Interactive SVG Charts. |
| 6 | [Frappe Charts](https://awesomedataviz.com/tools/frappe-charts/) | 15,088 | 0 | MIT | Simple, responsive SVG charts with zero dependencies. |
| 7 | [Chartist.js](https://awesomedataviz.com/tools/chartist-js/) | 13,390 | 1 | MIT | Responsive charts with great browser compatibility. |
| 8 | [G2](https://awesomedataviz.com/tools/g2/) | 12,631 | 88 | MIT | An interactive and responsive charting library based on the grammar of graphics, maintained by Alibaba. |
| 9 | [uPlot](https://awesomedataviz.com/tools/uplot/) | 10,542 | 118 | MIT | Small, fast canvas-based charts for time series, lines, areas, OHLC and bars. |
| 10 | [C3.js](https://awesomedataviz.com/tools/c3-js/) | 9,350 | 18 | MIT | D3-based reusable chart library. |
| 11 | [dc.js](https://awesomedataviz.com/tools/dc-js/) | 7,430 | 0 | Apache-2.0 | Multi-dimensional charting built to work natively with crossfilter. |
| 12 | [MetricsGraphics.js](https://awesomedataviz.com/tools/metricsgraphics-js/) | 7,394 | 0 | MPL-2.0 | Optimized for time-series data. |
| 13 | [NVD3](https://awesomedataviz.com/tools/nvd3/) | 7,229 | 0 | Apache-2.0 | A reusable charting library written in d3.js. |
| 14 | [roughViz](https://awesomedataviz.com/tools/roughviz/) | 7,161 | 0 | MIT | Sketchy, hand-drawn style charts for the browser, based on Rough.js. |
| 15 | [Charts.css](https://awesomedataviz.com/tools/charts-css/) | 6,582 | 0 | MIT | CSS framework that styles HTML tables as charts. |
| 16 | [Frappe Gantt](https://awesomedataviz.com/tools/frappe-gantt/) | 6,134 | 38 | MIT | Simple, interactive SVG Gantt chart library. |
| 17 | [billboard.js](https://awesomedataviz.com/tools/billboard-js/) | 6,014 | 138 | MIT | Reusable D3.js-based chart library with SVG and Canvas rendering, maintained by NAVER. |
| 18 | [Observable Plot](https://awesomedataviz.com/tools/observable-plot/) | 5,400 | 38 | ISC | A JavaScript library for exploratory data visualization. |
| 19 | [TOAST UI Chart](https://awesomedataviz.com/tools/toast-ui-chart/) | 5,400 | 0 | MIT | Complete library with support for legacy browsers. |
| 20 | [Epoch](https://awesomedataviz.com/tools/epoch/) | 4,942 | 0 | MIT | Perfect to create real-time charts. |
| 21 | [Dygraphs](https://awesomedataviz.com/tools/dygraphs/) | 3,243 | 54 | MIT | Interactive line charts library that works with huge datasets. |
| 22 | [Unovis](https://awesomedataviz.com/tools/unovis/) | 2,857 | 590 | Apache-2.0 | Modular data visualization framework for React, Angular, Svelte, Vue and vanilla TypeScript, by F5. |
| 23 | [TechanJS](https://awesomedataviz.com/tools/techanjs/) | 2,436 | 0 | MIT | Stock and financial charts. |
| 24 | [Vizzu](https://awesomedataviz.com/tools/vizzu/) | 2,036 | 21 | Apache-2.0 | Library for animated data visualizations and data stories. |
| 25 | [GraphicsJS](https://awesomedataviz.com/tools/graphicsjs/) | 995 | 0 | BSD-3-Clause | Lightweight JS graphics library with intuitive API, based on SVG/VML. |
| 26 | [dxcharts-lite](https://awesomedataviz.com/tools/dxcharts-lite/) | 101 | 3,699 | MPL-2.0 | Flexible financial charting library based on HTML5 canvas. |
| 27 | [lit-line](https://awesomedataviz.com/tools/lit-line/) | 22 | 0 | MIT | SVG Line Chart Web Component - light, fast, interactive & fully responsive. |
| 28 | [Glyph](https://awesomedataviz.com/tools/glyph/) | 3 | 258 | Apache-2.0 | Deterministic chart library that renders the same JSON spec to identical SVG on every platform, with DuckDB inside and an MCP server for AI agents. |
| 29 | [Google Charts](https://awesomedataviz.com/tools/google-charts/) | – | – | – | Interactive charts for browsers and mobile devices. |

Source: https://awesomedataviz.com/categories/javascript-charting-libraries/ · Data updated 2026-10-04 · Content: CC BY 4.0, Awesome Dataviz (https://awesomedataviz.com).
