JavaScript Data Visualization

Open-source JavaScript projects categorized as Data Visualization

Top 23 JavaScript Data Visualization Projects

  • three.js

    JavaScript 3D Library.

    Project mention: Things you should know before learning Three.js | | 2024-02-04

    For one of my 100-Day Challenges, I chose to dive into Three.js, a JavaScript 3D library. It's easy to start learning, and it becomes difficult to master with the inclusion of shaders.

  • Chart.js

    Simple HTML5 Charts using the <canvas> tag

    Project mention: Frontend Developer Roadmap | | 2024-02-16


  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • fabric.js

    Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser

    Project mention: Step by step on how to setup fabric.js in the next.js app | | 2023-09-30

    Fabric.js is a powerful and simple Javascript HTML5 canvas library. It provides an interactive object model on top of the canvas element. Fabric also has SVG-to-canvas (and canvas-to-SVG) parser.

  • p5.js

    p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. —

    Project mention: Coming Home From the South Pole | | 2024-01-10
  • plotly.js

    Open-source JavaScript charting library behind Plotly and Dash

    Project mention: FLaNK Stack Weekly 19 Feb 2024 | | 2024-02-19
  • 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.

  • paper.js

    The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey

    Project mention: How Framer/Figma is built? | /r/webdev | 2023-05-29

    I started with angular and paper.js:

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • Snap.svg

    The JavaScript library for modern SVG graphics.

  • apexcharts.js

    📊 Interactive JavaScript Charts built on SVG

    Project mention: ApexCharts | | 2024-02-06
  • raphael

    JavaScript Vector Library

  • svg.js

    The lightweight library for manipulating and animating SVG

  • vega

    A visualization grammar.

    Project mention: Plotting XGBoost Models with Elixir | | 2024-01-27

    I recently added support for plotting XGBoost models using Vega ( into the XGBoost Elixir API (

    Since EXGBoost supports loading trained models across different APIs, you can even train using the Python API and then plot using this Elixir API if you prefer.

  • trianglify

    Algorithmically generated triangle art

  • Cytoscape.js

    Graph theory (network) library for visualisation and analysis

    Project mention: Cytoscape.js: Graph theory (network) library for visualisation and analysis | | 2023-07-18
  • c3

    :bar_chart: A D3-based reusable chart library

  • uPlot

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

  • two.js

    A renderer agnostic two-dimensional drawing api for the web.

  • dc.js

    Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js

  • nvd3

    A reusable charting library written in d3.js

  • roughViz

    Reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser.

  • rickshaw

    JavaScript toolkit for creating interactive real-time graphs

  • heatmap.js

    🔥 JavaScript Library for HTML5 canvas based heatmaps

  • flot

    Attractive JavaScript charts for jQuery


    Learn 300+ open source libraries for free using AI. LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!

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 2024-02-19.

JavaScript Data Visualization related posts


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

Project Stars
1 three.js 97,572
2 Chart.js 63,009
3 fabric.js 26,978
4 p5.js 20,665
5 plotly.js 16,356
6 Frappe Charts 14,868
7 paper.js 14,130
8 Snap.svg 13,799
9 apexcharts.js 13,625
10 raphael 11,229
11 svg.js 10,782
12 vega 10,777
13 trianglify 10,048
14 Cytoscape.js 9,659
15 c3 9,307
16 uPlot 8,343
17 two.js 8,134
18 dc.js 7,407
19 nvd3 7,205
20 roughViz 6,595
21 rickshaw 6,538
22 heatmap.js 6,120
23 flot 5,954
Learn 300+ open source libraries for free using AI.
LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI!