Skip to content

SwiftChart

~26 KB gzipped, fully tree-shakable. Zero dependencies. 25 chart types. One library - vanilla or React.
~26 KB gzipped0 dependencies25 chart types4 built-in themesCanvas 2D · React · MIT
SwiftChartHighchartsChart.jsRecharts
Bundle (min+gzip)~26 KB~32 KB~19 KB~95 KB
Chart types2540+814
Runtime dependencies00010+ (d3)
RendererCanvas 2DSVG / CanvasCanvasSVG
React bindingsFirst-class3rd-party wrapper3rd-party wrapperNative
Data schemaAny shapeFixedFixedFixed
LicenseMITCommercialMITMIT

SwiftChart bundle size is measured from this repo’s dist/esm/index.js at the current commit. Other libraries’ figures are approximate min+gzip values from bundlephobia for their current major versions; check the live numbers there for precision.

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.