Analysis updated 2026-06-21
Drop a script tag into a Next.js or Vite app to instantly see which components are causing unnecessary re-renders.
Use the onRender() callback to log exactly which props changed on each render and trace why a component keeps updating.
Add to a Remix project during development to catch performance regressions before they reach users.
| aidenybai/react-scan | teableio/teable | pmndrs/jotai | |
|---|---|---|---|
| Stars | 21,206 | 21,210 | 21,146 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | pm founder | developer |
Figures from each repo's GitHub metadata at analysis time.
React Scan is a developer tool that automatically detects performance problems in React applications and highlights them visually on screen. It identifies which components are re-rendering unnecessarily and shows you exactly where to focus your optimization effort, without requiring any code changes to your existing app. You add it by dropping a single script tag into your HTML file, or through framework-specific setup for Next.js (App Router and Pages Router), Vite, and Remix. There is also a browser extension. Once active, a toolbar appears on the page, and components that trigger unnecessary renders are highlighted as they happen. The core performance problem it addresses is that React compares props by reference rather than by value, which makes it easy to accidentally create new objects or functions on each render (like inline arrow functions or style objects), causing child components to re-render even when nothing meaningful changed. An API is also available for programmatic control: you can start scanning imperatively with scan(), use a hook with useScan(), or hook into specific component renders with onRender(). The tool is MIT-licensed and produced by Aiden Bai and Million Software, Inc.
A zero-config developer tool that visually highlights which React components are re-rendering unnecessarily, so you can find and fix performance problems without changing your existing app code.
Mainly TypeScript. The stack also includes TypeScript, React, JavaScript.
MIT, use freely for any purpose, including commercial projects, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.