JavaScript Chart

Open-source JavaScript projects categorized as Chart

Top 23 JavaScript Chart Projects

  • Chart.js

    Simple HTML5 Charts using the <canvas> tag

    Project mention: What is the technology stack used to create these live charts? | /r/learnprogramming | 2023-12-10

    They are images so it could be any number of things, datawrapper, charts.js, d3.js to name a few options.

  • Luckysheet

    Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.

    Project mention: config for luckysheet | /r/learnjavascript | 2023-03-22

    You might be better off asking their community.

  • Appwrite

    Appwrite - The open-source backend cloud platform. Add Auth, Databases, Functions, and Storage to your product and build any application at any scale while using your preferred coding languages and tools.

  • Frappe Charts

    Simple, responsive, modern SVG Charts with zero dependencies (by frappe)

    Project mention: Learn SVG with 25 examples – How to code images in HTML | | 2023-12-07

    As a frontend dev who also works in UX and graphics from time to time, I find it helpful to be able to do both, looking at SVGs as both a vector graphics format and a human-readable XML. IME the workflow depends more on whether any SVG is meant to be illustrative (like art) or quantitative (like charts) or interactive and animated/mutable (like a game).

    For something like this bell example (, you can certainly hand-code it if you're really math-inclined and can estimate the formulas of curves just by looking at them, but for us mere mortals, it's easier to just draw out the curves in a graphics app then export as an SVG. And for things like the ringer (is that what you call it? the orange ball thing at the bottom of the bell that strikes the bell to make the sound), being able to visually draw it on a canvas, change its size, drag it around and play with its colors and dimensions, etc. is really helpful. Figma is fine for simpler graphics, but it's really more of a UX tool than a graphic design tool, and Illustrator is a lot more powerful. Inkscape is a FOSS option.

    In other circumstances, though, manipulating the SVG XML directly is also very helpful. Let's say you want to programatically generate a bar chart. If you have a big dataset, it's going to take a designer forever to manually plot them and change them every time the data changes. But it's easy for a dev to use Javascript (or any language) to draw each rectangle, programmatically adjust their heights and colors based on the data, add tooltips, etc. And that way you can dynamically update them in real-time whenever the data changes (like if the user selects a different date range, or new events come in). A lot of this is made easier by libs like or But before you take that approach, you should know that for complex charts, sometimes Canvas rendering (or just generating graphics in the backend) can be more performant than SVG.

    SVGs can also be animated and interactive, not just with CSS transitions but by directly manipulating the XML geometries, like or or This is fine for product pages and such, but for really graphics-intensive apps (full games) it's probably slower than other rendering pipelines. (Not my specialty, won't speculate too much.)

    TLDR Drawing them in a graphics app is usually easier for the designers, but the XML can be programmatically manipulated afterward to great effect.

  • webpack-bundle-analyzer

    Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap

    Project mention: Bundle size analyzer when using esbuild? | /r/Angular2 | 2023-06-01

    I used to use webpack-bundle-analyzer but we have switched the builder to browser-esbuild now.

  • victory

    A collection of composable React components for building interactive data visualizations

    Project mention: Level Up Your Web App with Stunning React Charts: Introducing the Top 10 React Charts Libraries | | 2023-07-31

    Victory is a set of modular charting components for React and React Native. Victory makes it easy to get started without sacrificing flexibility. Create one of a kind data visualizations with fully customizable styles and behaviors. Victory uses the same API for web and React Native applications for easy cross-platform charting.

  • c3

    :bar_chart: A D3-based reusable chart library

  • uPlot

    📈 A small, fast chart for time series, lines, areas, ohlc & bars

    Project mention: Small and fast 2D canvas chart for time series, lines, areas and bars | | 2023-01-26
  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • chart.xkcd

    xkcd styled chart lib

  • react-sparklines

    Beautiful and expressive Sparklines React component

  • semiotic

    A data visualization framework combining React & D3

  • Vizzu

    Library for animated data visualizations and data stories.

  • react-d3-components

    D3 Components for React

  • ervy

    Bring charts to terminal.

  • react-dashboard

    🔥React Dashboard - isomorphic admin dashboard template (React.js, Bootstrap, Node.js, GraphQL, React Router, Babel, Webpack, Browsersync) 🔥

  • vis-timeline

    📅 Create a fully customizable, interactive timelines and 2d-graphs with items and ranges.

  • react-dazzle

    :rocket: Dashboards made easy in React JS.

  • react-highcharts

    React wrapper for Highcharts library

  • react-timeseries-charts

    Declarative and modular timeseries charting components for React

  • chartjs-chart-financial

    Chart.js module for charting financial securities

  • react-chartist

    ⚛ React component for Chartist.js

  • AnyChart

    AnyChart is a lightweight and robust JavaScript charting solution with great API and documentation. The chart types and unique features are numerous, the library works easily with any development stack.

    Project mention: How to Create an OHLC Chart in JavaScript | | 2023-11-20

    Now that the basic HTML structure is in place, it's time to incorporate the JavaScript files necessary for creating our OHLC chart. We can add these to our project in two ways: by downloading and using them locally, or by linking to them through a Content Delivery Network (CDN). For this tutorial, let’s opt for the CDN approach, including links to the essential scripts in the section of our HTML page. We'll use AnyChart JS Charts, and to create an OHLC chart, it’s necessary to include the Core and Stock modules, as well as the Data Adapter one, which will make it easy to load data from a file.

  • clchart

    A fast, simple and cross-platform(html5 react-native weex wechat-applet) stock chart library created using canvas.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-12-10.

JavaScript Chart related posts


What are some of the best open-source Chart projects in JavaScript? This list will help you:

Project Stars
1 Chart.js 62,474
2 Luckysheet 15,045
3 Frappe Charts 14,852
4 webpack-bundle-analyzer 12,434
5 victory 10,616
6 c3 9,301
7 uPlot 8,187
8 chart.xkcd 7,489
9 react-sparklines 2,815
10 semiotic 2,410
11 Vizzu 1,813
12 react-d3-components 1,627
13 ervy 1,578
14 react-dashboard 1,532
15 vis-timeline 1,514
16 react-dazzle 1,439
17 react-highcharts 1,256
18 react-timeseries-charts 842
19 chartjs-chart-financial 689
20 react-chartist 525
21 tplink-energy-monitor 445
22 AnyChart 363
23 clchart 315
Learn any GitHub repo in 59 seconds
Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at