8 min read Web Reveal Team

How to Tell if a Website Uses React (2026 Guide)

React is the most widely used JavaScript UI library in the world, powering everything from simple single-page apps to large-scale enterprise platforms. Whether you are doing competitive research, auditing a site for a client, or simply curious about what is running under the hood, detecting React is straightforward once you know the right signals. This guide covers the fastest tools and reliable manual techniques for 2026.

What Is React?

React is an open-source JavaScript library created by engineers at Meta (formerly Facebook) and released to the public in 2013. It introduced a component-based architecture and a virtual DOM that makes it efficient to build fast, interactive user interfaces for web and mobile applications.

Unlike full-stack frameworks such as Next.js, Remix, or Gatsby, React itself is solely a UI layer. It handles how data is rendered and updated in the browser, but leaves routing, data fetching, and server-side rendering to companion libraries or frameworks built on top of it. As of 2026, React is consistently ranked as the most popular JavaScript library by developer surveys, with hundreds of millions of websites using it in production.

Why Detect React?

Knowing that a website is built with React is useful in many professional situations:

  • Developers and agencies: Identify prospects who are already on React for consulting, component library sales, or performance optimisation work.
  • Competitive research: Understand the frontend architecture of competitor products and how mature their engineering is.
  • SaaS sales: React-heavy stacks often indicate growth-stage or enterprise companies investing heavily in product engineering.
  • Recruiters: Companies using React have active React developer hiring needs—technographic data can streamline candidate sourcing.
  • Security researchers: Identifying React versions and frameworks helps assess exposure to known vulnerabilities in client-side dependencies.

Fastest Method: Free Scanner Tool

The quickest and most reliable way to detect React is to use Web Reveal—a free technology scanner that performs live analysis of any URL and returns a full technology stack breakdown in seconds, including the JavaScript framework, version where detectable, hosting provider, CDN, and analytics tools.

Enter the website URL on the Web Reveal homepage. The scanner checks multiple React fingerprints simultaneously and confirms whether the site uses React, along with any React-based frameworks layered on top.

The Web Reveal Chrome extension detects React automatically as you browse any website, displaying the result in the browser toolbar without requiring you to visit the Web Reveal site separately.

__REACT_DEVTOOLS_GLOBAL_HOOK__ Global

The most reliable manual signal for React is the __REACT_DEVTOOLS_GLOBAL_HOOK__ JavaScript global. React registers this object on the window at runtime to communicate with the React DevTools browser extension. Even on production sites with no DevTools installed, this object is present if the page uses React.

To check for it, open the browser developer tools (F12), go to the Console tab, and type:

window.__REACT_DEVTOOLS_GLOBAL_HOOK__

If the result is an object (rather than undefined), the page uses React. You can inspect the object further—properties like renderers contain metadata about the React version in use.

Root Element and data-reactroot Attribute

React mounts its component tree to a single DOM element—conventionally a <div> with id="root" or id="app". Older React applications (prior to React 18) added a data-reactroot attribute to this element, which is still visible in many live sites:

<div id="root" data-reactroot="">

To check for this, press Ctrl+U to view the page source and search for data-reactroot. Alternatively, right-click any page element, select Inspect, and look for data-reactroot or an element with id="root" that wraps the entire application.

Note: React 18 and later no longer add the data-reactroot attribute by default. Use the DevTools hook method above as a more reliable check on modern sites.

JavaScript Bundle File Patterns

React applications compiled with Create React App, Vite, Webpack, or similar bundlers produce predictable asset filenames and paths. Look in the page source for <script> tags referencing files such as:

  • /static/js/main.[hash].js — Create React App production bundle
  • /static/js/[number].[hash].chunk.js — Code-split chunks from CRA or Webpack
  • react.production.min.js or react.development.js — Inlined React from a CDN such as unpkg or cdnjs
  • /assets/index-[hash].js — Vite production bundle (common with React + Vite setups)

Searching the page source for react within <script src= paths is a simple heuristic, though it may not catch all cases when React is bundled into a generic chunk filename.

React Fibre Node Properties on DOM Elements

React's internal reconciler (Fibre) attaches metadata directly to DOM nodes as non-enumerable JavaScript properties. These properties have predictable prefixes even in production builds:

  • __reactFiber$[random-key] — The Fibre node attached to the DOM element
  • __reactProps$[random-key] — The React props passed to the component rendering that element

To check for these in the browser console, inspect any DOM element with document.querySelector('*') and look for properties starting with __reactFiber or __reactProps:

Object.keys(document.querySelector('#root')).some(k => k.startsWith('__react'))

If this returns true, React Fibre nodes are attached to the DOM—a definitive indicator that the page uses React.

React-Based Frameworks as Secondary Signals

Several widely used frameworks are built entirely on React. Detecting any of these is confirmation that the site also uses React:

  • Next.js: Look for __NEXT_DATA__ in the page source or /_next/static/ asset paths.
  • Remix: Look for a <script> tag with __remixContext or routes defined in window.__remixManifest.
  • Gatsby: Look for window.___gatsby or assets served from /static/gatsby- paths.
  • Framer: Look for the generator meta tag set to Framer and assets from framerusercontent.com.
  • React Native Web: Look for data-reactnative-web attributes or styles injected by the React Native Web runtime.

If any of these framework-specific signals are present, React is also present—no additional check needed.

How Web Reveal Detects React

Web Reveal performs live HTTP analysis of the target URL and checks for multiple React fingerprints simultaneously:

  • Presence of __REACT_DEVTOOLS_GLOBAL_HOOK__ in inline or loaded JavaScript
  • The data-reactroot attribute on root DOM elements
  • JavaScript bundle filenames and paths matching React output patterns
  • React Fibre node property prefixes (__reactFiber$, __reactProps$) attached to DOM nodes
  • React-based framework signals (Next.js, Remix, Gatsby, Framer) as corroborating evidence
  • CDN-hosted React script tags from unpkg, cdnjs, or jsDelivr

Because Web Reveal cross-references multiple signals, it can reliably confirm React even on heavily minified production builds where individual manual checks might be inconclusive.

Frequently Asked Questions

How can I tell if a website uses React?

The fastest method is to scan the URL with Web Reveal. Manually, open the browser console and check for window.__REACT_DEVTOOLS_GLOBAL_HOOK__. You can also look for data-reactroot in the page source or run Object.keys(document.querySelector('*')).some(k => k.startsWith('__react')) in the console.

What is React and why is it so widely used?

React is an open-source JavaScript library from Meta for building user interfaces. Its component-based model, virtual DOM diffing, and rich ecosystem of libraries make it the most popular choice for frontend development. It is favoured for its flexibility—React can be used for simple SPAs, server-rendered apps with Next.js, static sites with Gatsby, and mobile apps with React Native.

Can a website hide that it uses React?

Partially. Production builds minify and mangle code, making it harder to identify React by reading source files directly. However, the __REACT_DEVTOOLS_GLOBAL_HOOK__ global and Fibre node properties are embedded in the React runtime itself and cannot be removed without modifying the library source—making them highly reliable detection signals even in optimised production builds.

Is React the same as Next.js, Remix, or Gatsby?

No. React is a UI library. Next.js, Remix, and Gatsby are full-stack frameworks built on top of React that add server-side rendering, file-based routing, and production optimisations. All sites using these frameworks also use React, but a React site does not necessarily use any of them—it may use Vite, Create React App, or a custom build setup instead.

Detect React and Any Website's Full Tech Stack

Web Reveal is a free tool that identifies React, the framework built on top of it, the hosting provider, and the complete technology stack of any website. No account required.

Scan a Website Free