Top 23 Chart Open-Source Projects

  • d3

    Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

    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.

  • 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.

  • 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.

  • MPAndroidChart

    A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

    Project mention: How can I Implement this kind of graph UI? | /r/androiddev | 2023-01-05
  • helm

    The Kubernetes Package Manager

    Project mention: Five tools to add to your K8s cluster | | 2023-12-08

    Within the architecture of Cyclops, a central component is the Helm engine, which allows the dynamic generation of configurations. This engine serves as a key mechanism for efficiently managing settings and parameters in the Cyclops framework.

  • visx

    🐯 visx | visualization components

    Project mention: Show HN: Matrices – explore, visualize, and share large datasets | | 2023-12-07
  • cube.js

    📊 Cube — The Semantic Layer for Building Data Applications

    Project mention: Need to reduce costs - which service to use? | /r/dataengineering | 2023-12-05

    also check out they can do the semantic layer and cache it so you are not hitting Snowflake all the time.

  • TOAST UI Editor

    🍞📝 Markdown WYSIWYG Editor. GFM Standard + Chart & UML Extensible.

    Project mention: I'm making a GlowUI text editor to get back into coding | /r/Windows11 | 2023-06-09

    If you need a WYSIWYG markdown editor you can try Toast UI Editor or simply use Markdown Live add-on for Visual Studio Code

  • 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

  • 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.

  • 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.

  • G2

    📊 A concise and progressive visualization grammar.

  • 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
  • chart.xkcd

    xkcd styled chart lib

  • HelloCharts

    Charts library for Android compatible with API 8+, several chart types with scaling, scrolling and animations 📊

  • flutter_deer

    🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.

  • GoJS, a JavaScript Library for HTML Diagrams

    JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.

    Project mention: Burning money on paid ads for a dev tool – what we've learned | | 2023-09-29

    Have spent six figures yearly on ads, mostly for reach for the developer-focused diagram library GoJS (

    > Each experiment will need ~$500 and 2 weeks

    I would add a zero if you want serious data. I would also double the timescale. $5,000 over 4 weeks

    I second the uselessness of Google Display, it might look like conversions numbers are good but they are 100% too good to be true. As soon as you look into them you find the sources are things like "ad from HappyFunBabyTime Android app". You have to ruthlessly prune daily for months to get anything real, and even then I'm skeptical of value. For a developer tool with very strict conversion metrics!

    But I disagree on Google Search:

    > Good for conversion, bad for awareness.

    Before we were popular it was excellent for awareness. Post popularity its much more arguable.

  • react-chartjs-2

    React components for Chart.js, the most popular charting library

    Project mention: React Ecosystem in 2024 | | 2023-10-16

    React Chartjs 2 - Visit for more information. React Chartjs 2 is a React wrapper for Chart.js, a popular JavaScript charting library. It provides an easy way to integrate Chart.js into your React applications, allowing you to create a variety of charts and graphs with the underlying features of Chart.js.

  • BizCharts

    Powerful data visualization library based on G2 and React.

  • fl_chart

    FL Chart is a highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.

    Project mention: How to build a mood tracker app in Flutter | | 2023-03-29

    FL chart library

  • Charts.css

    Open source CSS framework for data visualization.

  • billboard.js

    📊 Re-usable, easy interface JavaScript chart library based on D3.js

  • 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.

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.

Chart related posts


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

Project Stars
1 d3 106,786
2 Chart.js 62,474
3 MPAndroidChart 36,994
4 helm 25,312
5 visx 18,084
6 cube.js 16,571
7 TOAST UI Editor 16,495
8 Luckysheet 15,045
9 Frappe Charts 14,852
10 webpack-bundle-analyzer 12,434
11 G2 11,841
12 victory 10,616
13 c3 9,301
14 uPlot 8,187
15 chart.xkcd 7,497
16 HelloCharts 7,417
17 flutter_deer 7,411
18 GoJS, a JavaScript Library for HTML Diagrams 7,217
19 react-chartjs-2 6,199
20 BizCharts 6,109
21 fl_chart 6,099
22 Charts.css 5,966
23 billboard.js 5,660
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.