uPlot

A small, fast Canvas chart for time series, lines, areas, OHLC, and bars.

← Back to All Libraries

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"));