Repolode
aidenybai

aidenybai/react-scan

A React performance tool that automatically detects and highlights components causing unnecessary re-renders, with no code changes required.

Stars
21,877
Forks
391
Open issues
77
Last commit
2 months ago

What is it?

React Scan finds performance problems in React applications by watching renders and highlighting the components that re-render unnecessarily. It is added with a single script tag or an npm package, so it works without changing application code.

The tool is aimed at a common React pitfall: props are compared by reference, so inline objects, functions, or styles passed to child components can trigger renders that do no useful work. React Scan surfaces these cases directly on the page, and a toolbar stays available for inspecting them.

It offers an imperative `scan` function, a `useScan` hook, and an `onRender` hook for watching a specific component. Integration guides cover Script Tag, Next.js (App and Pages Router), Vite, and Remix, and a browser extension is also provided.

Key features

  • 01Highlights components that re-render unnecessarily on the page
  • 02Requires no code changes when added via script tag
  • 03Provides an on-page toolbar for inspecting renders
  • 04Offers scan, useScan, and setOptions APIs for programmatic control
  • 05Lets you hook into renders of a specific component with onRender
  • 06Includes a browser extension and framework setup guides

Use cases

  • Finding wasteful re-renders in a slow React single-page app
  • Checking which components re-render after a state change during development
  • Auditing a Next.js or Remix project for unnecessary render work
  • Tracking renders of a single component with the onRender hook

Quick start

  1. 1

    Run the init command to auto-detect your framework and set up React Scan

    npx -y react-scan@latest init
  2. 2

    Or install the package manually via npm

    npm install -D react-scan
  3. 3

    Add the script tag to your app (e.g. index.html, before any scripts)

Things to know

  • The README recommends React Doctor as the successor, so React Scan may receive less active development focus.
  • Manual setup requires adding a script tag or framework-specific code, and the script loads from unpkg.com.

Topics

FAQ

What is react-scan?
A React performance tool that automatically detects and highlights components causing unnecessary re-renders, with no code changes required. React Scan finds performance problems in React applications by watching renders and highlighting the components that re-render unnecessarily. It is added with a single script tag or an npm package, so it works without changing application code.
Is react-scan free to use? What license does it have?
react-scan is open source under the MIT license. Check the license terms before using it in commercial products.
Is react-scan still maintained?
Updated within 6 months. The last commit to react-scan was on Aug 16, 2026.
What can I use react-scan for?
Finding wasteful re-renders in a slow React single-page app Checking which components re-render after a state change during development Auditing a Next.js or Remix project for unnecessary render work Tracking renders of a single component with the onRender hook
How do I install react-scan?
Run the init command to auto-detect your framework and set up React Scan: npx -y react-scan@latest init Or install the package manually via npm: npm install -D react-scan Add the script tag to your app (e.g. index.html, before any scripts)
Where can I get react-scan?
The source code and installation instructions are on GitHub: https://github.com/aidenybai/react-scan

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects