Top 23 Visualization Open-Source Projects

  • d3

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

    Project mention: Animated map showing frequency and location of births around the world [OC] | /r/dataisbeautiful | 2023-12-05

    I made this interactive visualization that attempts to show the real-time frequency and location of births around the world. A country’s annual births (i.e. the country’s population times its birthrate) were distributed across all of the populated locations in each country, weighted by the population distribution (i.e. more populated areas got a greater fraction of the births). Data Sources and Tools Population and birthrate data for 2023 was obtained from Wikipedia (Population and birth rates). Population distribution across the globe was obtained from Socioeconomic Data and Applications Center (sedac) at Columbia University. Data is processed and visualized at a 1 degree x 1 degree resolution, each of which has a different probability of a birth occurring in a specific time period. D3.js was used to create the map elements and html, css and javascript were used to create the user interface.

  • echarts

    Apache ECharts is a powerful, interactive charting and data visualization library for browser

    Project mention: Show HN: Paisa – Open-Source Personal Finance Manager | | 2023-09-22

    I want to know where my money goes. I like to look at stacked-area (or column) charts of the categories of spending. To make this work I have some software I made ~20 years ago that does double-entry book-keeping. At the end of the month, I import statements from financial service providers (eg: Wells Fargo, Chase, PayPal, Stripe, etc). Lots of stuff is repeat purchases (eg: Shell Gas) and my software automatically categorises. Some transactions I have to categorise manually. Each category / vendor becomes an expense-account and my banks and CCs exist as assets and liabilities.

    Once the import and reconciliation is done I pull up a my column chart that shows where the money went -- and can compare over time -- see a full year of movement. I've been through various charting libraries with it and most recently moved to ECharts[0] -- so I'm planning to expand with Treemap and Sankey style visuals.

    The import process, which I do monthly takes maybe an hour. I'm importing from like 5 bank accounts, 3 payment processors, 4 CC providers. The part that takes the longest is signing into their slow sites, navigating past pop-up/interstitial, getting to their download page and waiting for it to download. Loads of these sites (WF, Chase) have been "modernised" and have some real bullshit UI/UX going on -- lags, no keyboard, elements jump around, forms can't remember state, ctrl+click won't open in a new page cause that damned link isn't actually a link but some nested monster of DIVs with 19 event listeners on each one -- and somehow still all wrong.

    I think the most-best feature would be to have some tool automatically get all my transactions from all these providers into one common format. Gimmee some JSON with like 10 commonly-named fields for the normal stuff and then 52 other BS fields that each provider likes to add (see a PayPal CSV for example). Does that exist and I just don't know?


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

  • algorithm-visualizer

    :fireworks:Interactive Online Platform that Visualizes Algorithms from Code

    Project mention: Alternative to ? | /r/learnjavascript | 2023-02-19 is decent, interactive, and has a GitHub repo.

  • Metabase

    The simplest, fastest way to get business intelligence and analytics to everyone in your company :yum:

    Project mention: My mental model of Clojure transducers | | 2023-09-10

    It seems folks want a working example. Here's one in prod:

    Metabase is a BI tool, backend written mostly in Clojure. Like basically all BI tools they have this intermediate representation language thing so you write the same thing in "MBQL (metabase query language)" and it theoretically becomes same query in like, Postgres and Mongo and whatever. End user does not usually write MBQL, it's a service for the frontend querybuilding UI thing and lots of other frontend UI stuff mainly in usage.

    Whole processing from MBQL -> your SQL or whatever is done via a buncha big-ass transducers. Metabase is not materially faster than other BI tools (because all the other BI tools do something vaguely similar in their langs) but it's pretty comparable speed and the whole thing was materially written by like 5 peeps

    (nb: I used to work for Metabase but currently do not. but open core is open core)


    ✨ Innovative and open-source visualization application that transforms various data formats, such as JSON, YAML, XML, CSV and more, into interactive graphs.

    Project mention: FLaNK Stack Weekly for 20 June 2023 | | 2023-06-20
  • Redash

    Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data.

    Project mention: Contribuir con proyectos Open Source | /r/devsarg | 2023-12-06
  • bokeh

    Interactive Data Visualization in the browser, from Python

    Project mention: Top 10 growing data visualization libraries in Python in 2023 | | 2023-10-11


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

  • visx

    🐯 visx | visualization components

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

    Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets

    Project mention: Recommend a powerful excel processing library, @zurmokeeper/exceljs, which supports encryption and decryption of xlsx files and flexible setting of multiple table headers when exporting, etc. | /r/node | 2023-07-01

    Then I found out that WPS only supports ecma376 standard encrytion for xlsx files. Then I referred to the official documentation and libraries in other languages, such as msoffcrypto-tool written in python. msoffcrypto-tool) and go's excelize. Since I don't know much about encryption and decryption, the process of implementation is also a bit of a twist.

  • plotly.js

    Open-source JavaScript charting library behind Plotly and Dash

    Project mention: Using Plotly.js with React | | 2023-11-17

    In this lesson, we will go through the steps of using Plotly.js in React. Plotly.js is an Open Source Graphing Library. At the end of this lesson, you should be able to do a simple plot with Plotly.js.

  • Thingsboard

    Open-source IoT Platform - Device management, data collection, processing and visualization.

    Project mention: ThingsBoard Microservices Installation Update Problem | /r/ThingsBoard | 2023-11-29

    Until recently I was still using TB v3.2.1, now I've set about updating the installation to the latest version. I proceeded as described at

  • plotly

    The interactive graphing library for Python :sparkles: This project now includes Plotly Express!

    Project mention: Top 10 growing data visualization libraries in Python in 2023 | | 2023-10-11


  • apexcharts.js

    📊 Interactive JavaScript Charts built on SVG

    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.

  • G2

    📊 A concise and progressive visualization grammar.

  • sampler

    Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.

    Project mention: Bus ETA | /r/commandline | 2023-11-16

    Hi ! I'm currently in the process of building myself dashboards using sampler and / or WTF. I want a section with the live ETA of some buses stop from STM. I know they have an SMS option so that may be a lead but i've figured there might be a better way using iBus or something. Thanks in advance !!

  • vega

    A visualization grammar.

    Project mention: [OC] Most In-Demand Programming Languages from Jan-2022 to Jun-2023 | /r/dataisbeautiful | 2023-06-26

    The Data Source is from devjobsscanner (I am basically the owner, so I have the data) an the tool used to make the chart is Vega

  • G6

    ♾ A Graph Visualization Framework in JavaScript

  • Open3D

    Open3D: A Modern Library for 3D Data Processing

    Project mention: Does anyone else agree that the links to the latest development version of Open3D don't work? | /r/cscareerquestions | 2023-07-10

    I was going to file a bug about another issue, but I have to download the development version. This is why I want this solved quickly. None of the links seem to work:

  • is a powerful open source geospatial analysis tool for large-scale data sets.

    Project mention: Noob here: Please tell me how can I integrate this type of map in my site? any js library? | /r/developersIndia | 2023-07-02

    This might help:

  • react-diagrams

    a super simple, no-nonsense diagramming library written in react that just works

    Project mention: react-diagrams VS rete - a user suggested alternative | | 2023-06-09
  • vaex

    Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀

  • pygwalker

    PyGWalker: Turn your pandas dataframe into an interactive UI for visual analysis

    Project mention: PyGWalker: a Python library for data engineer that turns your dataframe into tableau-like data app. | /r/dataengineering | 2023-10-20
  • tensorboardX

    tensorboard for pytorch (and chainer, mxnet, numpy, ...)

    Project mention: [D] 2022 State of Competitive ML -- The Downfall of TensorFlow | /r/MachineLearning | 2023-03-14

    Tensorboardx is your friend:

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

Visualization related posts


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

Project Stars
1 d3 106,786
2 echarts 57,307
3 algorithm-visualizer 45,398
4 Metabase 35,058
5 26,689
6 Redash 24,208
7 bokeh 18,381
8 visx 18,047
9 excelize 16,357
10 plotly.js 16,165
11 Thingsboard 14,761
12 plotly 14,506
13 apexcharts.js 13,456
14 G2 11,841
15 sampler 11,816
16 vega 10,666
17 G6 10,389
18 Open3D 9,805
19 9,760
20 react-diagrams 8,090
21 vaex 8,075
22 pygwalker 8,032
23 tensorboardX 7,726
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