← All comparisons

Chart.ts vs ApexCharts

ApexCharts is a feature-rich SVG charting library with many chart types and interactivity. However it carries a large bundle and uses a jQuery-era API.

FeatureChart.tsApexCharts
Bundle size<15kb min+gzip (entire library)~130kb min+gzip
Tree-shakingFull (import only what you use)Not supported (monolithic bundle)
TypeScriptBuilt-in, strict mode, full inferenceBuilt-in types
SSRNative SSR, works with any frameworkLimited (DOM-dependent)
AccessibilityWCAG AA, keyboard nav, screen readers, pattern fillsBasic
Tailwind CSSNative className on every element, dark: variantsNot native (imperative config)
Chart types65+ built-in (52 core + 13 WebGL/3D)~15 built-in
FrameworksReact, Vue, Svelte, Solid, Angular, Vanilla JSWrappers for React, Vue, Angular
LicenseMITMIT
RenderingTriple engine: SVG + Canvas + WebGL (auto-switching at 10k/100k points)SVG only
Real-TimeBuilt-in streaming, WebSocket, SSE, HTTP polling via @chartts/websocketBasic append
GPU / 3DWebGL renderer + @chartts/gl with 13 3D chart types (Scatter3D, Surface3D, Globe3D, etc.)No WebGL/3D
Financial@chartts/finance: SMA, EMA, RSI, MACD, Bollinger Bands, ATR, VWAP, Sharpe ratioCandlestick only
PluginsdefineChartType() with render context, hit testing, custom scalesLimited customization
InteractionsZoom, pan, brush selection, crosshair, linked chartsZoom, pan, brush
Advanced ChartsSankey, treemap, sunburst, chord, geo maps, network graphs, 3D globe14 types (no sankey, geo, 3D)
Theme Presets34 presets (Nord, Dracula, Catppuccin, Tokyo Night, Material, etc.)3 palettes

Why switch from ApexCharts?

Chart.ts advantages

  • Under 15kb vs 130kb+ bundle
  • Full tree-shaking vs monolithic import
  • Modern declarative API vs jQuery-era config
  • 65+ chart types with WebGL/3D
  • Native Tailwind CSS integration

ApexCharts limitations

  • Massive 130kb+ bundle
  • No tree-shaking, imports everything
  • jQuery-era imperative API
  • Not Tailwind-native
  • Heavy for modern web apps

Ready to switch?

Get started with Chart.ts in 30 seconds.

$npm install @chartts/core