Platform

Back to Main

Your Platform String

Loading...

From navigator.platform property

1. Technical Classification

Browser API OS Identifier Hardware Architecture Legacy Property

The navigator.platform property is a string that identifies the platform (operating system and CPU architecture) on which the browser is running. This identifier reveals:

Deprecated API

navigator.platform is deprecated and being replaced by the User-Agent Client Hints API. However, it's still widely used and supported by all browsers.

2. Background & Purpose

The navigator.platform property dates back to early web browsers (Netscape Navigator era) when websites needed to detect the user's operating system to provide platform-specific downloads, instructions, or features.

Original Use Cases

Why It's Being Deprecated

The platform string has several problems:

Modern Alternative: User-Agent Client Hints

The navigator.userAgentData.platform API provides more accurate and privacy-friendly platform detection.

3. Common Platform Values

Windows

Win32

Meaning: 32-bit Windows or 64-bit Windows (confusing, but both report as "Win32")

Browsers: All browsers on Windows

Common: Most desktop users (~75% of desktop market)

macOS

MacIntel

Meaning: macOS on Intel CPUs (also used for ARM Macs to avoid fingerprinting!)

Browsers: Safari, Chrome, Firefox on macOS

Note: Even Apple Silicon (M1/M2) Macs report "MacIntel" for privacy

MacPPC

Meaning: macOS on PowerPC CPUs (ancient, pre-2006)

Status: Essentially extinct

Linux

Linux x86_64

Meaning: 64-bit Linux

Common: Most Linux desktop users

Linux i686

Meaning: 32-bit Linux

Status: Increasingly rare

Linux armv7l or Linux aarch64

Meaning: ARM-based Linux (Raspberry Pi, ARM servers, etc.)

Mobile Platforms

iPhone / iPad / iPod

Meaning: iOS devices

Browsers: Safari, Chrome (WebKit), Firefox (WebKit) on iOS

Linux armv8l (Android)

Meaning: Android devices

Note: Android reports Linux because it's based on Linux kernel

Deprecated/Rare Values

Value Meaning Status
Win16 16-bit Windows (3.1, 95, 98) Extinct
WinCE Windows CE (mobile) Extinct
FreeBSD FreeBSD Unix Very rare
SunOS Solaris/SunOS Very rare

4. Common Legitimate Uses

1. Platform-Specific Downloads

Use case: Show the correct download link for user's OS

const platform = navigator.platform.toLowerCase(); if (platform.includes('win')) { showDownloadLink('app-windows.exe'); } else if (platform.includes('mac')) { showDownloadLink('app-macos.dmg'); } else if (platform.includes('linux')) { showDownloadLink('app-linux.tar.gz'); }

2. Keyboard Shortcut Display

Use case: Show Cmd for Mac, Ctrl for Windows/Linux

const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0; const modifierKey = isMac ? '⌘' : 'Ctrl'; document.getElementById('shortcut').textContent = `Press ${modifierKey}+S to save`;

3. Touch vs Mouse Detection

Use case: Optimize UI for mobile vs desktop

// Simple (but imperfect) mobile detection const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.platform); if (isMobile) { enableTouchGestures(); } else { enableMouseInteractions(); }

4. Feature Detection

Use case: Check if platform-specific features are available

5. Analytics

Use case: Understanding user demographics

5. Browser & Platform Inconsistencies

The "Win32" Confusion

64-bit Windows Reports as "Win32"

Both 32-bit and 64-bit Windows report navigator.platform = "Win32" for backward compatibility. You cannot distinguish 32-bit from 64-bit Windows using this property.

Apple Silicon Macs Report "Intel"

M1/M2 Macs Report "MacIntel"

Apple's ARM-based M1, M2, M3 chips report as "MacIntel" (suggesting Intel CPU) to prevent fingerprinting. You cannot detect Apple Silicon vs Intel Macs via navigator.platform.

Android Reports as Linux

Android devices typically report as Linux armv8l or similar, not "Android". You need to check the User-Agent string to confirm it's Android.

Browser-Specific Variations

OS Chrome Firefox Safari
Windows 10/11 Win32 Win32 N/A
macOS (Intel) MacIntel MacIntel MacIntel
macOS (M1/M2) MacIntel MacIntel MacIntel
Linux 64-bit Linux x86_64 Linux x86_64 N/A
iOS iPhone iPhone iPhone

6. Privacy Implications & Tracking Risks

Privacy Risk: MEDIUM

Platform is a significant fingerprinting component that narrows down your identity considerably when combined with other data.

What Platform Reveals About You

1. Operating System & Ecosystem

  • MacIntel: Apple user, likely higher income bracket
  • Win32: Windows user, most common
  • Linux: Technical user, privacy-conscious, or developer
  • iPhone: iOS user, Apple ecosystem

2. Device Type & Mobility

  • Desktop platforms (Win32, MacIntel, Linux): Home/office user
  • Mobile platforms (iPhone, Android): On-the-go user

3. Technical Sophistication

  • Linux users: Often developers, sysadmins, or tech enthusiasts
  • Default platforms: Less technical, mainstream users
  • Rare platforms: Highly technical or niche users

Fingerprinting Contribution

Platform is combined with other attributes for identification:

// High entropy combination Platform: "Linux x86_64" (5% of users) + Browser: "Firefox" (3% of users) + Timezone: "America/Denver" (2% of US users) = Very rare combination (~0.003% of users)

Cross-Site Tracking

Trackers use platform as part of fingerprint persistence:

  1. You visit Site A: Platform = "MacIntel"
  2. Combined with screen size (2560x1440) and timezone (PST)
  3. Creates fingerprint: "Mac-2560x1440-PST"
  4. Visit Site B: Same fingerprint matches
  5. Tracker identifies you across sites

Platform Spoofing Detection

Even if you spoof navigator.platform, websites can detect inconsistencies:

7. How to Control Platform Information

1. Browser Settings (Limited)

Most browsers don't offer built-in ways to change navigator.platform. However:

Firefox about:config

You can override the platform string:

  • Navigate to about:config
  • Create new string: general.platform.override
  • Set value to desired platform (e.g., "Win32")

2. Browser Extensions

Extensions can spoof platform:

Spoofing Can Break Features

If you report "Win32" but you're on Mac, sites might show Windows-specific instructions or downloads that won't work for you.

3. Privacy-Focused Browsers

Tor Browser

Strategy: All users report "Win32" regardless of actual OS

Effect: Perfect uniformity—impossible to distinguish users by platform

Brave Browser

Strategy: Reports real platform but randomizes other fingerprinting vectors

Effect: Platform is accurate but less useful for tracking

4. Use Common Platforms

The privacy paradox: Using the most common platform makes you less unique:

5. Modern Alternative: User-Agent Client Hints

Instead of navigator.platform, modern sites should use:

// New API (not all browsers support yet) navigator.userAgentData.platform // Returns: "Windows", "macOS", "Linux", "Android", "iOS" // More granular data requires permission: navigator.userAgentData.getHighEntropyValues(['platformVersion'])

What Doesn't Work

8. Learn More