Use for extensive chart types (map, tree, etc.) and built-in interactions at the cost of a larger bundle than Chart.js.
Apache ECharts is a powerful, interactive charting and data visualization library for browser
- 67.2k
- TypeScript
- Apache-2.0
browser charting
Chart.js is a lightweight JavaScript library for creating responsive, canvas-based charts in the browser.
Same problem, same approach. Swapping one for another is a config change, not a rewrite.
Use for extensive chart types (map, tree, etc.) and built-in interactions at the cost of a larger bundle than Chart.js.
Apache ECharts is a powerful, interactive charting and data visualization library for browser
Use for scientific/3D plots and dashboards needing zoom/pan; heavier and tied to Plotly's paradigm.
Open-source JavaScript charting library behind Plotly and Dash
Use if you prefer SVG-based rendering and a reactive API for business charts; larger community but canvas-less.
📊 Interactive JavaScript Charts built on SVG
Use for feature-heavy visualizations (maps, stock, gauges) when you need the extra options and don't mind a larger library.
The most advanced amCharts charting library for JavaScript and TypeScript apps.
Use for a minimal zero-dependency SVG charting option; simpler but less comprehensive than Chart.js.
Simple, responsive, modern SVG Charts with zero dependencies
Use for lightweight responsive SVG charts with a clean API; less feature-rich than Chart.js.
Simple responsive charts
Use for a D3-based simple API charting library with SVG/canvas rendering; a good Chart.js alternative if you like D3 under the hood.
📊 Re-usable, easy interface JavaScript chart library based on D3.js, with SVG and Canvas rendering support
Solves the same problem with a different architecture or at a different layer. Expect to rewrite the integration.
Use for D3-based modular chart components with a declarative API; depends on D3 and is more verbose.
:bar_chart: A library of modular chart components built on D3
An earlier or more limited way to do the job. Still the right call when you need something small, proven, or CPU-only.
Use for financial candlestick charts with indicators in React; stale and finance-specific, not general charting.
Charts dedicated to finance.
Use for high-frequency financial candlestick charts on canvas; purpose-built for trading, not other chart types.
Performant financial charts built with HTML5 canvas
Use when you want the xkcd hand-drawn look for basic charts; limited to a few chart types.
xkcd styled chart lib
Use for smooth real-time streaming line charts; niche library with no support for other chart types.
Smoothie Charts: smooooooth JavaScript charts for realtime streaming data
Use for React component-based charting, but it's archived and shouldn't be used in new projects.
⚛️ Simple, immersive & interactive charts for React
Use for legacy real-time graphs with D3; built on D3 and outdated compared to Chart.js.
JavaScript toolkit for creating interactive real-time graphs
Use only for charts in WeChat Mini Programs; not usable in ordinary web pages.
微信小程序图表库,Charts for WeChat Mini Program
These projects were analysed and named Chart.js among their alternatives. The relationship is not symmetric — how Chart.js rates them is a separate judgement, made when Chart.js is analysed in its own right.
calls Chart.js “when you need a lightweight, widely-used canvas charting library with a simple API for standard charts.”
A JavaScript library for real-time visualization
calls Chart.js “Choose when you need a general-purpose canvas chart library with a larger ecosystem and are willing to add a financial plugin.”
Performant financial charts built with HTML5 canvas
calls Chart.js “Choose it if you prefer canvas rendering and a simpler API over SVG.”
📊 Interactive JavaScript Charts built on SVG
calls Chart.js “when you need canvas-based charts and a very large ecosystem; choose over SVG-only.”
Simple, responsive, modern SVG Charts with zero dependencies
calls Chart.js “Choose when you need a canvas-based charting library with a huge ecosystem and a simple, popular API.”
Simple responsive charts
calls Chart.js “Choose when you need canvas-based charts for large datasets and don't want a D3 dependency.”
:bar_chart: A D3-based reusable chart library
calls Chart.js “Choose when you need a widely-adopted, actively maintained chart library with canvas rendering and many chart types.”
xkcd styled chart lib
calls Chart.js “Choose it when canvas rendering and a large plugin ecosystem matter more than Rickshaw's SVG/D3 integration.”
JavaScript toolkit for creating interactive real-time graphs
calls Chart.js “Choose for simple canvas-based charts with a tiny API when you don't need Plottable's SVG component flexibility.”
:bar_chart: A library of modular chart components built on D3
calls Chart.js “Use when you only need a canvas charting library with a permissive MIT license, not a full grid/editor/scheduler suite.”
HTML5 JavaScript Component Suite for Responsive Web Development