← All comparisons

Chart.ts vs Apache ECharts

ECharts is a powerful, enterprise-grade charting library from Apache. It supports many chart types but has an enormous bundle and complex configuration.

FeatureChart.tsECharts
Bundle size<15kb min+gzip (entire library)~300kb+ min+gzip
Tree-shakingFull (import only what you use)Partial (still very large)
TypeScriptBuilt-in, strict mode, full inferenceBuilt-in types
SSRNative SSR, works with any frameworkServer-side rendering available
AccessibilityWCAG AA, keyboard nav, screen readers, pattern fillsBasic ARIA support
Tailwind CSSNative className on every element, dark: variantsNot supported (canvas/SVG hybrid)
Chart types65+ built-in (52 core + 13 WebGL/3D)30+ built-in
FrameworksReact, Vue, Svelte, Solid, Angular, Vanilla JSWrappers available
LicenseMITApache 2.0
RenderingTriple engine: SVG + Canvas + WebGL (auto-switching at 10k/100k points)Canvas + SVG
Real-TimeBuilt-in streaming, WebSocket, SSE, HTTP polling via @chartts/websocketBasic streaming
GPU / 3DWebGL renderer + @chartts/gl with 13 3D chart types (Scatter3D, Surface3D, Globe3D, etc.)WebGL via GL extension
Financial@chartts/finance: SMA, EMA, RSI, MACD, Bollinger Bands, ATR, VWAP, Sharpe ratioCandlestick only
PluginsdefineChartType() with render context, hit testing, custom scalesCustom series
InteractionsZoom, pan, brush selection, crosshair, linked chartsZoom, brush, dataZoom
Advanced ChartsSankey, treemap, sunburst, chord, geo maps, network graphs, 3D globe20+ types (sankey, geo, graph, 3D)
Theme Presets34 presets (Nord, Dracula, Catppuccin, Tokyo Night, Material, etc.)~10 presets

Why switch from ECharts?

Chart.ts advantages

  • Under 15kb vs 300kb+
  • Native Tailwind CSS integration
  • Better TypeScript (strict, zero any)
  • Native framework packages (not wrappers)
  • Same chart breadth at 1/20th the size

ECharts limitations

  • Enormous bundle size (300kb+)
  • Complex nested configuration objects
  • Not Tailwind-native
  • Over-engineered for most use cases
  • Learning curve for configuration

Ready to switch?

Get started with Chart.ts in 30 seconds.

$npm install @chartts/core