Skip to main content

DEVELOPER FIELD GUIDE · A—Z

BrowserFingerprints.

From Canvas to WebRTC, understand the signals a website can observe and how they contribute to a browser fingerprint.

Explore 34 terms

Check your browser fingerprint for free

ONE BROWSER. MANY SIGNALS.01
BrowserCanvas · Fonts · Audio
NetworkHeaders · IP · TLS
Fingerprint
Compare signals together. A matching fingerprint does not prove a person’s identity.
01

ObserveRequests expose signals; scripts can measure rendering.

02

CombineCombine or hash observations. A longer hash adds no identifying information.

03

Add contextUpdates change signals. Different environments can share the same result.

THE FINGERPRINT INDEX

Every signal, explained.

34 of 34 terms

A

01
Rendering

AudioContext

Audio processing can produce small numerical differences that help describe a browser and its underlying software environment.

AudioContext · OfflineAudioContextHow it worksClose explanation

The mechanism

An offline audio graph generates samples into a buffer without playing through speakers. Comparing its output can reveal differences in audio implementations; context properties also expose capabilities such as sample rate.

What to keep in mind

This does not require recording a microphone. Matching output is not proof that two visits came from the same device.

B

01
Device

Battery

Charging state and battery level describe a temporary device condition, with limited availability across browsers and operating environments.

Battery Status APIHow it worksClose explanation

The mechanism

Supporting browsers expose a BatteryManager with charge level, charging state and timing estimates. Changes can add short-lived context to an observation, rather than a durable hardware identity.

What to keep in mind

Support is restricted and values change during use. An unavailable API or a full battery is not evidence of automation.

C

06
Rendering

Canvas

The pixels produced by drawing text and shapes can reflect differences in fonts, graphics processing and browser rendering.

Canvas 2D · pixel readbackHow it worksClose explanation

The mechanism

A page renders a chosen scene and reads its pixel output. A compact representation of those pixels can be compared across visits, alongside other observations about the environment.

What to keep in mind

Privacy protections can alter or restrict readback. Shared rendering stacks can match, and software updates can change the result.

Browser

Client Hints

Structured browser and platform hints provide a controlled alternative to extracting device details from the traditional User-Agent string.

Sec-CH-UA · NavigatorUADataHow it worksClose explanation

The mechanism

Supporting clients provide basic hints and may provide additional details after a server request or JavaScript query. Browser policy determines which values are exposed and at what level of detail.

What to keep in mind

High-entropy hints are not guaranteed to be available. Requesting them does not always produce a visible permission prompt.

Rendering

Client Rects

Element geometry exposes layout measurements, including fractional pixels, that can differ with fonts, styling and the browser layout engine.

Element.getClientRectsHow it worksClose explanation

The mechanism

The browser reports rectangles for an element’s rendered CSS boxes. Measurements from a controlled layout may be compared as rendering observations, especially where text wraps or fractional dimensions occur.

What to keep in mind

Scrolling, zoom, fonts and page layout affect coordinates. Comparing arbitrary rectangles without matching the scene produces misleading differences.

Device

Color Depth

Reported color depth describes a display-related capability, but common or standardized values often add little distinguishing information by themselves.

Screen.colorDepth · Screen.pixelDepthHow it worksClose explanation

The mechanism

The Screen interface reports a color-depth value for the output environment. It can accompany screen dimensions in a capability profile, although browser policy may substitute a conventional value.

What to keep in mind

The number is not a reliable specification of the physical panel or HDR support, and many devices share it.

Session

Cookies

Cookies preserve site-assigned state and identifiers between requests; they are stored data rather than a fingerprint derived from browser capabilities.

Cookie · Set-CookieHow it worksClose explanation

The mechanism

A site sets a value that the browser sends with eligible requests. Session continuity comes from retaining that value, while cookie attributes and browser policies govern its scope and lifetime.

What to keep in mind

HttpOnly cookies are not readable by page scripts. Clearing cookies removes stored state but does not change the browser’s rendering characteristics.

Browser

CSS Media Queries

Media queries describe display conditions, input capabilities and user preferences, giving pages several small pieces of environmental information.

@media · matchMediaHow it worksClose explanation

The mechanism

Queries test features such as pointer precision, hover, color scheme and reduced motion. A combination of results can describe the current environment while also enabling responsive and accessible interfaces.

What to keep in mind

Preferences and connected input devices can change. A matching query is a capability or preference signal, not a device identifier.

D

02
Device

Device Memory

A coarse estimate of device memory helps describe a hardware tier without exposing an exact inventory of installed RAM.

Navigator.deviceMemoryHow it worksClose explanation

The mechanism

Supporting browsers round memory into coarse values and clamp the result within implementation-defined limits. This makes the signal useful for resource adaptation while reducing the detail available for fingerprinting.

What to keep in mind

Availability and bounds vary by browser. Treat the reported value as an approximation, not the device’s actual RAM capacity.

Browser

Do Not Track

Do Not Track is a legacy privacy preference that may appear in older fingerprint datasets or browser configuration reports.

DNT · Navigator.doNotTrackHow it worksClose explanation

The mechanism

The DNT header and its JavaScript counterpart expressed a request not to be tracked. Their presence or value could become another configuration observation, despite the feature’s privacy-related intent.

What to keep in mind

DNT is deprecated and its specification was discontinued. It does not itself block tracking and should not anchor modern identification.

F

01
Rendering

Fonts

Available fonts and their rendering behavior can reflect operating-system defaults, language support and software installed in the browsing environment.

CSS local fonts · Local Font AccessHow it worksClose explanation

The mechanism

Pages may infer a candidate font’s availability through rendering differences. The separate Local Font Access API can enumerate exposed font metadata, but requires permission and is subject to browser policy.

What to keep in mind

A page does not automatically receive every installed font. Downloaded web fonts and privacy restrictions can change the observable result.

G

01
Device

Geolocation

Geolocation supplies permission-controlled location context; it is different from an approximate region inferred from a connection’s public IP address.

Geolocation APIHow it worksClose explanation

The mechanism

After permission is granted, the browser uses available location services to return coordinates and associated accuracy. The result describes location at a particular time rather than a permanent browser characteristic.

What to keep in mind

Availability and precision depend on permission, policy and location services. Refusing access is ordinary user behavior, not evidence of fraud.

H

02
Device

Hardware Concurrency

The reported logical processor count offers a coarse view of parallel processing capacity available to the browser’s worker environment.

Navigator.hardwareConcurrencyHow it worksClose explanation

The mechanism

The browser reports how many logical processors may be available for execution. This helps applications size worker pools, and can contribute one hardware-related observation when combined with other signals.

What to keep in mind

Browsers may report a reduced count. Logical processors are not the same as physical CPU cores or an exact processor model.

Network

HTTP Headers

Request headers expose protocol metadata to the receiving server, including accepted content, language preferences and aspects of the request context.

Accept · Accept-Language · Sec-Fetch-*How it worksClose explanation

The mechanism

Servers can examine the fields sent with a request before page JavaScript runs. A header profile describes client behavior, although individual fields may overlap with information exposed by browser APIs.

What to keep in mind

Headers depend on request type, protocol and intermediaries. A header combination alone cannot establish a unique person or device.

I

01
Network

IP Address

A public IP address identifies a network endpoint visible to a server, providing connection context rather than a browser’s intrinsic identity.

Connection source IPHow it worksClose explanation

The mechanism

The receiving service observes the source address of its connection. NAT can place multiple devices behind one address, while network changes and intermediaries can cause one device to appear under different addresses.

What to keep in mind

A shared or changing address is normal. An IP match is not proof of the same browser, household or person.

L

01
Browser

Language

Preferred languages and their ordering describe browser configuration, adding regional context without reliably revealing a user’s location or nationality.

Navigator.languages · Accept-LanguageHow it worksClose explanation

The mechanism

JavaScript can expose a preferred language list, while HTTP requests may carry related language preferences. Their overlap is informative, but the two representations can use different fallback tags and ordering details.

What to keep in mind

Privacy modes may shorten the list. A user can choose languages unrelated to their location, and values are not always identical.

M

01
Device

Media Devices

Exposed cameras, microphones and audio outputs describe the media environment, with the visible list shaped by permissions and browser policy.

MediaDevices.enumerateDevicesHow it worksClose explanation

The mechanism

Device enumeration returns information about available media inputs and outputs. The number and kinds of exposed devices, and labels where permitted, can add context about the current setup.

What to keep in mind

Permission rules can omit devices or hide labels. Device identifiers are not a public inventory of hardware serial numbers.

N

01

O

01
Device

Operating System

Operating-system information is usually a reported or inferred platform family, not direct access to a machine’s complete system configuration.

Platform hints · Navigator.platformHow it worksClose explanation

The mechanism

Platform strings and related browser hints may suggest an operating-system family. Other observations can correlate with that family, but compatibility conventions and reduced reporting can conceal exact architecture or version.

What to keep in mind

Legacy platform values can be misleading; for example, a Windows platform label need not reveal the actual system bitness.

P

02
Session

Permissions

Permission states describe what a particular browsing context may access, reflecting user choices and browser policy more than hardware identity.

Permissions API · PermissionStatusHow it worksClose explanation

The mechanism

A permission query can return the state for a supported feature, such as geolocation. The result helps applications decide whether access is available, blocked or still requires a user decision.

What to keep in mind

Query support varies by permission and browser. A denied or unsupported result is normal and does not establish an automated session.

Browser

Plugins

The legacy plugin list now mainly preserves PDF-viewer compatibility, making old assumptions about enumerating installed browser plugins unreliable.

Navigator.plugins · pdfViewerEnabledHow it worksClose explanation

The mechanism

The modern specification defines a standard set of PDF-viewer entries when inline PDF display is supported, and an empty list otherwise. This keeps older feature checks working with predictable output.

What to keep in mind

It is not a list of installed browser extensions. Historical Flash-era plugin fingerprinting descriptions do not represent modern behavior.

S

03
Device

Screen Resolution

Reported screen dimensions describe the display space available to the browser, contributing a common but usually non-unique environmental characteristic.

Screen.width · Screen.heightHow it worksClose explanation

The mechanism

The Screen interface exposes dimensions in CSS pixels and separate available-area measurements. These describe a different surface from the page viewport, so a window size and a screen size should be distinguished.

What to keep in mind

CSS pixels are not necessarily physical panel pixels. Display configuration and browser privacy behavior can change the values observed.

Browser

Speech Voices

Available text-to-speech voices can describe language and speech-service configuration, adding another software-related observation about the current browser environment.

SpeechSynthesis.getVoicesHow it worksClose explanation

The mechanism

The speech synthesis interface exposes available voice objects, including names and language tags. A list of these attributes may differ across environments and can change as voices become available.

What to keep in mind

The voice list can load asynchronously or change. It describes speech output options and does not record the user’s voice.

Session

Storage

Browser storage retains origin-associated data and session context; stored identifiers should be distinguished from fingerprints calculated from observable device properties.

localStorage · IndexedDB · StorageManagerHow it worksClose explanation

The mechanism

Web Storage and IndexedDB let sites retain values within browser-managed boundaries. Storage estimates and persistence behavior provide separate capability context, but estimates are not precise measurements of a device’s free disk.

What to keep in mind

Clearing, eviction and private browsing can remove data. Storage policies and quotas vary, so storage behavior alone cannot prove identity.

T

03
Browser

Timezone

A configured time zone adds regional context to the browser environment, but it does not determine where a person is physically located.

Intl.DateTimeFormat · timeZoneHow it worksClose explanation

The mechanism

The internationalization API can report the time zone resolved for a date formatter. With default options, this reflects the runtime’s configured zone and can be considered alongside language settings.

What to keep in mind

Users and managed environments can choose a time zone. Travel, remote desktops and overrides can create legitimate differences from network location.

Network

TLS

TLS fingerprints describe connection-handshake characteristics observed by network services, helping group client implementations rather than uniquely identify individual browsers.

ClientHello · JA3 · JA4How it worksClose explanation

The mechanism

Schemes such as JA3 and JA4 summarize characteristics of the TLS ClientHello. JA4 normalizes some ordering differences, so the resulting value can group connections with similar client behavior.

What to keep in mind

These are server-side connection observations, not ordinary JavaScript properties. Shared client software can share a TLS fingerprint across many users.

Device

Touch Points

The maximum supported touch contacts describe an input capability, helping distinguish broad device configurations without identifying a specific piece of hardware.

Navigator.maxTouchPointsHow it worksClose explanation

The mechanism

The browser reports how many simultaneous touch points the current device supports. Applications use it to adapt gestures, and a fingerprint profile may record it alongside other input capabilities.

What to keep in mind

Touch support does not mean a device is a phone. Laptops, tablets and hybrid devices can expose overlapping values.

U

01
Browser

User Agent

The User-Agent string reports browser and platform information, but compatibility tokens and reduced detail limit how literally it can be interpreted.

User-Agent · Navigator.userAgentHow it worksClose explanation

The mechanism

Browsers send a User-Agent header and expose a related JavaScript property. These strings can suggest a browser family, while reduction policies may freeze platform versions, device models and minor version details.

What to keep in mind

A string can be overridden and multiple browsers share tokens. Prefer feature detection when deciding which functionality a page can use.

V

01
Browser

Video Codecs

Supported video configurations and decoding estimates describe media capabilities that can vary across browsers, operating systems and available hardware acceleration.

MediaCapabilities.decodingInfoHow it worksClose explanation

The mechanism

A page can ask whether a particular codec and video configuration is supported, smooth and power efficient. Multiple answers form a capability profile rather than a list of installed applications.

What to keep in mind

Results depend on the exact configuration and available implementation data. A supported codec does not uniquely identify a GPU or device.

W

05
Browser

WebDriver

WebDriver exposes a standardized automation status signal, intended to help cooperating pages recognize that a browser is under automated control.

Navigator.webdriverHow it worksClose explanation

The mechanism

The webdriver property reports whether the browser indicates automation control. Test tools and websites can use that declaration to coordinate behavior, making it an automation signal rather than a high-entropy device fingerprint.

What to keep in mind

Automation has legitimate uses. This single Boolean neither identifies an operator nor proves that a session is harmful or human.

Rendering

WebGL

WebGL exposes graphics capabilities and rendered output that may reflect the browser’s graphics stack, supported extensions and underlying driver behavior.

WebGLRenderingContextHow it worksClose explanation

The mechanism

A WebGL context can report limits and extensions, while rendering a scene produces pixels for comparison. A separate debug extension may reveal renderer information when the browser permits it.

What to keep in mind

Debug information may be restricted. Software rendering and shared graphics stacks mean a renderer label is not a unique hardware identity.

Rendering

WebGL2

WebGL2 extends the graphics feature surface with additional rendering capabilities, giving more context about the browser’s available graphics implementation.

WebGL2RenderingContextHow it worksClose explanation

The mechanism

Based on OpenGL ES 3.0 capabilities, WebGL2 adds features such as three-dimensional textures and multiple render targets. Support and reported limits can complement observations from the original WebGL interface.

What to keep in mind

WebGL and WebGL2 observations are related, not independent identities. Missing support can reflect browser configuration or device compatibility.

Rendering

WebGPU

WebGPU makes selected graphics-adapter information available for modern rendering and computation, with disclosure limited to reduce fingerprinting exposure.

GPUAdapter · GPUAdapterInfoHow it worksClose explanation

The mechanism

An available adapter can expose information such as vendor or architecture through GPUAdapterInfo. Browsers choose how much detail to share, so the same API can yield different information granularity across implementations.

What to keep in mind

Fields may be empty or generalized, and adapter availability varies. The interface is not an unrestricted hardware identification channel.

Network

WebRTC

WebRTC connection negotiation can expose network-path information, adding context about candidate routes used for real-time media or data connections.

RTCPeerConnection · ICE candidatesHow it worksClose explanation

The mechanism

ICE gathers candidate connection routes, potentially including direct, server-discovered or relay addresses. The information visible to a page depends on browser policy, permissions and how the connection is configured.

What to keep in mind

WebRTC does not guarantee disclosure of a device’s original IP. Candidate visibility and routing vary with privacy settings and network conditions.

AdsCrawl

Make the browser environment part of your workflow.

AdsCrawl Cloud Browser runs AdsPower fingerprint browsers, bringing native fingerprints and separate browser environments to cloud workflows.

Explore Cloud Browser
  • Native fingerprints

    Real native browser fingerprints powered by AdsPower.

  • Isolated environments

    Keep fingerprint settings and browser state separate for each profile.

  • Ongoing updates

    Browser versions follow AdsPower fingerprint browser updates.