Free tools / Browser fingerprint test
Browser fingerprint test. What your browser gives away.
See what every website can read about your browser, how identifying it is, and whether the values agree with each other. Everything runs here, in your browser: nothing is sent to us or anyone else, and nothing is saved.
Your fingerprint ID
Checking…
We read about seventy values from your browser and cross-check them. It takes a second or two.
What makes you identifiable
The ID is a hash of the readings that stay the same from visit to visit (window size is left out). Any one reading is shared by many people; the combination is what narrows it down. Your readings stay in this page and are compared with nobody else’s.
Consistency
Does it all add up?
A fingerprint is easiest to spot when its parts contradict each other: a Mac user agent with Windows fonts, or a timezone the clock disagrees with. Detectors call these “lies”. Each check below compares values that a real, unmodified browser keeps in step.
- Checking…
User agent vs platform
A user agent changed by an extension or a script often forgets
navigator.platform, and detectors compare the two first. - Checking…
User agent vs client hints
Client hints are a second, structured copy of the user agent. A spoofed user agent that leaves the hints alone contradicts itself.
- Checking…
Language list vs locale
Your first language, the language list and the locale JavaScript formats dates with normally agree. A language changed in one place only stands out.
- Checking…
Timezone vs clock offset
The timezone name and the clock offset come from two different APIs. A timezone changed by a script often changes one and not the other.
- Checking…
Timezone vs language
Detectors weigh whether your languages are plausible for your timezone (and your IP address’s location). Travellers and expats differ all the time, so this is a weak signal on its own.
- Checking…
Screen vs window
A window can’t be bigger than the screen it is on, and the available area can’t be bigger than the screen. Emulated screens often break these rules.
- Checking…
Touch vs device type
Phones have touch screens and most computers don’t. A phone user agent without touch, or touch events without touch points, is a common emulation slip.
- Checking…
Graphics vs operating system
The graphics renderer names the graphics API, which belongs to one operating system. Direct3D on a Mac, or an Apple GPU on Windows, can’t happen on real hardware.
- Checking…
Fonts vs operating system
Every operating system ships its own fonts. A Mac user agent with only Windows fonts installed is a strong contradiction.
- Checking…
Built-in functions untouched
Fingerprint-spoofing extensions and scripts replace built-in functions, and a replaced function no longer reads as
[native code]. This is the most common way script-based spoofing is caught. - Checking…
Page vs Web Worker
Scripts can read the same values from a Web Worker, a separate thread. Spoofing done by page scripts or some extensions doesn’t reach workers, so the two disagree.
- Checking…
Page vs iframe
A fresh iframe has its own copy of every browser object. Spoofing applied only to the main page shows up as a difference.
- Checking…
Stable readings
If canvas or audio readings change between two reads on the same page, the browser is adding random noise. That protects privacy, but detectors look for it, and it means your fingerprint ID changes on every visit.
- Checking…
No automation flags
Automation flags are what bot checks look at first. A browser driven by a script, or with a debugger attached, often sets them.
- Checking…
Plugin list shape
Modern browsers show either a fixed list of five PDF viewer entries or none. An empty list in a browser that says it has a PDF viewer is a headless trait.
A mismatch doesn’t prove anything bad: privacy extensions, virtual machines and unusual setups cause them too. It means a site that checks this would notice. Every reading behind these checks is listed below.
01
Identity basics
What your browser says it is, in every request and to every script. These values are shared by many people, but they narrow things down quickly when combined.
- User agentThe browser, version and operating system your browser announces.
- Checking…
- Browser (from the user agent)Our reading of the user agent string.
- Checking…
- Platform
navigator.platform: an older, coarse name for the operating system. - Checking…
- Client hints: platformUser-Agent Client Hints, the newer, structured replacement for the user agent (Chrome-based browsers only).
- Checking…
- Client hints: brandsThe browser brands and major versions the hints report.
- Checking…
- Client hints: mobileWhether the hints say this is a phone.
- Checking…
- Client hints: OS versionA high-entropy hint: scripts must ask for it, and sites get it only when they request it.
- Checking…
- Client hints: processorAnother high-entropy hint: the processor architecture and bitness.
- Checking…
- Client hints: device modelSet on Android phones; empty on computers.
- Checking…
- Client hints: full versionsThe exact browser version, down to the build.
- Checking…
- LanguagesYour preferred languages, in order. Sites use them to pick a language, and fingerprinting scripts use the list as a signal.
- Checking…
- Locale used for dates and numbersThe locale JavaScript’s Intl formatting uses. It normally follows your first language.
- Checking…
- TimezoneThe timezone JavaScript sees. Sites compare it with where your IP address is.
- Checking…
- UTC offsetMinutes ahead of UTC right now, from
Date. - Checking…
- Do Not TrackAn old privacy header. Few people turn it on, so turning it on makes you rarer.
- Checking…
02
Screen and window
The size of your screen and window. Screen size and pixel density vary a lot between devices; window size changes as you resize, so it is not part of the fingerprint ID.
- ScreenThe full screen size in CSS pixels.
- Checking…
- Available screenThe screen minus the taskbar, dock or menu bar.
- Checking…
- Device pixel ratioHow many physical pixels make one CSS pixel: 2 on most high-density screens.
- Checking…
- Colour depthBits per pixel. Almost always 24 or 30.
- Checking…
- Window (outer)The whole browser window, including toolbars.
- Checking…
- Viewport (inner)The part of the window that shows the page.
- Checking…
- CSS media queries agreeWhether the screen size and pixel density CSS sees match what scripts read.
- Checking…
- OrientationLandscape or portrait, as the browser reports it.
- Checking…
03
Hardware
Coarse facts about the computer. Few values are possible for each, so each is weak alone.
- Logical processors
navigator.hardwareConcurrency: how many threads the processor runs at once. - Checking…
- Device memory
navigator.deviceMemory, rounded and capped on purpose by the browser (Chrome-based browsers only). - Checking…
- Touch pointsHow many fingers the screen can track. 0 on most computers.
- Checking…
- Touch eventsWhether the page gets touch events.
- Checking…
- Primary pointerWhat CSS says the main input is: a fine pointer (mouse) or a coarse one (finger).
- Checking…
04
Graphics
Your browser draws a hidden picture and we hash the pixels. Small differences in the graphics card, driver, operating system and fonts change the result, which is why canvas and WebGL are among the strongest fingerprint signals.
- WebGL vendorThe vendor name WebGL reports by default. Often generic.
- Checking…
- WebGL rendererThe renderer name WebGL reports by default.
- Checking…
- Unmasked vendorThe real graphics vendor, from the
WEBGL_debug_renderer_infoextension. - Checking…
- Unmasked rendererThe real graphics card or chip, and often the graphics API behind it.
- Checking…
- WebGL limits hashA hash of about thirty limits the graphics stack reports, such as the largest texture size.
- Checking…
- WebGL image hashA hash of a small 3D drawing.
- Checking…
- Canvas hashA hash of text, an emoji and shapes drawn on a 2D canvas.
- Checking…
- Canvas stable on re-readWe draw it twice. If the two differ, your browser adds random noise to canvas reads.
- Checking…
- WebGPUWhether the newer WebGPU interface is there.
- Checking…
05
Audio
Your browser renders a short, silent sound offline and we hash the samples. The result depends on the audio code and the processor’s maths, so it varies between devices without playing anything.
- Audio hashA hash of the rendered samples.
- Checking…
- Audio sumThe sum the hash is made from, shown so you can compare runs by eye.
- Checking…
- Audio stable on re-renderWe render it twice. If the two differ, your browser adds noise to audio.
- Checking…
06
Fonts
We measure a line of text in each of the fonts below; if it comes out a different size from the fallback font, that font is installed. Installed fonts reflect your operating system, its language packs and the software you have installed.
- Fonts foundHow many of the fonts we test for are installed.
- Checking…
- Which onesThe fonts found, from a list of common Windows, Mac and Linux fonts.
- Checking…
07
Media devices, storage and cookies
Counts only: a page sees how many cameras, microphones and speakers you have, but not their names until you give it camera or microphone access.
- Media devicesCounts by kind. This site turns off camera and microphone access for itself, so some browsers report fewer devices here.
- Checking…
- Cookies enabledWhether the browser accepts cookies (we read the setting; we set none).
- Checking…
- Local storageWhether this page could use local storage (we only check access).
- Checking…
- Storage quotaHow much space the browser offers this site. Private windows often offer much less.
- Checking…
- Built-in PDF viewerWhether the browser says it can show PDFs itself.
- Checking…
- Plugins and MIME typesThe plugin list. Modern browsers show the same fixed list of PDF viewers, or none.
- Checking…
08
Automation tells
Signs that a script, rather than a person, is driving the browser. These are the checks bot-detection services start with.
- navigator.webdriverSet to true by the standard WebDriver protocol and by most automation tools.
- Checking…
- “Headless” in the user agentOlder headless browsers name themselves in the user agent.
- Checking…
- Console inspectedWhether something read the objects this page logs to the console, as an open DevTools panel or a script attached through the DevTools protocol does.
- Checking…
- window.chromeChrome-based browsers define
window.chrome; some automation setups lack it. - Checking…
- Notification permissionThe permission state two different APIs report. They should agree.
- Checking…
- Values set on navigator itselfIn a normal browser, navigator’s values live on its prototype. Values defined on the object itself were added by a script.
- Checking…
Compare
What changed since last time?
Testing browser profiles, a VPN or a new setting? Download the JSON from one run, change something, then paste or open it here to see which readings changed. The comparison runs in this page too.
Browz
How Browz handles these signals.
Browz is an anti-detect browser for people and AI agents. It changes the values a site reads inside the browser engine itself, not with scripts injected into pages, so built-in functions stay native and the page, its workers and its iframes all read the same values. Each profile presents one consistent device whose user agent, client hints, screen, fonts, graphics names, timezone and languages are chosen together and stay the same from session to session.
Our own result: on 13 Nov 2026, Browz 0.1.9 on macOS passed 15 of 15 consistency checks in this test, headless and headed (the test’s JSON). On Windows and Linux the same test found no inconsistencies (Windows JSON, Linux JSON).
Open this page in a Browz profile and compare it with your everyday browser. Engine-level vs injected scripts: what a site can observe · How the protections work · Download Browz
FAQ
About browser fingerprints.
What is a browser fingerprint?
It is the set of facts your browser reveals to every site you visit: its version, your operating system, screen, languages, timezone, graphics card, installed fonts, and how it draws images and sound. No single fact identifies you, but together they often single out one browser among many, without any cookie.
Is anything I see here stored or sent?
No. The test runs in your browser and makes no network request: no results are uploaded, logged or saved, on our servers or in your browser’s storage. They exist only in this page until you close it, copy them or download the JSON. Our Privacy Policy covers the rest of the site.
Can I change my fingerprint?
Partly. Updating your browser, changing language or timezone settings, installing fonts or moving to another screen all change it. Privacy features in some browsers add noise or report generic values. Changing values with extensions or scripts often creates the inconsistencies this page checks for, which can make a browser easier to spot, not harder. Anti-detect browsers such as Browz change the values inside the browser engine instead: how the two approaches differ.
Why does my fingerprint ID change when I reload?
Usually because your browser adds random noise to canvas or audio readings, a privacy feature; the “Stable readings” check says whether it does. It also changes after a browser update, a new GPU driver or a different screen.
Does private browsing or a VPN change my fingerprint?
A VPN changes your IP address but not your fingerprint. A private window starts without cookies, and some browsers report less there, but most of the readings on this page stay the same.
Does a mismatch mean I look like a bot?
Not on its own. Extensions, virtual machines, remote desktops and unusual hardware all cause mismatches. They are what detection services weigh, alongside your IP address and behaviour.
How do I use this to test browser profiles?
Run the test in one profile and download the JSON. Run it again in another profile, or after changing a setting, and paste the first file into “Compare”. Separate profiles should have different IDs, and each profile should keep its ID from one session to the next.