Recharts
A composable charting library for React, built on D3 and SVG.
Repository Health
Technical Analysis
Recharts is a charting library built specifically for React, wrapping D3’s scale and shape math behind a declarative component API. Instead of imperatively wiring up SVG paths and axes, you compose charts from independent React components — <LineChart>, <XAxis>, <Tooltip>, <CartesianGrid>, <Line> — the same way you’d compose any other part of a React tree.
Under the hood, an internal Redux store (via @reduxjs/toolkit) coordinates shared chart state — axis domains, tooltip position, legend payloads, brush selection — across the independently-rendered child components, so each shape or axis component can read the layout it needs without prop drilling. The result is a library that covers the common chart types (line, bar, area, pie, radar, scatter, funnel, treemap, sankey, sunburst) with a consistent, TypeScript-typed API and full SVG output for styling and accessibility.
What You Get
- A full set of chart types out of the box: LineChart, BarChart, AreaChart, PieChart, RadarChart, ScatterChart, ComposedChart, FunnelChart, Treemap, Sankey, and SunburstChart
- Composable primitives (XAxis, YAxis, CartesianGrid, Tooltip, Legend, Brush, ReferenceLine/Area) that combine freely across chart types
- First-class TypeScript types for every component’s props, generated and verified via an internal omnidoc tooling pipeline
- A ResponsiveContainer component for automatic chart resizing inside fluid layouts
- Built-in animation support for entering, updating, and transitioning data without extra animation libraries
- Native SVG output, so charts inherit CSS styling, are inspectable in devtools, and support standard accessibility attributes
Common Use Cases
- Adding dashboards and analytics views to a React or Next.js admin panel
- Rendering time-series and financial charts (line/area) with custom tooltips and reference lines
- Building comparison visualizations (bar, radar, pie) for reports or marketing pages
- Visualizing hierarchical or flow data with Treemap, Sankey, and Sunburst chart types
- Embedding lightweight, themeable charts in a design system alongside other UI components
Under The Hood
Architecture Recharts is a React charting library built on a layered architecture with a Redux-based internal state layer (src/state, using @reduxjs/toolkit) for cross-component communication of chart options, axis configuration, tooltip state, and synchronized data across composed chart primitives (CartesianChart.tsx, PolarChart.tsx, CategoricalChart.tsx). It renders SVG output via composable shape/component primitives (src/shape/Sector.tsx, src/component/Tooltip.tsx) wired together through React context providers (src/context/chartLayoutContext.tsx, tooltipContext.tsx) that broadcast layout and axis data down to consumer components without prop drilling. Chart types like LineChart, BarChart, AreaChart, PieChart, RadarChart, Sankey, Treemap, and SunburstChart are themselves declarative React component trees composed from these primitives (AreaChart.tsx, Treemap.tsx), while a victory-vendor dependency supplies D3-derived scale/shape math, and RechartsWrapper.tsx handles the top-level SVG canvas plus mouse/keyboard event dispatch through dedicated Redux middleware (mouseEventsMiddleware.ts, keyboardEventsMiddleware.ts).
Tech Stack A TypeScript-first codebase (98.6% TS) targeting React 16.8–19 and react-dom via broad peer-dependency ranges, using @reduxjs/toolkit + react-redux + reselect + immer for internal state, es-toolkit and decimal.js-light for utility/numeric precision, eventemitter3 for pub/sub, and victory-vendor for D3 scale/shape primitives. It’s built via Babel for a dual CJS/ES6 output plus a separate webpack UMD bundle, tested with Vitest (unit, mutation testing via Stryker, and visual regression via Playwright/Docker), linted with ESLint/Prettier, and documented via a custom omnidoc pipeline that auto-generates API docs and Storybook args from source comments.
Code Quality The repo has an exceptionally large test suite — 351 spec files under test/, mirroring the src/ directory 1:1 (test/cartesian/Area.spec.tsx, test/state/*), including typed variants (.typed.spec.tsx) that assert on TypeScript prop inference, animation-specific specs, and stacked/edge-case specs (Brush.stacked.spec.tsx). Combined with dedicated mutation testing (Stryker) and visual-regression testing (Playwright against Docker), this points to a mature, quality-conscious codebase. Naming is consistent (a Props type exported alongside each component, *Slice.ts for each Redux slice), and internal helper code favors tiny-invariant for fail-fast assertions.
API Design The public API in src/index.ts is large but consistently shaped — every component exports both the component and a Props type (SurfaceProps, LegendProps, TooltipProps), following idiomatic React “compose declarative JSX” ergonomics (<LineChart><XAxis/><Tooltip/><Line/></LineChart>) that requires minimal boilerplate to get a working chart, per the README’s own three-line example. The tradeoff is a steep prop surface once customizing tooltips, axes, or animation, but a generated Storybook, auto-generated API docs (via the omnidoc toolchain), and an extensive www documentation site significantly offset that with runnable, live-editable examples for nearly every primitive.
Used by 127 apps in this directory
Stirling PDF
Digital Signiture · Productivity
The open-source PDF platform you can run anywhere — edit, convert, sign, and automate PDFs without sending files to external servers.
Stormkit
Devops · Hosting Control Panel
Self-hostable platform for deploying and hosting modern web apps with automated CI/CD, custom domains, and a built-in serverless runtime — a true open-source alternative to Vercel and Netlify.
Suna
AI Agents
Turn your company into a git repo — one config, one command center, a workforce of AI agents that runs the real work around the clock.
Supabase
Authentication · Databases · Developer Tools
The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.
superlog
AI Agents · Monitoring
Open-source agentic observability that ingests OpenTelemetry signals, groups them into incidents, and deploys AI agents to investigate and fix your production bugs automatically.
supermemory
AI Development · AI Memory · Note Taking
The state-of-the-art memory and context engine for AI agents — ranked #1 on all three major AI memory benchmarks.
superset
AI Code Assistants · AI Development
Orchestrate an army of AI coding agents—Claude Code, Codex, Gemini CLI, and more—running simultaneously in isolated git worktrees from a single Electron desktop app.
Tabby
AI Code Assistants
Self-hosted AI coding assistant — run GitHub Copilot-grade code completion on your own hardware with no cloud dependency.
tabularis
Databases · Developer Tools
Open-source desktop SQL workspace with built-in PostgreSQL, MySQL, and SQLite drivers, SQL notebooks, a visual query builder, and a built-in MCP server for AI agents like Claude and Cursor.