Stop websites from detecting tab switches

Look away.
The tab won't.

Focus Spoofer is a free Chrome extension that overrides the Page Visibility API and window focus events, so websites can't tell that you switched tabs, minimized the window or used another app. Lectures keep playing and timers keep counting.

Free · v1.8 Chrome, Brave, Edge On only for tabs you pick No account

Switch to another tab, then come back.

What a page can see

Five ways a tab
tells on you.

Each one is a separate signal. Focus Spoofer answers all of them on the tabs you turn it on for, and leaves the rest of the page alone, so forms, menus and video controls still behave.

01

The tab switch

document.hidden
What the page does

Listens for visibilitychange and reads document.hidden from the Page Visibility API the moment you open another tab.

What it sees instead

Always visible. The event never reaches the page, and even prototype-level checks get the same answer.

09:14:02  play       lecture.mp4
09:14:09  visibilitychange → hidden
09:14:09  pause      "Are you still there?"
09:14:09  document.hidden = false
09:21:40  ended      100% watched
02

The other window

document.hasFocus()
What the page does

Watches for blur on the window, or polls hasFocus(), to catch you in another app or on a second monitor.

What it sees instead

Focus never leaves. Clicking between fields inside the page still fires normal focus and blur, so validation keeps working.

poll hasFocus()   true
poll hasFocus()   true
window blur       user left
poll hasFocus()   true
input#email       blur → validated
03

The stalled clock

requestAnimationFrame
What the page does

A hidden tab stops painting, so animation callbacks freeze. Some sites time the gap and conclude you left, with no event at all.

What it sees instead

Callbacks keep arriving at a steady cadence while the tab is hidden. When it's visible, the browser drives them natively and nothing extra runs.

frame interval while you're away
04

The exit

mouseleave
What the page does

Notices the pointer leaving the page, or pagehide firing, and treats it as you walking away.

What it sees instead

Nothing at page level. Hover menus inside the page still open and close on their own mouseleave.

nav .menu      mouseleave → close
document       mouseleave → "idle"
window         pagehide
session        still active
05

The fingerprint

canvas.toDataURL()
What the page does

Draws hidden text and shapes, reads the pixels back and hashes them into an ID that follows your device around.

What it sees instead

Invisible noise in canvas, WebGL and audio readback, different on every load. You can switch this part off in Settings.

hash … hash …

The interface

One switch.
That's the interface.

Turn it on for the tab you're on, or keep a site protected on every visit. Everything else lives on one quiet settings page.

The Focus Spoofer popup showing Protected for youtube.com with the switch on
The popup. Changes reload the tab so protection starts before the page's own scripts.
The settings page with always-on sites, fingerprint randomization and anonymous usage statistics
Settings: always-on sites, fingerprint randomization, and usage stats that stay off unless you turn them on.

Straight answers

What it won't do.

Beat proctoring or anti-cheat.

Exam and anti-cheat software watch far more than a web page can. We don't try to get around them, and you shouldn't rely on this for that.

Run everywhere.

It works on regular web pages in Chrome, Brave and Edge. Browser pages like chrome://, the Web Store and the built-in PDF viewer are off limits to every extension.

Collect your browsing.

No account, no history, no sites. Usage stats are off unless you opt in, and even then they're daily counts with no ID. Privacy policy.


Questions

Frequently asked questions.

How do I stop a website from detecting that I switched tabs?

Install Focus Spoofer, open the site, click the extension icon and turn the switch on. The tab reloads with protection active: document.hidden stays false, visibilitychange and window blur events never reach the page, and document.hasFocus() returns true. To protect a site on every visit, tick "Always protect this site".

Why does a video or lecture pause when I switch tabs?

Many players listen for the Page Visibility API's visibilitychange event or the window blur event and pause as soon as the tab is hidden. Some also notice that animation frames stop while a tab is in the background. Focus Spoofer answers all three, so the player keeps going.

How do I disable the Page Visibility API in Chrome?

Chrome has no setting for it. An extension has to override it inside the page before the site's own scripts run. Focus Spoofer does this at document_start, only on the tabs or sites you choose, and leaves every other tab untouched.

Is Focus Spoofer free, and does it collect my data?

It is free, with no account. Your browsing history, the sites you visit and page content never leave your browser. Optional anonymous usage statistics (daily counts, no identifier) are off unless you turn them on. Details are in the privacy policy.

Which browsers does it work in?

Chrome, Brave and Microsoft Edge on Windows, macOS, Linux and ChromeOS. It is a Manifest V3 extension installed from the Chrome Web Store. Firefox and Safari are not supported.

How can I check that it's working?

Open the live tab-switch detection test, turn Focus Spoofer on for that tab, switch to another tab for a few seconds and come back. With protection on, the event log stays empty.

Will it get around exam proctoring or anti-cheat software?

No, and it isn't meant to. Proctoring and anti-cheat tools can watch far more than a web page sees, such as the whole screen, other processes or the camera. Focus Spoofer only changes what a page can learn through the Page Visibility API, focus events and frame timing.