← All comparisons

Chart.ts vs Recharts

Recharts is a React-only SVG charting library built on D3. It provides good React integration but comes with a large bundle due to D3 dependencies.

FeatureChart.tsRecharts
Bundle size<15kb min+gzip (entire library)~45kb min+gzip
Tree-shakingFull (import only what you use)Partial (D3 dependencies limit it)
TypeScriptBuilt-in, strict mode, full inferenceBuilt-in types
SSRNative SSR, works with any frameworkWorks with Next.js (client components)
AccessibilityWCAG AA, keyboard nav, screen readers, pattern fillsBasic SVG roles
Tailwind CSSNative className on every element, dark: variantsLimited (inline styles dominate)
Chart types65+ built-in (52 core + 13 WebGL/3D)~12 built-in
FrameworksReact, Vue, Svelte, Solid, Angular, Vanilla JSReact only
LicenseMITMIT
RenderingTriple engine: SVG + Canvas + WebGL (auto-switching at 10k/100k points)SVG only (via D3)
Real-TimeBuilt-in streaming, WebSocket, SSE, HTTP polling via @chartts/websocketNo streaming
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 ratioNo
PluginsdefineChartType() with render context, hit testing, custom scalesNo plugin system
InteractionsZoom, pan, brush selection, crosshair, linked chartsBasic brush only
Advanced ChartsSankey, treemap, sunburst, chord, geo maps, network graphs, 3D globe12 types (no sankey, geo, 3D)
Theme Presets34 presets (Nord, Dracula, Catppuccin, Tokyo Night, Material, etc.)No presets

Why switch from Recharts?

Chart.ts advantages

  • 65+ chart types vs 12
  • Works with any framework, not React-only
  • No D3 dependency chain (smaller bundle)
  • Native Tailwind className on every element
  • Built-in WebGL/3D and financial charts

Recharts limitations

  • React only, no Vue/Svelte/Solid support
  • Large bundle due to D3 dependency chain
  • Inline styles make Tailwind integration awkward
  • Client component required (no RSC)
  • API is verbose with many wrapper components

Ready to switch?

Get started with Chart.ts in 30 seconds.

$npm install @chartts/core