World’s largest virtual agentic engineering & quality conference

WHENAUG 19-21
WHEREVirtual · Global
WATCH NOW

Latest Safari User Agent Strings for macOS, iOS, and iPadOS

Copy-pasteable Safari user agent strings for Mac, iPhone, and iPad — current as of Safari 26.5 — plus what every token means, why Apple freezes the OS version for privacy, and how to change your UA for testing.

Last updated on : 2026-07-17

Latest Safari User Agent String on macOS

This is the exact user agent desktop Safari sends today — on macOS Tahoe 26 and Sequoia 15 alike, Intel or Apple Silicon:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15

Yes, it claims "Intel Mac OS X 10_15_7" (Catalina, 2020) on every Mac — that token is intentionally frozen, as explained below. Only the Version/ token changes between Safari releases:

Safari ReleaseUser Agent String
Safari 26.5 (current) — macOS Tahoe 26 / Sequoia 15Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15
Safari 18.5 (2025) — macOS SequoiaMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Safari/605.1.15

Latest Safari User Agent String on iPhone (iOS 26)

The current iPhone Safari user agent on iOS 26.5:

Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1

The "18_7" is not a typo on your device: starting with iOS 26, Apple froze the OS token so Safari reports the last iOS 18 version instead of the real one (it shipped as 18_6 in September 2025 and was bumped to 18_7 in later 26.x updates). The real Safari release is visible only in Version/26.5. Third-party iOS browsers like Chrome, and in-app web views, still report the true OS version — one reason analytics tools now undercount iOS 26 traffic from Safari:

Safari ReleaseUser Agent String
Safari 26.5 (current) — iPhone, iOS 26.5Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1
Safari 18.5 (2025) — iPhone, iOS 18.5Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1

Historical contrast: through iOS 18, the OS token reported the real version and matched the Version/ token. iOS 26 severed that relationship for privacy.

Safari User Agent on iPad (iPadOS 26)

Since iPadOS 13, iPad Safari sends a desktop-class Macintosh user agent by default — byte-identical to a Mac's, so servers cannot tell an iPad from a Mac by UA string alone. A distinct iPad token only appears if the user explicitly requests the mobile site:

ModeUser Agent String
iPadOS 26.5 — default (desktop-class UA)Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15
iPadOS 26.5 — "Request Mobile Website" modeMozilla/5.0 (iPad; CPU OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1

If you need to detect iPads in JavaScript, check for touch support on the "Mac" platform instead of parsing the UA: navigator.maxTouchPoints > 1 on a Macintosh UA indicates an iPad.

Anatomy of a Safari User Agent String

Every Safari UA is built from the same tokens. Here's what each one actually means — and which ones you can trust:

TokenWhat It Means
Mozilla/5.0A compatibility relic from the 1990s browser wars — every modern browser claims it. Carries no real information.
(Macintosh; Intel Mac OS X 10_15_7)Desktop platform token, frozen since Safari 14 / macOS Big Sur (2020). It always reports Catalina 10.15.7 and always says "Intel" — even on Apple Silicon Macs running macOS Tahoe 26.
CPU iPhone OS 18_7 like Mac OS XiPhone OS token. Since iOS 26, this is frozen too — it no longer reports the real iOS version (18_6 at the iOS 26.0 launch, bumped to 18_7 in later 26.x updates). On iPad in mobile mode the token reads "CPU OS 18_7" without the word iPhone.
AppleWebKit/605.1.15The WebKit engine token, frozen at 605.1.15 since around 2018. It has not tracked real WebKit builds for years and is identical across macOS, iOS, and iPadOS.
(KHTML, like Gecko)Historical compatibility markers: WebKit descends from KDE's KHTML engine, and "like Gecko" was added so sniffers targeting Firefox's Gecko engine would serve full-featured pages.
Version/26.5The only token that reliably reflects something current — the real Safari version. It advances with every release while everything else stays frozen, and it's unique to Safari (Chrome, Edge, and Firefox don't send it).
Mobile/15E148Frozen mobile build token dating to the iOS 11.3 era (2018). It no longer maps to any current iOS build — treat it as a constant marker meaning "mobile WebKit".
Safari/605.1.15 vs Safari/604.1Frozen trailing tokens that differ by form factor: desktop (and iPad desktop-mode) UAs end in Safari/605.1.15, while iPhone and iPad mobile-mode UAs end in Safari/604.1. This suffix plus Mobile/15E148 is the practical way to tell mobile Safari from desktop Safari.

Why Apple "Freezes" Safari User Agent Strings for Privacy

A user agent string is a rich source of browser fingerprinting entropy: combine OS version, hardware, and browser build with a few other signals and many users become uniquely identifiable across sites without cookies. Apple's answer is to freeze the identifying parts of Safari's UA. WebKit's Tracking Prevention Policy commits to "reducing the available bits of entropy" that could identify a user, and Apple treats circumvention of its anti-tracking measures as seriously as security vulnerabilities.

The freeze happened in two waves. On desktop, since Safari 14 in 2020, the platform token has been hardcoded to Intel Mac OS X 10_15_7 — the final release of Catalina — no matter the actual macOS version or CPU. With iOS 26 in 2025, Apple extended the same treatment to iPhone and iPad: the OS token froze at the last iOS 18 version, so it no longer reveals which iOS you run. The result is that a Safari UA now tells a server only two truthful things: the device class (Mac/iPhone/iPad-in-mobile-mode) and the Safari version in the Version/ token.

Safari isn't alone here — Chromium reduced its UA too (Chrome has sent a frozen "Intel Mac OS X 10_15_7" token and "Chrome/NNN.0.0.0" versions since 2022-2023). The practical consequence for analytics and device-detection code: never derive Apple OS versions from Safari UA strings. macOS traffic has looked like Catalina since 2020, and iOS 26+ Safari traffic looks like iOS 18 — parse the Version/ token or use feature detection instead.

Safari and User-Agent Client Hints (UA-CH)

User-Agent Client Hints (UA-CH) is Chromium's replacement for the legacy UA string: browsers send a few low-entropy hints (brand, mobile-or-not, platform) by default, and sites must explicitly request higher-entropy details like full version or device model. Chrome has shipped it since Chrome 89, alongside its UA reduction, exposing the data via the Sec-CH-UA headers and navigator.userAgentData.

Safari has taken the opposite path: WebKit has not implemented UA-CH. Its standards-position review has sat open since 2022 with privacy and interoperability concerns flagged, Safari sends no Sec-CH-UA headers, and navigator.userAgentData is undefined in Safari. Apple's position is that even opt-in version and hardware details expand the fingerprinting surface, so it prefers a frozen UA string outright — a stance Firefox broadly shares. For developers this means UA-CH-based detection silently misses all Safari traffic; use feature detection rather than relying on client hints.

How to View and Change the Safari User Agent

On a Mac, Safari's UA switcher lives in the Develop menu:

  1. Open Safari > Settings > Advanced and enable "Show features for web developers".
  2. In the menu bar, choose Develop > User Agent.
  3. Pick a preset (Chrome, Firefox, Edge, iOS Safari, or older Safari versions) or choose Other… to enter any custom string.
  4. The override applies to the current tab and resets when you quit Safari.

On iPhone and iPad there is no arbitrary UA switcher — the "Request Desktop Website" toggle (in the page menu) is the only built-in UA change. For full control over a device's Safari UA, connect it to a Mac and use remote Web Inspector.

Why UA Spoofing Isn't Enough for Safari Browser Testing

Changing the user agent is useful for one thing: seeing what a server sends to a different browser, since many sites still do UA sniffing to pick layouts, gate features, or show "unsupported browser" banners. But spoofing never changes the engine. Safari with a Chrome UA still renders with WebKit — it gains none of Blink's features — and Chrome with a Safari UA still isn't WebKit, so neither setup tells you how CSS, JavaScript, or WebKit-specific quirks actually behave for real Safari users.

To test actual Safari rendering you need actual Safari. With TestMu AI you can test on real Safari browsers online across macOS versions, and run your site on real iPhones and iPads in the real device cloud — no Mac hardware required. Combine it with cross browser testing to cover WebKit, Blink, and Gecko in one run.

Frequently Asked Questions About Safari User Agents

What is an example of a user agent on iPhone?

The current iPhone Safari user agent on iOS 26.5 is: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1. Note that the "18_7" OS token is intentionally frozen by Apple for privacy — it does not mean the phone runs iOS 18. The Version/26.5 token is what reveals the real Safari version.

What is the latest Safari user agent?

As of July 17, 2026, the latest desktop Safari user agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15. Only the Version/ token changes between releases — it will read Version/26.6 when Safari 26.6 ships (expected late July 2026). Every other token, including the macOS version, is frozen.

Why does my iPhone's user agent say iOS 18 when I'm on iOS 26?

Because Apple froze the OS token in Safari's user agent starting with iOS 26 to reduce browser fingerprinting. Safari reports the last iOS 18 version (currently 18_7) no matter which iOS 26.x release you run. Third-party iOS browsers like Chrome and in-app web views still report the real OS version, but Safari itself only exposes its true version through the Version/ token.

Does Safari have an AI agent?

No — a "user agent" is just the identification string a browser sends to websites; it has nothing to do with AI. Safari also has no autonomous AI browsing agent like Microsoft Edge's Copilot Mode. What Safari does have is Apple Intelligence features: page summarization and Highlights shipped in Safari 26 on supported devices, and Safari 27 (announced at WWDC 2026, shipping fall 2026) adds AI-powered tab organization, natural-language page monitoring ("Notify Me"), and AI-generated custom extensions — all requiring Apple Intelligence hardware.

Does changing the Safari user agent change how websites render?

Often yes, but only because many sites serve different HTML, CSS, or JavaScript based on user-agent sniffing. Spoofing the UA does not change the engine: pages are still rendered by WebKit, so a Chrome user agent doesn't give Safari Chrome's Blink features. To see how a site really behaves in Safari, you have to test in real Safari on real macOS and iOS devices.

What is my User Agent?

Checkout Free Online Tools for Your Browsers

Test Your Website on 3000+ Browsers

Get 100 minutes of automation test minutes FREE!!

Test Now...

KaneAI - Testing Assistant

World’s first AI-Native E2E testing agent.

...

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests