A small, fast Canvas 2D-based charting library for time series, lines, areas, ohlc, and bars.
μPlot is a lightweight, high-performance JavaScript charting library built on Canvas 2D, designed specifically for rendering time series data, lines, areas, ohlc, and bars. It solves the problem of slow, bloated charting libraries by offering exceptional speed and minimal memory usage, enabling smooth interactions with large datasets. Unlike many alternatives, it focuses solely on efficient rendering without unnecessary features like animations or built-in data processing.
Developers building performance-sensitive web applications that require fast, interactive time series visualizations, such as financial dashboards, real-time monitoring tools, or data analytics platforms. It's particularly suited for those who prioritize speed and efficiency over decorative features.
Developers choose μPlot for its unmatched combination of small bundle size (~50 KB), blazing-fast rendering, and low memory footprint. It outperforms larger libraries like Chart.js and ECharts in CPU and memory usage, making it the go‑to choice when performance is critical and every kilobyte matters.
📈 A small, fast chart for time series, lines, areas, ohlc & bars
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show it renders 166,650 data points in 25ms from cold start and scales linearly at ~100,000 points per millisecond, outperforming larger libraries like Chart.js and ECharts.
At ~50 KB minified, it's significantly smaller than alternatives such as Chart.js (254 KB) or ECharts (1000 KB), reducing load times and bandwidth usage.
Can stream data at 60fps with low resource usage, consuming only 10% CPU and 12.3MB RAM for 3,600 points, compared to 40% / 77MB for Chart.js in similar tests.
Lacks data parsing, aggregation, or statistical functions, forcing developers to integrate external libraries like simple-statistics for preprocessing, adding complexity.
Documentation is a perpetual work in progress, with API details scattered in TypeScript comments and demos, making the learning curve steeper for newcomers.
Omits animations, has no automatic label collision avoidance, and discourages smooth spline interpolation, restricting visual polish and requiring manual tweaks.
μPlot is an open-source alternative to the following products:
Chart.js is an open-source JavaScript library for creating responsive, interactive, and customizable charts and graphs on web pages using HTML5 Canvas.
An open-source JavaScript charting library that produces interactive, zoomable charts of time series data, optimized for displaying large datasets.
LightningChart is a high-performance charting library for .NET and JavaScript, specializing in real-time data visualization with advanced graphics capabilities.
ApexCharts is an open-source modern JavaScript charting library that creates interactive visualizations with a simple API and responsive design.
A JavaScript charting library for creating interactive, responsive charts and graphs for web applications.
Plotly.js is an open-source JavaScript graphing library built on D3.js and stack.gl that creates interactive, publication-quality charts and visualizations for web applications.