Browsers · WhiskerJS 0.1.0

Microsoft Edge

Edge is a Chromium browser, so WhiskerJS treats it like Chrome: every Chromium API is read and nothing is excluded.

In plain words

Microsoft Edge on Windows, macOS and Linux is built on Chromium, the same open-source engine as Chrome. To WhiskerJS it is a Chromium browser: it reads the same signals as in Chrome and leaves nothing out. Edge differs from Chrome mainly in the brand names it reports and in details of its own build, which show up in a few components.

At a glance

  • Browser class: chromium (the user agent has a Chrome/<number> token).
  • Excluded components: none.
  • Chromium-only components that are ok: device_memory, heap_limit, ua_client_hints, ua_versions, keyboard_layout.
  • Skipped on purpose on desktop: audio_latency.
  • Lab sample: none.

What works

All of the Chrome desktop list applies:

  • the graphics group (canvas and WebGL with the double render, WebGL parameters, the unmasked renderer and vendor, and WebGPU where Edge offers it);
  • device_memory, heap_limit and keyboard_layout;
  • ua_client_hints: the brands are whatever Edge reports, without versions and with the GREASE brand removed; ua_versions adds the full versions outside the ids;
  • fonts, font preferences, offline audio, Math, codecs, locale, storage presence, permission states and the display preference queries.

WhiskerJS has no Edge-specific code. It reads the same APIs in the same way; any difference from Chrome comes from what Edge itself returns.

What is unavailable or blocked

  • audio_latency: unavailable / skipped on desktop, to avoid a console autoplay warning.
  • apple_pay and private_click: the plain value none.
  • ua_client_hints and ua_versions end with he=blocked when a Permissions Policy refuses the detailed hints.
  • keyboard_layout is blocked in cross-origin iframes.
  • webgpu: depends on the Edge version, the operating system and the GPU.

What WhiskerJS excludes and why

Nothing. The chromium row of the exclusion table is empty. If an extension or setting adds noise to canvas or WebGL readback, the double render reports noisy with ruleId render_mismatch for that run. The known-answer probes also catch noise that is the same on both reads (noisy / seeded_noise, for canvas, webgl_image and audio). From Chromium 146, device_memory carries the tag ;c146.

Edge and Chrome on the same device

Both are class chromium, so browser_class is the same. Expect differences in:

The structuredId shows this directly: the browser group differs while gpu, fonts and device often match. See Comparing two results.

Integrity flags to expect

The same as in Chrome: automation_webdriver under WebDriver control, headless_user_agent and headless_markers for headless builds, software_renderer with hardware acceleration off or on remote desktops, the lie checks (native_tampering, prototype_lie) with extensions that override functions, ua_ch_mismatch with user-agent switchers, and vm_renderer on virtual desktops. Headless Edge is classed chromium since signalsVersion 9, like headless Chrome.

Early lab observations

There is no lab data for Edge yet. The early, small sample at signalsVersion 1 covered Mac Chrome, Mac Safari, iPhone Chrome and iPhone Safari only.

Testing it yourself

Open the live demo in Edge and in Chrome on the same machine and compare the structuredId groups. The lab mode copies one line per run. Nothing is sent anywhere.

Support table for Microsoft Edge

Expected status of every component in this browser at signalsVersion 9, from the support matrix (updated 2026-10-26). Basis "code" means expected from the library code and documentation, not yet measured; "lab" means seen in the early lab sample.

ComponentStatusBasisNote
apple_paynonecodeNo ApplePaySession: reports the plain value none.
audiookcodenoisy / seeded_noise if the audio known-answer probe sees noise.
audio_latencyunavailablecodeSkipped (unavailable / skipped): creating an AudioContext here would print a console warning.
browser_classokcodeClass chromium.
canvasokcodenoisy / render_mismatch or seeded_noise if an extension or setting adds noise to readback.
canvas_readbackokcode
color_depthokcode
color_gamutokcode
content_blockersokcodenone, or the bait names a content blocker hid.
cpu_architectureokcode
device_memoryokcodeFrom Chromium 146 the value carries the tag ;c146 (new buckets).
dynamic_rangeokcode
font_preferencesokcode
fontsokcode
fonts_canvasokcode
forced_colorsokcode
hardware_concurrencyokcodeRead 16 times; noisy / read_varies if the reads disagree. Some browsers cap or round the value.
heap_limitokcode
intl_localeokcode
keyboard_layoutokcodenavigator.keyboard.getLayoutMap() is a Chromium desktop API; blocked in cross-origin iframes.
languagesokcode
mathokcode
media_codecsokcode
noise_profileokcodecanvas=exact,webgl=exact,audio=exact on a stock browser; webgl=na without WebGL.
pdf_viewerokcode
permissionsokcode
pixel_ratiookcode
platformokcode
pluginsokcode
prefers_contrastokcode
private_clicknonecodeNo attributionSourceId on anchors: reports the plain value none.
reduced_motionokcode
screen_frameokcode
screen_resolutionokcode
speech_voicesokcodeDigest of the voice list, or none; some browsers fill the list late.
storageokcode
time_zoneokcode
touch_supportokcode
ua_client_hintsokcodehe=blocked when a Permissions Policy refuses the detailed hints.
ua_versionsokcode
vendorokcode
vendor_flavorsokcode
webgl_imageokcodenoisy / render_mismatch or seeded_noise if an extension or setting adds noise to readback.
webgl_paramsokcodeWhere WebGL 1 is available; unavailable / no_context without it.
webgl_rendererokcode
webgl_vendorokcode
webgpuvariescodeDepends on browser version, operating system and GPU; needs a secure context. unavailable / no_api without navigator.gpu, no_context without an adapter.

Questions and answers

Does WhiskerJS tell Edge and Chrome apart?

It does not label them separately: both are class chromium. Components such as ua_client_hints carry the brand names each browser reports, so Edge and Chrome on the same device usually differ there, and that difference reaches the browser group of the structuredId.

Is anything excluded in Edge?

No. The chromium row of the exclusion table is empty.

What about Edge on iPhone?

Edge on iOS runs on WebKit like every iOS browser and is classed safari. See the Safari and every iOS browser page.