<15kb

Performance

Chart.ts ships at under 15kb gzipped - smaller than most hero images. Here's how we keep it lean.

Bundle size

The core library is under 15kb gzipped with zero runtime dependencies. Each chart type is tree-shakeable - import only what you use. A typical app with 2-3 chart types adds ~8kb to your bundle.

Tree shaking

Every chart type is a separate export. Import { LineChart } and your bundler drops the other 11. Dead code elimination works perfectly because we avoid side effects and circular dependencies.

Rendering performance

SVG rendering is fast for typical datasets (under 1,000 points). For larger datasets, Chart.ts automatically switches to Canvas at 10,000+ points and WebGL at 100,000+. This happens transparently - same API, same props, same output.

SSR & streaming

Charts render on the server as static SVG. No layout shift, no flash of empty space. Compatible with React Server Components, Next.js streaming, and any SSR framework.

Related