mrkeyoor.com_
Fri 18 Sept 07:21 UTC
Webevaluationupdated 18 Sept 2026

recharts review

Recharts is a chart library that lets React developers assemble line, bar, area, pie, and other SVG charts from components. It solves the common dashboard problem of needing D3-shaped charting behavior without writing D3 rendering code directly.

Verdict

Our Recharts checkout installed 1,051 packages, built in 100 seconds, and passed tests in 176 seconds, but npm audit found 9 known vulnerabilities. Use it for ordinary React product charts when readable component code matters more than squeezing thousands of marks onto a canvas. Test another library first for static server output, dense Sankey diagrams, or unfiltered high-volume series.

We ran it

Lab card: what happened when we ran rechartsScreenshot of recharts (recharts.github.io)
Install✓ · 36s1051 packages · 629 MB
Build✓ · 100s
Tests✓ · 176sran, no count parsed
Known vulns90 critical · 4 high · 4 moderate · 1 low (npm audit)
Repo3760 files~226,109 lines of source · 86.7 MB · 6 CI workflows · tests dir

Answers from our run

Does recharts build from source?

Dependencies installed in 36 seconds (1051 packages), and the build succeeded in 100 seconds. We cloned commit afa0c82 into a clean Debian container with 3 CPUs and no project-specific setup.

Do recharts's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does recharts have known vulnerabilities in its dependencies?

npm audit flagged 9 known advisories in the dependency tree at the time of our run.

Who should not use recharts?

Non-React front ends: the package declares React, React DOM, and react-is as peer dependencies.

What are the alternatives to recharts?

Nivo, Chart.js, visx. Our Recharts checkout installed 1,051 packages, built in 100 seconds, and passed tests in 176 seconds, but npm audit found 9 known vulnerabilities.

Setup4/5Consumer setup is short, while source install pulled 1,051 packages
Docs4/5Good examples and dev guide, but advanced API context is uneven
Community5/527,567 stars and active September 2026 issue and pull request work
Maturity4/5Version 3.10.1 is proven, with SSR and dense-data caveats

Discussed on

  1. hnRecharts – A composable charting library built on React components101 points
  2. hnRecharts – A composable charting library built on React components3 points

Who it’s for

React teams building product dashboards, admin screens, and internal reporting views.
Developers who want axes, tooltips, legends, grids, and series to remain ordinary React components.
Applications that need responsive SVG charts and expect to customize parts through props or replacement components.
Maintainers who value TypeScript declarations, Storybook examples, and active visual regression work.

Who it’s NOT for

Non-React front ends: the package declares React, React DOM, and react-is as peer dependencies.
Dense data views that must draw every point: open issue #1356 reports lag with 8,000 dots, and Recharts does not document built-in downsampling.
Server pipelines that need complete SVG from renderToStaticMarkup: open issue #5997 reports that version 3 returns only the wrapper element.
Dense Sankey diagrams: open issue #7478 includes an 85-node, 112-link reproduction that the reporter says can freeze the browser.
Teams expecting every advanced component to be explained conceptually: open issue #4438 says parts of the API reference list props without explaining normal use.

Setup reality

Our sandbox installed 1,051 packages in 36 seconds and used 629 MB. The build succeeded in 100 seconds, and the tests succeeded in 176 seconds. npm audit reported 9 known vulnerabilities: 4 high, 4 moderate, and 1 low, with none critical.

A consuming app needs React, React DOM, and a react-is version that matches React. No account, API key, or hosted service is required. Working on the repository itself needs Node 18 or newer, npm workspaces, and Docker Compose for the documented visual regression path.

Recharts renders SVG in the browser. Large point sets need application-side sampling or another renderer, and an open version 3 issue reports incomplete static server output. Windows contributors may also need npm install --force because the development guide says one Codecov package supports only Linux and macOS.

Recharts 3.10.1 turns chart parts into React components

Recharts 3.10.1 expresses a chart as a tree of components rather than a separate configuration object. The README's first example nests an axis, tooltip, grid, and two lines inside LineChart. If you already reason about a screen as React components, that shape is easy to read and review. D3 handles much of the chart math underneath, while the application stays in JSX and passes its own data through props.

The separation is useful when a product chart needs more than a preset. Axes, labels, legends, reference marks, tooltips, and series can be changed independently. The output is SVG, so ordinary CSS and browser inspection remain useful. This is why Recharts fits product dashboards so well: a chart can live beside the rest of a React interface without forcing the team to adopt another rendering model for every visual change.

What happened when we ran it

Our sandbox installed the Recharts checkout at commit afa0c82 in 36 seconds. npm added 1,051 packages and left 629 MB on disk. The build then succeeded in 100 seconds, and the test command succeeded in 176 seconds. Nothing in those three steps failed, which is good evidence that a contributor can reproduce the main repository checks in a fresh Node 22 container with 3 CPUs and 8 GB of RAM.

The audit was less tidy: npm reported 9 known vulnerabilities, split into 4 high, 4 moderate, and 1 low, with 0 critical. The checkout itself contained 3,760 files, about 226,109 lines of source, and occupied 86.7 MB before installation. It is a workspace monorepo with a tests directory, 6 CI workflow files, and a Compose file. There is no repository Dockerfile, so the source tree is a substantial contributor environment rather than a packaged application stack.

SVG becomes costly when every data point must stay visible

Open issue #1356 describes a line chart becoming laggy with 8,000 dots and asks for built-in downsampling. That report began against an old beta, so it is not a benchmark of the current release. Its continued open state still matters because the documented API does not promise automatic sampling. If your chart receives raw telemetry or long time series, reduce the points before rendering and test with the largest payload users will actually open.

A newer report, issue #7478, supplies a dense Sankey reproduction with 85 nodes and 112 links. The reporter says layout can hold the browser's main thread for minutes because branching paths multiply the work. A proposed fix exists, but the issue remains open. That makes Recharts a risky default for dense relationship diagrams, even when the raw node count sounds modest. Canvas or a library designed around large graphs is the safer comparison.

Version 3 still has a static server-rendering gap

Open issue #5997 reports that Recharts 3.0 returned only a wrapper div from React's renderToStaticMarkup, where version 2 produced the chart SVG. The reproduction uses a fixed-size line chart, so the problem is more specific than a missing responsive parent. The issue remains open. Teams generating email images, PDFs, social cards, or crawlable no-JavaScript charts should prove their exact server path before choosing version 3.

For a browser dashboard, that limitation may never surface. Recharts declares peer support from React 16.8 through React 19, and its client-side component model is the main attraction. The README also warns that react-is must match the installed React version. That small detail belongs in a shared dependency policy because a chart package is a poor place to discover that two React-related versions drifted apart.

Examples are clearer than some advanced API pages

The README gets a basic line chart onto the page in one compact example, and the public Storybook gives visual examples for individual components. The development guide is even more concrete. It covers unit tests, Storybook, mutation tests, and Playwright visual checks across 9 browser and theme projects. A contributor can see which command creates each published output and which generated directories should stay out of source control.

The API reference is less consistent once you move past familiar chart parts. Open issue #4438 uses Brush and Polygon as examples of components whose prop tables do not explain what the component is for. That is a fair description of the learning curve. Recharts has plenty of reference material, but unusual combinations may send you from the API page to Storybook, source, and issue search before the intended behavior becomes clear.

September activity outweighs the July release date

GitHub recorded 27,567 stars and a last push on September 17, 2026. Its combined open count was 445 issues and pull requests, while GitHub search returned 402 open issues. That is a large queue, yet current activity is easy to see: several visual regression pull requests were merged on September 17, and issue #5988 received an update the same day. Recharts is busy, not dormant.

The latest stable release was version 3.10.1 on July 25, 2026. It fixed Pie label radii, a duplicated-category tooltip fallback, and bar-gap behavior when a maximum width clamps a bar. Those are ordinary maintenance fixes in mature chart code, where edge cases often sit at the intersection of layout and interaction. The active main branch is already on a canary line, so production users should distinguish stable releases from newer repository work.

Choose Recharts for product charts, not every visualization problem

Recharts is the sensible first trial for a React team drawing ordinary line, bar, area, or pie charts. The component model is approachable, the 176-second test run passed, and active visual regression work suggests maintainers take rendered output seriously. Keep data volume bounded, run an accessibility pass on the finished chart, and budget time for advanced API questions that the prop reference does not answer.

Pick Chart.js when canvas or framework independence matters, and visx when a bespoke design needs lower-level parts. For complete server-side SVG or 8,000 visible dots, Recharts should not be the automatic choice.

Alternatives

ProjectWhat it isPick it when
NivoA React and D3 visualization suite with a broad component catalog.pick this instead when you want to compare a wider set of ready-made React visualizations and rendering choices.
Chart.jsA framework-neutral chart library that renders through HTML canvas.pick this instead when canvas output or use outside React matters more than component composition.
visxLow-level React visualization components for teams that want more control over chart construction.pick this instead when your design needs primitives rather than Recharts' higher-level chart components.

What people are saying

  1. [velocity-scout] recharts/recharts

Sources

  1. Recharts README
  2. Recharts development guide
  3. Recharts v3.10.1 release
  4. Open large-data downsampling request
  5. Open server-rendering report for version 3
  6. Open dense Sankey performance report
  7. Open API documentation request

More web reviews

element-plus · WebKit · js-cookie · ionic-framework · pixijs · django-rest-framework · the whole board →