5,383 stars · ISC · v0.6.17 (2025-02-14, ungh and npm agree) — nineteen months, against code pushed 2026-09-01 · Track this in Scout
A concise charting API built on a layered grammar of graphics, from the makers of D3.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Observable Plot is a JavaScript library that implements a layered grammar of graphics: you say what the marks are, what the data is and which columns map to which parts of the chart, and it works out the scales and axes. It is built on D3 and made by the same organisation.
What it is good for. Anyone who needs a decent chart in a web page and does not want to spend an afternoon on it. The situation is the one D3 users know well: D3 can draw anything, and drawing a bar chart with it takes forty lines. Plot draws the bar chart in four and still lets you reach down into D3 when the chart is genuinely unusual.
- Very little code per chart, and sensible defaults for axes, scales and legends.
- ISC licensed, which is as permissive as MIT.
- It is built on D3 rather than hiding it, so unusual requirements do not mean starting again in another library.
- The newest release is v0.6.17, dated 14 February 2025 — nineteen months ago. Code landed on 1 September 2026, so this is a release habit and not a dead project, but anyone who installs from npm is installing something a year and a half old.
- Still below version 1.0. The interface has changed between minor versions before.
- It renders in a browser. There is no server-side image output without extra work, so it is not the tool for a PDF report.
- d3/d3
The toolkit underneath; it can draw anything and asks far more of you for each chart.
Track this in Scout - vega/vega-lite
The same grammar idea expressed as JSON rather than as JavaScript calls, which suits generating charts from another program.
Track this in Scout - plotly/plotly.js
A much larger library with interactive charts ready made, and a correspondingly larger download.
Track this in Scout
npm install @observablehq/plot
