Android Chrome Browser Fingerprint

Android Chrome exposes navigator.deviceMemory, hardwareConcurrency, and full WebGL renderer strings that iOS Safari restricts. How Android fingerprints differ from iOS, and Brave for Android protection.

ZERO UPLOAD · ALL LOCAL
  1. The scan runs automatically when you open this page — no input needed.
  2. Each section shows a group of signals your browser exposes. Rows marked TRACKABLE are the highest-entropy signals used to identify you.
  3. The entropy score at the top estimates how uniquely identifiable your browser is across the web.
  4. Use the Copy buttons next to any row to copy that value to your clipboard.
  5. The Installed Fonts section lists which fonts from a 30-font probe were detected on your system.

Android Chrome vs. iOS Safari

  • real RAM class returned
  • undefined, not implemented
  • blocked since Safari 12
  • randomized to 2, 4, or 8
Scanning browser APIs…
~0 bits

Analysing fingerprint…

27+ bits VERY HIGH
19 – 26 bits HIGH
9 – 18 bits MODERATE
0 – 8 bits LOW

IDENTITY

USER AGENTTRACKABLE
APP VERSION
PLATFORM
VENDOR
WEBDRIVER

HARDWARE

CPU THREADS
DEVICE MEMORY
SCREEN RESOLUTIONTRACKABLE
AVAILABLE SCREEN
COLOUR DEPTH
PIXEL DEPTH
PIXEL RATIO
ORIENTATION
TOUCH POINTS
BATTERY LEVEL
BATTERY CHARGING

GRAPHICS

CANVAS HASHTRACKABLE
WEBGL VENDOR
WEBGL RENDERERTRACKABLE
WEBGL EXT COUNT
WEBGL EXTENSIONS
MAX TEXTURE SIZE
WEBGL 2
WEBGPU

AUDIO

AUDIO FINGERPRINTTRACKABLE
SAMPLE RATE
BASE LATENCY

NETWORK & PRIVACY

ONLINE
DO NOT TRACK
COOKIES ENABLED
CONNECTION TYPE
DOWNLINK
RTT
SAVE DATA

BROWSER ENVIRONMENT

LANGUAGE
LANGUAGESTRACKABLE
TIMEZONETRACKABLE
TIMEZONE OFFSET
PLUGIN COUNT
PLUGINS
LOCAL STORAGE
SESSION STORAGE
INDEXEDDB
WEBSQL
CODEC H.264
CODEC VP8
CODEC VP9
CODEC AV1
CODEC HEVC
SPEECH VOICES
VOICE NAMES

SYSTEM PREFERENCES

COLOUR SCHEME
REDUCED MOTION
CONTRAST
POINTER
HOVER
FORCED COLOURS

INSTALLED FONTS

INSTALLED FONTSTRACKABLE
Show detected fonts (30 probed)

Android Chrome Browser Fingerprint: Hardware Signals and Privacy

Compared with iOS Safari, Android Chrome exposes hardware signals that Apple deliberately obscures. On Android, navigator.deviceMemory returns the actual device RAM class, navigator.hardwareConcurrency returns the real CPU core count, and screen.width and screen.height report physical CSS pixel dimensions without the normalization that iOS applies.

The WebGL renderer string includes the full GPU model, "Adreno (TM) 750" or "Mali-G715 MC6", which identifies both the chip manufacturer and the device tier.1 Consequently, two Android phones with identical model names but different hardware configurations can produce different WebGL renderer strings, narrowing the identification pool further than device model alone would suggest.

Building on this, Google's 2025 Privacy Sandbox update did not restrict JavaScript hardware APIs, leaving Android Chrome with the same hardware exposure profile as desktop Chrome. Samsung Internet on Galaxy devices applies its own content blocking but still exposes the same fingerprinting APIs as Chrome, producing different canvas hashes but equivalent hardware signals.

What Android Chrome reveals beyond iOS

The most significant difference between Android Chrome and iOS Safari fingerprinting is the exposure of real hardware values. navigator.deviceMemory on Android returns the device's actual RAM class: 1 for entry-level phones, 2 or 4 for mid-range devices, 8 for flagships.2 iOS does not implement navigator.deviceMemory, returning undefined. navigator.hardwareConcurrency on Android returns the real logical core count, typically 4, 6, or 8 for current phones.

Why Android Chrome exposes more hardware detail

The WebGL renderer string on Android Chrome includes the full GPU model name from the hardware vendor: Qualcomm's Adreno series, ARM's Mali series, or Apple's unnamed GPU (on iPhones, where the WebGL renderer string is blocked by default).1 Consequently, the Android Chrome fingerprint contains direct hardware classification data that allows scripts to determine whether the device is entry-level, mid-range, or flagship tier. Building on this, screen.width and screen.height on Android report the CSS pixel dimensions computed from physical pixels divided by devicePixelRatio, which vary by screen resolution and density setting across the fragmented Android device ecosystem.

These exposed values matter because they let a script distinguish between devices that share the same marketing name. Two phones sold as the same model can ship with different chipsets, and the WebGL renderer string reveals that difference directly. You can see the effect by running the fingerprint inspector on two identical-looking handsets and comparing the GPU model each one reports.

Samsung Internet vs. Chrome on Galaxy devices

Samsung Internet is the pre-installed browser on Samsung Galaxy devices and ships with distinct content blocking and user agent behavior compared to Chrome on the same hardware. Samsung Internet includes Samsung's built-in ad blocker and smart anti-tracking features, which block some third-party fingerprinting scripts by domain. The canvas hash produced by Samsung Internet differs from Chrome's canvas hash on the same device because the two browsers use different rendering pipelines; Samsung Internet's Blink-based renderer applies different canvas anti-aliasing settings.3

How Android differs from iOS Safari

Consequently, a device running both Samsung Internet and Chrome on the same Galaxy phone will produce different canvas hashes, which means fingerprinting via canvas alone cannot link sessions across the two browsers on the same device. Yet the hardware signals, WebGL renderer, deviceMemory, hardwareConcurrency, and screen dimensions, are identical between the two browsers because they query the same hardware. Building on this, Samsung Internet's User-Agent string includes "SamsungBrowser" rather than "Chrome", which itself identifies the browser family as a distinct segment.

Reducing Android browser fingerprint exposure

Chrome on Android provides no built-in fingerprinting protection whatsoever, exposing the same complete hardware signal set as desktop Chrome including real deviceMemory, hardwareConcurrency, and full WebGL renderer strings. Brave for Android applies the same farbling protections as desktop Brave: canvas hash is randomized per site, WebGL renderer is blocked, hardwareConcurrency is randomized to a value from {2, 4, 8}, and audio context fingerprinting receives per-site noise that prevents stable cross-session linking.45 Firefox Focus for Android, although limited in extension support compared to the desktop version, enables a meaningful subset of privacy protections that reduce fingerprinting exposure relative to default Chrome.

Conversely, installing a privacy extension in Chrome for Android is more limited than on desktop because Chrome Android enforces stricter extension API restrictions under Manifest V3, which prevents extensions from intercepting the same low-level API calls that desktop extensions can modify. Consequently, switching browsers on Android provides substantially more fingerprint protection than adding extensions to Chrome, since a different browser with built-in farbling modifies the signals before JavaScript ever executes rather than trying to patch them after the fact.

What to test on your phone

Furthermore, enabling Brave Shields on Android produces a measurable reduction in the entropy score shown in CapyToolkit Browser Fingerprint Inspector; the WebGL renderer and canvas hash both change to indicate Brave's protections are active. You should also compare the hardwareConcurrency value before and after enabling Shields, since Brave randomizes it to a value from the set {2, 4, 8} per session. Testing with CapyToolkit on your specific device is the most reliable way to confirm which signals change and which remain exposed, because the exact fingerprint profile varies by device model, Android version, and browser configuration.

When to use this

Use this guide when comparing what Android Chrome exposes against iOS Safari on matching hardware, or when evaluating whether Brave for Android provides meaningful protection on a specific Android device.

Examples

Comparing deviceMemory between Android Chrome and iOS Safari

Before
Android Chrome (mid-range device): `navigator.deviceMemory` → 4 (real RAM class returned)
After
iOS Safari (any device): `navigator.deviceMemory` → undefined (API not implemented in Safari; iOS does not expose RAM class to scripts)

iOS deliberately does not implement `navigator.deviceMemory`. Android Chrome returns the real class, enabling device tier identification through RAM alone.

WebGL renderer on Android Chrome vs. iOS Safari

Before
Android Chrome: `UNMASKED_RENDERER_WEBGL` → "Adreno (TM) 750" (full Qualcomm GPU model exposed)
After
iOS Safari: `UNMASKED_RENDERER_WEBGL` → "" (`WEBGL_debug_renderer_info` blocked since Safari 12; GPU model not exposed)
Sources
  1. 1.

    Mozilla Developer Network, "WEBGL_debug_renderer_info," developer.mozilla.org, accessed July 2026. https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/getExtension

  2. 2.

    Mozilla Developer Network, "Navigator.deviceMemory," developer.mozilla.org, accessed July 2026. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/deviceMemory

  3. 3.

    FingerprintJS, "Samsung Internet: Unstable Fingerprint Due to Canvas Randomization," GitHub, accessed July 2026. https://github.com/fingerprintjs/fingerprintjs/issues/791

  4. 4.

    Brave, "Fingerprinting Protections v2 (Master Tracking)," github.com, accessed July 2026. https://github.com/brave/brave-browser/issues/8787

  5. 5.

    Brave, "Fingerprinting Defenses 2.0: Farbling," brave.com, accessed June 2026. https://brave.com/privacy-updates/4-fingerprinting-defenses-2.0/

FAQ