SciChart.js: High Performance JavaScript Chart Library
NEW! ChangeLog
Find out what's new in every Major and Minor release at the Change Log here
SciChart.js is a High Performance JavaScript Chart library. Leveraging WebGL and WebAssembly to achieve incredible big-data and real-time performance.
Fast and able to draw millions of datapoints in realtime, our charts will never cause your app to slow down again!
Useful Links
SciChart has an extremely configurable and extensible API and is
perfect for scientific, financial, medical, engineering and enterprise applications,
apps with demanding performance requirements or complex and mission critical charting.

SciChart.JS v3.4 is released! Check out
License
SciChart.js is commercial software which ships with a free community edition for personal, non-commercial, educational or blogger/tutorial use.
Licensing Links
Demo Application
Getting Started
We've prepared a short Getting Started guide here.
This will walk you through the entire process of starting in your favourite framework and show you where tutorials and documentation are and examples.
Useful Links
Features & benefits
Onboarding
Support
Purchasing
Quick Start with NPM and Webpack
SciChart.js can be loaded as an ES6 module with Babel or TypeScript transpiler.
npm i scichart
- Create a simple chart by putting this into
src/index.js
file
import { SciChartSurface, NumericAxis, NumericAxis, FastLineRenderableSeries } from "scichart";
SciChartSurface.useWasmFromCDN();
SciChartSurface.setRuntimeLicenseKey("--YOUR_KEY_HERE--");
async function initSciChart() {
const { sciChartSurface, wasmContext } = await SciChartSurface.create("scichart-root");
sciChartSurface.xAxes.add(new NumericAxis(wasmContext));
sciChartSurface.yAxes.add(new NumericAxis(wasmContext));
const dataSeries = new XyDataSeries(wasmContext, {
xValues: [1, 2, 5, 8, 10],
yValues: [3, 1, 7, 5, 8]
});
const renderableSeries = new FastLineRenderableSeries(wasmContext, {
dataSeries,
stroke: "steelblue"
});
sciChartSurface.renderableSeries.add(renderableSeries);
}
initSciChart();
- Create src/index.html file
<html lang="en-us">
<head>
<meta charset="utf-8" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>SciChart.js Tutorial 1</title>
<script async type="text/javascript" src="bundle.js"></script>
</head>
<body>
<div id="scichart-root" style="width: 800px; height: 600px;"></div>
</body>
</html>
- Run it
npm start
. As a result you will see a simple line chart.
Further reading:
Quick Start with Browser Bundle (Iife bundle)

If your environment does not include a bundler like Parcel or Webpack, you can still load SciChart.js using the browser bundle module from JSDlvr
- Include index.min.js in your webpage
<script src="https://cdn.jsdelivr.net/npm/scichart/index.min.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/scichart@3.3.592/index.min.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/scichart@3/index.min.js" crossorigin="anonymous"></script>
2.Create scichart-example.js file with a simple chart
const {
SciChartSurface,
SciChartDefaults,
chartBuilder,
SciChartJsNavyTheme,
XyDataSeries,
FastLineRenderableSeries,
NumericAxis
} = SciChart;
async function initSciChartBuilderApi() {
await chartBuilder.buildChart("chart0", {
series: {
type: "LineSeries",
options: { stroke: "steelblue", strokeThickness: 5 },
xyData: {
xValues: [1, 2, 5, 8, 10],
yValues: [3, 1, 7, 5, 8]
}
}
});
}
async function initSciChartProgrammaticApi() {
const { sciChartSurface, wasmContext } = await SciChartSurface.create("chart1", {
theme: new SciChartJsNavyTheme()
});
sciChartSurface.xAxes.add(new NumericAxis(wasmContext));
sciChartSurface.yAxes.add(new NumericAxis(wasmContext));
sciChartSurface.renderableSeries.add(
new FastLineRenderableSeries(wasmContext, {
stroke: "#FF6600",
strokeThickness: 3,
dataSeries: new XyDataSeries(wasmContext, {
xValues: [1, 2, 5, 8, 10],
yValues: [3, 1, 7, 5, 8]
})
})
);
}
SciChartSurface.useWasmFromCDN();
SciChartSurface.setRuntimeLicenseKey("-- Your license key here --");
initSciChartBuilderApi();
initSciChartProgrammaticApi();
View above in CodePen
See the full browser bundle tutorial here
Release notes. What's New!
Check out what's new in SciChart.js at the below pages:
We release often and if you want to report a bug, request a feature or give general feedback contact us!