D3.js vs Observable Plot
A data-driven comparison of two data visualization tools: popularity, development activity, licensing and installation. Updated .
JavaScript library for producing dynamic, data-driven visualizations with SVG, Canvas and HTML.
A JavaScript library for exploratory data visualization.
Key differences
- D3.js has 21× as many GitHub stars as Observable Plot (113.8K vs 5.4K).
- Observable Plot had more development activity over the last 12 months: 38 commits vs 2.
- D3.js is downloaded 28× as often on npm (25.7M vs 928.3K per week).
- Both are released under the ISC license.
- D3.js is written primarily in JavaScript, Observable Plot in HTML.
- D3.js is the older project: its repository was created in 2010, Observable Plot's in 2020.
By the numbers
- D3.js
- Observable Plot
Show data as a table
| Metric | D3.js | Observable Plot |
|---|---|---|
| GitHub stars | 113,802 | 5,400 |
| npm downloads / week | 25,739,179 | 928,276 |
| Commits, last 12 months | 2 | 38 |
| Contributors | 136 | 28 |
| Forks | 22,637 | 245 |
Development activity
Commits per month to each default branch, last 12 complete months.
- D3.js
- Observable Plot
Show data as a table
| Month | D3.js | Observable Plot |
|---|---|---|
| Oct 2025 | 0 | 0 |
| Nov 2025 | 0 | 1 |
| Dec 2025 | 1 | 0 |
| Jan 2026 | 0 | 0 |
| Feb 2026 | 0 | 1 |
| Mar 2026 | 0 | 10 |
| Apr 2026 | 0 | 24 |
| May 2026 | 1 | 1 |
| Jun 2026 | 0 | 0 |
| Jul 2026 | 0 | 0 |
| Aug 2026 | 0 | 0 |
| Sep 2026 | 0 | 1 |
Side by side
| Attribute | D3.js | Observable Plot |
|---|---|---|
| Description | JavaScript library for producing dynamic, data-driven visualizations with SVG, Canvas and HTML. | A JavaScript library for exploratory data visualization. |
| Category | D3.js | JavaScript charting libraries |
| License | ISC | ISC |
| Language | JavaScript | HTML |
| Status | Maintained | Active |
| Latest release | v7.9.0 () | v0.6.17 () |
| Last commit | ||
| Repository created | ||
| Open issues | 5 | 251 |
| Install | npm install d3 | npm install @observablehq/plot |
Which should you choose?
Popularity and activity are only part of the story. Consider which ecosystem you work in, the chart types and interactions you need, how much data you render, and whether the license fits your project. Both tool pages list alternatives if neither is quite right.
-
D3.js
JavaScript library for producing dynamic, data-driven visualizations with SVG, Canvas and HTML.
-
Observable Plot
A JavaScript library for exploratory data visualization.