Skip to content
whoisbrowsing

Add whoisbrowsing to a React App

Updated

TL;DR

To add whoisbrowsing to a React app built with Vite, paste one script tag into the <head> of index.html in your project root. The script is not part of your bundle, so you add no package and no component.

Using an AI coding agent? Give it this prompt:

Add whoisbrowsing (live visitor view) to this project. Follow https://whoisbrowsing.com/SKILL.md exactly.

Add the tag to index.html

Vite treats index.html as the entry point of your app and keeps it at the project root, not in public (Vite guide). Whatever you put in it is served on every route of a single-page app:

<!-- index.html -->
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>My app</title>
    <script src="https://live.whoisbrowsing.com/s.js" data-site="YOUR_SITE_ID" defer></script>
  </head>
  <body>
    <div id="root"></div>
    <script type="module" src="/src/main.tsx"></script>
  </body>
</html>

The defer attribute keeps the tag from blocking rendering, and the script is under 4 KB gzipped.

Create React App or other setups

Other React setups also have a single HTML file that wraps the app, such as public/index.html in older Create React App projects. Put the same tag in its <head>. If you use a framework with its own server-rendered layout, use its guide instead: Next.js or Remix.

Where to get your site ID

Open /try to create a site with no sign-in (you can claim it later), or sign in with Google. You get a site ID to replace YOUR_SITE_ID in the code above. Each website is separate: localhost and production never mix, and www. is the same website as the bare domain.

React apps change pages in the browser without a full reload. You do not need extra code: the script follows client-side route changes on its own, so each page a visitor moves to shows up in your live view.

Content-Security-Policy

If your site sends a Content-Security-Policy header, allow the script and its live connection:

script-src https://live.whoisbrowsing.com;
connect-src wss://live.whoisbrowsing.com;

Add these to your existing script-src and connect-src lists instead of replacing them. If you have no CSP, skip this step.

Verify

  1. Deploy, or run your site locally. Use the site ID made for that address, because localhost and production are separate websites.
  2. Open the whoisbrowsing dashboard and click Watch.
  3. Open your site in a Chrome Incognito window or a Safari private window. Your own normal browser is never counted, so a private window is how you test as a visitor.
  4. You should appear as a coloured cursor on your real page, with a line for you in the side panel.

If nothing shows up, check that the tag is in the page source, that the site ID matches the address you opened, and that a CSP or ad blocker is not stopping live.whoisbrowsing.com. See how it works for what is sent, and the privacy page for what is never sent or stored.

Let your AI agent do it

Paste this into Claude Code, Cursor or Codex:

Add whoisbrowsing (live visitor view) to this project. Follow https://whoisbrowsing.com/SKILL.md exactly.

The agent reads the instructions, creates a site, puts the tag in the right file for React and gives you a watch link. The full walkthrough is in Install with an AI agent.

More install guides

See every platform on the install page, or jump to Next.js and Vue. Prefer to try first? Open /try. To see what the tag does, go to the home page.