Overview
A small, fast Canvas-based charting library for time series, lines, areas, OHLC, and bars.
uPlot focuses on performance and a tiny footprint. It can render hundreds of thousands of points quickly, with excellent zoom and cursor interactions, without relying on WebGL.
Why Choose uPlot?
- Exceptional performance for large time-series datasets
- Tiny bundle size (~50 KB) with low memory usage
- Smooth zooming, panning, and cursor syncing
- Ideal for dashboards and real-time monitoring UIs
Real-World Applications
Commonly used for metrics dashboards, observability tools, IoT monitoring, financial tick charts, and any UI where streaming or high-volume line data needs to stay responsive.
Example Charts
Live uPlot demos — line, area, and multi-series charts.
Line Chart
Area Chart
Multi Series
Example Code
Minimal getting-started snippet for uPlot.
// npm install uplot
import uPlot from "uplot";
import "uplot/dist/uPlot.min.css";
new uPlot({
width: 420,
height: 240,
series: [
{},
{ stroke: "#5b9fd4", width: 2 },
],
scales: { x: { time: false } },
}, [
[0, 1, 2, 3, 4],
[30, 42, 38, 55, 48],
], document.getElementById("chart"));