finds.dev← search

// the find

react-financial/react-financial-charts

★ 1,412 · TypeScript · MIT · updated Mar 2024

Charts dedicated to finance.

A TypeScript fork of the abandoned react-stockcharts, providing Canvas-based financial charts for React. Covers the full spectrum of chart types a trading or fintech UI would need — candlesticks, OHLC, Renko, Kagi, Point & Figure — plus a solid set of technical indicators rendered on canvas for performance. Aimed at developers building financial dashboards who need something more specialized than Chart.js or Recharts.

Canvas rendering via d3 means it handles large OHLC datasets without the DOM thrashing that SVG-based libraries suffer. The indicator library is genuinely broad — MACD, RSI, Bollinger, SAR, Stochastic, Elder Ray — and each one has a corresponding series component, so connecting calculation to rendering is straightforward. Interactive drawing tools (trendlines, Fibonacci retracements, Gann fan) are included and not an afterthought — they have proper wrapper components with drag/resize handling. The monorepo split means you can pull in just the packages you need rather than bundling the whole thing.

Last commit was March 2024, and the roadmap still has 'Add full test suite' and 'Add documentation to storybook' unchecked — so what you get is Storybook examples as the primary reference, which is workable but thin. The API is undocumented in any prose form; you're reading source and stories to figure out props. The discontinuous time scale (for market hours gaps) is a load-bearing concept you have to understand before anything works correctly, and there's essentially no written explanation of it. Peer dependencies include d3-scale, d3-shape, and several other d3 subpackages, so if you're not already on d3 v6+, you're in for a version negotiation session.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →