Vanilla or React
Use the imperative class API or the React component wrappers - same chart engine, identical output, identical bundle weight.
| SwiftChart | Highcharts | Chart.js | Recharts | |
|---|---|---|---|---|
| Bundle (gzip) | ~14 KB | ~80 KB | ~60 KB | ~45 KB |
| Runtime dependencies | 0 | 0 | 0 | 6+ |
| Renderer | Canvas 2D | SVG / Canvas | Canvas | SVG |
| React bindings | First-class | 3rd-party wrapper | 3rd-party wrapper | Native |
| Data schema | Any shape | Fixed | Fixed | Fixed |
| License | MIT | Commercial | MIT | MIT |
Sizes are min+gzip of the entry bundle. Library facts as of v1.0.
Vanilla or React
Use the imperative class API or the React component wrappers - same chart engine, identical output, identical bundle weight.
Schema-agnostic
Pass any data shape. Auto-detect fields, or map them explicitly - no rigid schema required.
4 themes built-in
midnight, arctic, ember, forest - or define your own with addTheme().
Animated by default
Easings, durations, and transitions tuned out of the box. Disable with animate: false.
Performance-first
LTTB downsampling, viewport culling, quadtree hover, and offscreen rendering - included.
Production-ready
545+ tests, strict TypeScript, ESM + CJS dual-package, attw + publint clean.