[Compare](https://cdpfleet.com/docs/compare) / browsers

# WebKit vs the Safari it claims to be

Playwright's WebKit 26.4 sends a Mac Safari 26.4 user agent, but reports Linux x86\_64, sets navigator.webdriver, offers only HTTP/1.1, renders with Linux fonts and has no WebGPU — while already exposing CSS from Safari 27.0. What it is good for, and every place a page can see it isn't Safari on a Mac or an iPhone.

[WebKit](https://cdpfleet.com/docs/browsers/webkit)

[WebKit](https://cdpfleet.com/docs/browsers/webkit) on the fleet is the WebKit build that ships with Playwright, compiled for Linux — `browser.version()` **26.4** on 2026-11-13. Its user agent says it is Safari 26.4 on a Mac. This page puts the two side by side: what the user agent and Playwright's `Desktop Safari` and `iPhone 15` descriptors claim, what a page and the network actually measure, and what Apple's release notes say Safari itself ships. It is measurement documentation for testers and scrapers, not a guide to hiding any of it. The comparison with Chromium is on [WebKit vs Chromium](https://cdpfleet.com/docs/compare/webkit-vs-chromium).

## What it claims, what it is

|  | What the user agent claims | What the fleet's WebKit measures |
| --- | --- | --- |
| Browser version | `Version/26.4 Safari/605.1.15` — Safari 26.4 ([Safari 26.4 notes](https://webkit.org/blog/17862/webkit-features-for-safari-26-4/) (2026-03-24)). Safari is at 27.2 since 2026-10-26 ([Safari 27.2 notes](https://webkit.org/blog/18515/webkit-features-for-safari-27-2/) (2026-10-26)). | A WebKit build between releases: it has 26.5's `:open`, `Origin` and `ToggleEvent.source` ([26.5](https://webkit.org/blog/17938/webkit-features-for-safari-26-5/) (2026-05-11)) and 27.0's `width: stretch`, `:heading`, `revert-rule`, `ReadableStream.from()`, `appearance: base-select`, `overflow-anchor` and WebAssembly JSPI ([Safari 27.0 notes](https://webkit.org/blog/18325/webkit-features-for-safari-27-0/) (2026-09-17)), and still the `flow-tolerance` name that 27.2 renamed to `fit-tolerance` (measured). |
| Operating system | `Macintosh; Intel Mac OS X 10_15_7` — a frozen string; Safari on macOS freezes the OS version ([Safari 26.0 notes](https://webkit.org/blog/17333/webkit-features-in-safari-26-0/) (2025-09-15)). | `navigator.platform` **`Linux x86_64`**; `navigator.appVersion` repeats the Mac string (measured). |
| Automation | — | **`navigator.webdriver` is `true`**, headful and headless; bot.sannysoft.com fails "WebDriver (New)" and "Chrome (New)" of 57 checks (measured). |
| Vendor and client hints | `navigator.vendor` "Apple Computer, Inc.", no `navigator.userAgentData`. | The same — consistent with WebKit (measured). |
| Graphics | WebGL vendor "Apple Inc.", renderer "Apple GPU", WebGL 2.0. | Exactly these strings on a server with no GPU, so they are fixed values, not the hardware (measured). **No WebGPU** (`navigator.gpu` absent), which Safari 26.0 ships on macOS, iOS, iPadOS and visionOS ([Safari 26.0 notes](https://webkit.org/blog/17333/webkit-features-in-safari-26-0/) (2025-09-15)). |
| Network | An Apple browser. [caniuse](https://caniuse.com/http2) (checked 2026-11-13) lists HTTP/2 in Safari from 11 on macOS and 9 on iOS. | TLS ALPN offers only **`http/1.1`, `http/1.0`**, so every HTTPS site gets **HTTP/1.1**; JA4 `t13d2913h1_723694b0fccc_5671b5df5029` (29 ciphers, 13 extensions). Request header order: Accept, User-Agent, Accept-Encoding, Accept-Language, Connection, Host, Sec-Fetch-Dest/Mode/Site (measured). |
| Fonts | A Mac's fonts. | None of `-apple-system`, SF Pro, Helvetica Neue, Menlo, Monaco, Lucida Grande, Geneva, Avenir, Futura, Georgia, Verdana, PingFang SC, Hiragino Sans or Apple Color Emoji. Present: Liberation Sans/Serif/Mono, Noto Sans, Noto Color Emoji, FreeSans; Helvetica and Arial render with Liberation Sans's metrics, Times with Liberation Serif's, Courier with Liberation Mono's (measured). |
| Media | Native HLS: [caniuse](https://caniuse.com/http-live-streaming) (checked 2026-11-13) lists it in Safari from 6 on macOS and 3.2 on iOS. | `canPlayType('application/vnd.apple.mpegurl')` is **""** — no native HLS. H.264, HEVC, AAC, VP9, AV1 and Opus answer "probably"; `MediaSource` and `ManagedMediaSource` exist (measured). |
| Apple-platform APIs | Apple Pay, AirPlay, Web Push ([caniuse](https://caniuse.com/push-api), checked 2026-11-13: Safari 18 on macOS, 16.4 on iOS), File System WritableStream and the Digital Credentials API (both [Safari 26.0 notes](https://webkit.org/blog/17333/webkit-features-in-safari-26-0/) (2025-09-15)). | `ApplePaySession`, `-apple-pay-button-style`, the AirPlay picker, `PushManager`, `navigator.share`, `FileSystemWritableFileStream` and `DigitalCredential` are all absent; 27.0's `srgb-linear` canvas colour space too. `window.safari`, `GestureEvent` and `webkitEnterFullscreen` exist (measured). |

## Headful and headless are the same browser

-   Both report the same user agent — WebKit adds no "Headless" token — the same JA4, `navigator.webdriver` `true`, WebGL strings, canvas hash `25c86b3f`, feature set and the same two sannysoft failures (measured).
-   The one page-visible difference: headless has `outerWidth`×`outerHeight` equal to the viewport (1280×720), headful has 38 px of window chrome (1280×758).
-   Headless costs one thread instead of two and launched in 0.4 s against 0.7 s in this run.

## What the device descriptors change

-   `devices['Desktop Safari']` sends the **same user agent** WebKit already sends and changes only the pixel ratio (2) and `screen` (1792×1120); the viewport stays 1280×720 (measured).
-   `devices['iPhone 15']` sets the iPhone user agent `iPhone OS 17_5 … Version/26.4 Mobile/15E148 Safari/604.1`, a 393×659 viewport on a 393×852 screen, pixel ratio 3, `ontouchstart`, `pointer: coarse` and no hover (measured).
-   It leaves `navigator.platform` **`Linux x86_64`**, `maxTouchPoints` **0**, `navigator.webdriver` `true`, no `navigator.standalone`, no `-webkit-touch-callout`, and the same HTTP/1.1, JA4, fonts and missing WebGPU (measured).
-   The user agent pairs `iPhone OS 17_5` with `Version/26.4`. Apple's notes give Safari 26.0 on iOS as `iPhone OS 18_6 … Version/26.0`: from 26 on, iOS freezes the OS version the way macOS does ([Safari 26.0 notes](https://webkit.org/blog/17333/webkit-features-in-safari-26-0/) (2025-09-15)). So the descriptor's string is not one Safari 26 sends.
-   As with an iPhone descriptor on Chrome ([case 02](https://cdpfleet.com/docs/cases/mobile-emulation)), a descriptor changes layout inputs, not the platform underneath. For a real iOS WebView, see [iPhone](https://cdpfleet.com/iphone).

## What a site can use to tell it isn't Safari on a Mac or an iPhone

-   `navigator.platform` `Linux x86_64` under a Macintosh or iPhone user agent.
-   `navigator.webdriver` `true`.
-   HTTP/1.1 only (ALPN without `h2`) and its JA4, where Safari speaks HTTP/2 — visible before any page script runs ([TLS fingerprints](https://cdpfleet.com/docs/cases/tls-fingerprints)).
-   No WebGPU, no native HLS, no Apple Pay, AirPlay or Push API — features the claimed version ships on Apple platforms.
-   Linux font metrics: no Apple system fonts, Noto Color Emoji instead of Apple Color Emoji.
-   A feature set that doesn't match the version in the user agent: 27.0 features under `Version/26.4`.
-   On the iPhone descriptor, also `maxTouchPoints` 0 with touch events, and an iOS 17 string beside a Safari 26 version.

## What it is good for

-   **Engine and layout testing:** how WebKit lays out a page — anchor positioning, Grid Lanes, `text-wrap: pretty`, customizable `<select>`, scroll-driven animations — and WebKit-specific bugs, including mobile viewports with a device descriptor. It runs ahead of the Safari release its user agent names, so treat it as "WebKit trunk", not as a specific Safari version.
-   **Not for pixel comparisons with a Mac:** text renders with Linux fonts, so screenshots won't match Safari on macOS or iOS.
-   **Not for Apple-only features:** Apple Pay, AirPlay, native HLS, WebGPU and Web Push can't be tested here.
-   **Not as a Safari visitor:** every row above is readable by a site. For scraping, see [WebKit vs Chromium](https://cdpfleet.com/docs/compare/webkit-vs-chromium) and [What a page can read about your browser](https://cdpfleet.com/docs/fingerprinting).

## Measured on the fleet (2026-11-13)

Two launches through the same proxy, headful (the default) and headless, probed from inside a page and via tls.peet.ws. The descriptor, font, codec, Apple-API and release-note feature rows above come from a one-off run in a third, headful session the same night (no descriptor, `Desktop Safari`, `iPhone 15` contexts); its raw result is under `descriptor_contexts` below.

### Launch and cost

Single run; timings depend on the proxy and on fleet load.

|  | WebKit headful | WebKit headless |
| --- | --- | --- |
| Launch body | {"headless":false} | {"headless":true} |
| Threads used | 2 (linux\_headful) | 1 (linux\_headless) |
| Browser version | 26.4 | 26.4 |
| Launch request → browser ready | 0.7 s | 0.4 s |
| Playwright connect | 0.1 s | 0.0 s |
| Load example.com | 1.9 s | 0.5 s |
| Load tls.peet.ws/api/all | 2.0 s | 1.4 s |

### What the network sees

From tls.peet.ws/api/all, requested by the browser itself. JA3 hashes change between runs of the same build (GREASE), so compare JA4 and the HTTP/2 fingerprint.

|  | WebKit headful | WebKit headless |
| --- | --- | --- |
| HTTP version | HTTP/1.1 | HTTP/1.1 |
| JA4 | t13d2913h1\_723694b0fccc\_5671b5df5029 | t13d2913h1\_723694b0fccc\_5671b5df5029 |
| Peetprint hash | e2a4f6ec1c75767498bc87d934bfccec | e2a4f6ec1c75767498bc87d934bfccec |
| Cipher suites / extensions | 29 / 13 | 29 / 13 |

### What page scripts see

Read with page.evaluate on example.com. Cores and memory are the server's and vary between fleet nodes.

|  | WebKit headful | WebKit headless |
| --- | --- | --- |
| navigator.userAgent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10\_15\_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15 | Mozilla/5.0 (Macintosh; Intel Mac OS X 10\_15\_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15 |
| navigator.platform / vendor | Linux x86\_64 / Apple Computer, Inc. | Linux x86\_64 / Apple Computer, Inc. |
| Languages | en-US | en-US |
| Timezone / locale | UTC / en-US | UTC / en-US |
| Screen (w×h×availW×availH×depth) | 1280x720x1280x720x24 | 1280x720x1280x720x24 |
| Window outer / inner / DPR | 1280x758 / 1280x720 / 1 | 1280x720 / 1280x720 / 1 |
| hardwareConcurrency / deviceMemory | 8 / — | 8 / — |
| WebGL vendor | Apple Inc. | Apple Inc. |
| WebGL renderer | Apple GPU | Apple GPU |
| WebGL version | WebGL 2.0 | WebGL 2.0 |
| WebGPU (navigator.gpu) | no | no |
| Canvas hash | 25c86b3f | 25c86b3f |
| navigator.webdriver | yes | yes |
| window.chrome / navigator.connection | no / no | no / no |
| Plugins / PDF viewer | 5 / yes | 5 / yes |
| Notification.permission / permissions.query | default / prompt | default / prompt |

### Web platform features

Presence probes; a user agent that claims one version while exposing another's features is a detectable inconsistency.

|  | WebKit headful | WebKit headless |
| --- | --- | --- |
| `Iterator.prototype.includes` (new in Chrome 154) | no | no |
| `FontFace.width` (new in Chrome 154) | yes | yes |
| CSS `text-decoration-inset` (Chrome 157) | no | no |
| `Iterator.prototype.join` (Chrome 153) | no | no |
| `Iterator.zip` (Chrome 153) | no | no |
| CSS `scroll-axis-lock` (Chrome 153) | no | no |
| `<camera>` element (Chrome 153) | no | no |
| `document.requestStorageAccessFor` (deprecated in 153) | no | no |
| Topics API (`document.browsingTopics`) | no | no |
| Protected Audience (`navigator.joinAdInterestGroup`) | no | no |
| Shared Storage (`window.sharedStorage`) | no | no |
| Attribution Reporting (`window.attributionReporting`) | no | no |
| Private Aggregation | no | no |
| WebHID (`navigator.hid`) | no | no |
| CSS `margin-trim` (Chrome 155) | yes | yes |
| CSS `text-decoration-skip-spaces` (Chrome 155) | no | no |
| CSS `corner` shorthand (listed for Chrome 160) | no | no |
| CSS `symbols()` (Chrome 155) | no | no |
| `Element.streamAppendHTML` (Chrome 157) | no | no |
| `WebTransport.reliability` (on stable from Chrome 157; listed for 158) | yes | yes |
| `window.maximize()` — Additional Windowing Controls (Chrome 155) | no | no |
| Canvas `srgb-linear` colour space (on stable from Chrome 157) | no | no |
| Permission policy `media-playback-while-not-visible` (Chrome 155) | no | no |
| CSS `random()` (Chrome 156) | yes | yes |
| CSS `scroll-snap-type: pair` (Chrome 156) | no | no |
| Fenced frames (`window.fence`) | no | no |
| `rel=compression-dictionary` (Chrome 156 updates) | no | no |

### bot.sannysoft.com

The classic headless-detection test page; what it marks red.

|  | WebKit headful | WebKit headless |
| --- | --- | --- |
| Checks / failed | 57 / 2 | 57 / 2 |
| Failed checks | WebDriver (New), Chrome (New) | WebDriver (New), Chrome (New) |

### A plain-HTTP URL (http://ip-api.com/json)

Chrome 154 warns before loading insecure HTTP by default — does that reach an automated session?

|  | WebKit headful | WebKit headless |
| --- | --- | --- |
| Final URL | http://ip-api.com/json/?fields=status | http://ip-api.com/json/?fields=status |
| HTTP status | 200 | 200 |
| Content loaded / warning page first | yes / no | yes / no |

### Playwright over the remote connection

Which client features work on this side.

|  | WebKit headful | WebKit headless |
| --- | --- | --- |
| page.evaluate runs in the page's own world | yes | yes |
| addInitScript visible to page scripts | yes | yes |
| Console events | yes | yes |
| Request interception (page.route) | yes | yes |
| Screenshot | yes | yes |
| PDF | no — Error: page.pdf: PDF generation is only supported for Headless Chromium | no — Error: page.pdf: PDF generation is only supported for Headless Chromium |
| Mobile device emulation | yes | yes |
| Tracing | yes | yes |

Rows where the two sides differ are highlighted. IP addresses are replaced with placeholders (203.0.113.x). The probe is `compare/probe.mjs` in our repository; the raw result is below.

Raw output

```
{
  "ran_at": "2026-11-13T02:04:40.661Z",
  "sides": [
    {
      "label": "WebKit headful",
      "engine": "webkit",
      "body": {
        "headless": false
      },
      "launch": {
        "browser": "webkit",
        "resource_class": "linux_headful",
        "weight": 2,
        "launch_ms": 670,
        "connect_ms": 150,
        "example_ms": 1891,
        "peet_ms": 2038
      },
      "network": {
        "http_version": "HTTP/1.1",
        "ja4": "t13d2913h1_723694b0fccc_5671b5df5029",
        "ja3_hash": "2cbcec37dfff29e4c6a34dd35ebe1d70",
        "peetprint_hash": "e2a4f6ec1c75767498bc87d934bfccec",
        "ciphers": 29,
        "extensions": 13,
        "header_order": null
      },
      "page": {
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15",
        "platform": "Linux x86_64",
        "vendor": "Apple Computer, Inc.",
        "languages": [
          "en-US"
        ],
        "hardware_concurrency": 8,
        "device_memory": null,
        "max_touch_points": 0,
        "webdriver": true,
        "plugins": 5,
        "pdf_viewer": true,
        "ua_data": null,
        "screen": "1280x720x1280x720x24",
        "window": {
          "outer": "1280x758",
          "inner": "1280x720",
          "dpr": 1
        },
        "timezone": "UTC",
        "locale": "en-US",
        "webgl": {
          "vendor": "Apple Inc.",
          "renderer": "Apple GPU",
          "version": "WebGL 2.0"
        },
        "canvas_hash": "25c86b3f",
        "webgpu": false,
        "chrome_object": false,
        "chrome_runtime": false,
        "notification_permission": "default",
        "notification_query": "prompt",
        "has_focus": true,
        "connection_api": false,
        "stack_read_by_debugger": false,
        "features": {
          "iterator_includes": false,
          "iterator_join": false,
          "iterator_zip": false,
          "fontface_width": true,
          "css_text_decoration_inset": false,
          "css_scroll_axis_lock": false,
          "websocket_options_bag": null,
          "camera_element": false,
          "topics_api": false,
          "protected_audience": false,
          "shared_storage": false,
          "attribution_reporting": false,
          "request_storage_access_for": false,
          "webhid": false,
          "private_aggregation": false,
          "css_margin_trim": true,
          "css_text_decoration_skip_spaces": false,
          "css_corner_shorthand": false,
          "css_symbols": false,
          "stream_append_html": false,
          "webtransport_reliability": true,
          "window_maximize": false,
          "canvas_srgb_linear": false,
          "policy_media_playback_while_not_visible": false,
          "css_random": true,
          "css_scroll_snap_pair": false,
          "fenced_frames": false,
          "compression_dictionary": false
        }
      },
      "page_main_world": null,
      "sannysoft": {
        "checks": 57,
        "failed": 2,
        "failed_names": [
          "WebDriver (New)",
          "Chrome (New)"
        ],
        "passed": 29
      },
      "plain_http": {
        "final_url": "http://ip-api.com/json/?fields=status",
        "status": 200,
        "title": "",
        "loaded": true,
        "warning_page": false,
        "page_text": "{\"status\":\"success\"}"
      },
      "playwright": {
        "evaluate_in_main_world": true,
        "console_events": true,
        "init_script": true,
        "route": true,
        "screenshot": true,
        "pdf": false,
        "pdf_error": "Error: page.pdf: PDF generation is only supported for Headless Chromium",
        "mobile_emulation": true,
        "tracing": true
      },
      "browser_version": "26.4"
    },
    {
      "label": "WebKit headless",
      "engine": "webkit",
      "body": {
        "headless": true
      },
      "launch": {
        "browser": "webkit",
        "resource_class": "linux_headless",
        "weight": 1,
        "launch_ms": 442,
        "connect_ms": 17,
        "example_ms": 466,
        "peet_ms": 1402
      },
      "network": {
        "http_version": "HTTP/1.1",
        "ja4": "t13d2913h1_723694b0fccc_5671b5df5029",
        "ja3_hash": "2cbcec37dfff29e4c6a34dd35ebe1d70",
        "peetprint_hash": "e2a4f6ec1c75767498bc87d934bfccec",
        "ciphers": 29,
        "extensions": 13,
        "header_order": null
      },
      "page": {
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15",
        "platform": "Linux x86_64",
        "vendor": "Apple Computer, Inc.",
        "languages": [
          "en-US"
        ],
        "hardware_concurrency": 8,
        "device_memory": null,
        "max_touch_points": 0,
        "webdriver": true,
        "plugins": 5,
        "pdf_viewer": true,
        "ua_data": null,
        "screen": "1280x720x1280x720x24",
        "window": {
          "outer": "1280x720",
          "inner": "1280x720",
          "dpr": 1
        },
        "timezone": "UTC",
        "locale": "en-US",
        "webgl": {
          "vendor": "Apple Inc.",
          "renderer": "Apple GPU",
          "version": "WebGL 2.0"
        },
        "canvas_hash": "25c86b3f",
        "webgpu": false,
        "chrome_object": false,
        "chrome_runtime": false,
        "notification_permission": "default",
        "notification_query": "prompt",
        "has_focus": true,
        "connection_api": false,
        "stack_read_by_debugger": false,
        "features": {
          "iterator_includes": false,
          "iterator_join": false,
          "iterator_zip": false,
          "fontface_width": true,
          "css_text_decoration_inset": false,
          "css_scroll_axis_lock": false,
          "websocket_options_bag": null,
          "camera_element": false,
          "topics_api": false,
          "protected_audience": false,
          "shared_storage": false,
          "attribution_reporting": false,
          "request_storage_access_for": false,
          "webhid": false,
          "private_aggregation": false,
          "css_margin_trim": true,
          "css_text_decoration_skip_spaces": false,
          "css_corner_shorthand": false,
          "css_symbols": false,
          "stream_append_html": false,
          "webtransport_reliability": true,
          "window_maximize": false,
          "canvas_srgb_linear": false,
          "policy_media_playback_while_not_visible": false,
          "css_random": true,
          "css_scroll_snap_pair": false,
          "fenced_frames": false,
          "compression_dictionary": false
        }
      },
      "page_main_world": null,
      "sannysoft": {
        "checks": 57,
        "failed": 2,
        "failed_names": [
          "WebDriver (New)",
          "Chrome (New)"
        ],
        "passed": 29
      },
      "plain_http": {
        "final_url": "http://ip-api.com/json/?fields=status",
        "status": 200,
        "title": "",
        "loaded": true,
        "warning_page": false,
        "page_text": "{\"status\":\"success\"}"
      },
      "playwright": {
        "evaluate_in_main_world": true,
        "console_events": true,
        "init_script": true,
        "route": true,
        "screenshot": true,
        "pdf": false,
        "pdf_error": "Error: page.pdf: PDF generation is only supported for Headless Chromium",
        "mobile_emulation": true,
        "tracing": true
      },
      "browser_version": "26.4"
    }
  ],
  "descriptor_contexts": {
    "note": "One-off run in one headful WebKit session, three contexts: no descriptor, Playwright devices[\"Desktop Safari\"], devices[\"iPhone 15\"]. Network from tls.peet.ws/api/all; the rest read with page.evaluate on example.com. Fonts: a family is present when \"<family>, serif\" or \"<family>, Liberation Mono\" measures differently from the fallback alone (width = 48px test string). Features: presence probes for items from WebKit's Safari 26.0–27.2 release notes.",
    "ran_at": "2026-11-13T02:07:50.847Z",
    "body": {
      "headless": false
    },
    "browser_version": "26.4",
    "contexts": {
      "no descriptor": {
        "network": {
          "http_version": "HTTP/1.1",
          "ja4": "t13d2913h1_723694b0fccc_5671b5df5029",
          "alpn": [
            "http/1.1",
            "http/1.0"
          ],
          "http1_headers": [
            "Accept",
            "User-Agent",
            "Accept-Encoding",
            "Accept-Language",
            "Connection",
            "Host",
            "Sec-Fetch-Dest",
            "Sec-Fetch-Mode",
            "Sec-Fetch-Site"
          ],
          "user_agent_header": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15"
        },
        "identity": {
          "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15",
          "app_version": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15",
          "platform": "Linux x86_64",
          "vendor": "Apple Computer, Inc.",
          "ua_data": false,
          "webdriver": true,
          "max_touch_points": 0,
          "ontouchstart": false,
          "standalone": "absent",
          "pointer_coarse": false,
          "hover": true,
          "screen": "1280x720",
          "viewport": "1280x720",
          "dpr": 1,
          "outer": "1280x758",
          "languages": [
            "en-US"
          ],
          "timezone": "UTC",
          "plugins": [
            "PDF Viewer",
            "Chrome PDF Viewer",
            "Chromium PDF Viewer",
            "Microsoft Edge PDF Viewer",
            "WebKit built-in PDF"
          ],
          "speech_voices": 4
        },
        "apple_apis": {
          "window_safari": "object",
          "apple_pay_session": "undefined",
          "apple_pay_css": false,
          "webkit_message_handlers": false,
          "gesture_event": "function",
          "airplay_event": "undefined",
          "airplay_picker": "undefined",
          "webkit_enter_fullscreen": "function",
          "touch_callout_css": false,
          "managed_media_source": "function",
          "media_source": "function",
          "navigator_share": "undefined",
          "push_manager": "undefined",
          "digital_credential": "undefined",
          "webgpu": false
        },
        "codecs": {
          "hls_native": "no",
          "h264_mp4": "probably",
          "hevc_mp4": "probably",
          "aac_mp4": "probably",
          "vp9_webm": "probably",
          "av1_mp4": "probably",
          "opus_ogg": "probably",
          "flac": "maybe",
          "mse_h264": true,
          "mse_vp9": true
        },
        "fonts_base": {
          "monospace": 692.84,
          "serif": 663.99,
          "sans-serif": 692.84,
          "liberation_mono": 576.09,
          "missing": 663.99
        },
        "fonts": {
          "-apple-system": {
            "present": false,
            "width": 576.09
          },
          "BlinkMacSystemFont": {
            "present": false,
            "width": 576.09
          },
          "system-ui": {
            "present": true,
            "width": 692.84
          },
          "SF Pro": {
            "present": false,
            "width": 576.09
          },
          "SF Pro Text": {
            "present": false,
            "width": 576.09
          },
          "Helvetica Neue": {
            "present": false,
            "width": 576.09
          },
          "Helvetica": {
            "present": true,
            "width": 691.29
          },
          "Arial": {
            "present": true,
            "width": 691.29
          },
          "Times": {
            "present": true,
            "width": 662.86
          },
          "Times New Roman": {
            "present": true,
            "width": 662.86
          },
          "Courier": {
            "present": true,
            "width": 576.09
          },
          "Courier New": {
            "present": true,
            "width": 576.09
          },
          "Georgia": {
            "present": false,
            "width": 576.09
          },
          "Verdana": {
            "present": false,
            "width": 576.09
          },
          "Menlo": {
            "present": false,
            "width": 576.09
          },
          "Monaco": {
            "present": false,
            "width": 576.09
          },
          "Lucida Grande": {
            "present": false,
            "width": 576.09
          },
          "Geneva": {
            "present": false,
            "width": 576.09
          },
          "Avenir": {
            "present": false,
            "width": 576.09
          },
          "Avenir Next": {
            "present": false,
            "width": 576.09
          },
          "Futura": {
            "present": false,
            "width": 576.09
          },
          "Apple Color Emoji": {
            "present": false,
            "width": 576.09
          },
          "PingFang SC": {
            "present": false,
            "width": 576.09
          },
          "Hiragino Sans": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Sans": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Serif": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Sans Mono": {
            "present": false,
            "width": 576.09
          },
          "Liberation Sans": {
            "present": true,
            "width": 691.29
          },
          "Liberation Serif": {
            "present": true,
            "width": 662.86
          },
          "Liberation Mono": {
            "present": true,
            "width": 576.09
          },
          "Noto Sans": {
            "present": true,
            "width": 744.24
          },
          "Noto Color Emoji": {
            "present": true,
            "width": 734.04
          },
          "Ubuntu": {
            "present": false,
            "width": 576.09
          },
          "Cantarell": {
            "present": false,
            "width": 576.09
          },
          "FreeSans": {
            "present": true,
            "width": 680.35
          },
          "Nimbus Sans": {
            "present": false,
            "width": 576.09
          }
        },
        "features": {
          "webgpu": false,
          "anchor_positioning": true,
          "scroll_driven_animations": true,
          "text_wrap_pretty": true,
          "contrast_color": true,
          "url_pattern": true,
          "trusted_types": true,
          "fs_writable_stream": false,
          "regexp_modifiers": true,
          "digital_credentials": false,
          "scoped_custom_element_registry": false,
          "field_sizing": true,
          "css_random": true,
          "sibling_index": true,
          "button_command": true,
          "navigation_api": true,
          "math_sum_precise": true,
          "map_get_or_insert": true,
          "scrollbar_color": true,
          "caret_position_from_point": true,
          "lcp_entries": true,
          "grid_lanes": true,
          "iterator_concat": true,
          "webtransport": true,
          "math_depth": true,
          "open_pseudo": true,
          "origin_api": true,
          "toggle_event_source": true,
          "stretch_keyword": true,
          "heading_pseudo": true,
          "revert_rule": true,
          "readable_stream_from": true,
          "base_select": true,
          "overflow_anchor": true,
          "canvas_srgb_linear": false,
          "wasm_jspi": true,
          "fit_tolerance": false,
          "flow_tolerance": true,
          "field_content_pseudo": false,
          "video_encoder": true
        }
      },
      "Desktop Safari": {
        "network": {
          "http_version": "HTTP/1.1",
          "ja4": "t13d2913h1_723694b0fccc_5671b5df5029",
          "alpn": [
            "http/1.1",
            "http/1.0"
          ],
          "http1_headers": [
            "Accept",
            "User-Agent",
            "Accept-Encoding",
            "Accept-Language",
            "Connection",
            "Host",
            "Sec-Fetch-Dest",
            "Sec-Fetch-Mode",
            "Sec-Fetch-Site"
          ],
          "user_agent_header": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15"
        },
        "identity": {
          "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15",
          "app_version": "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Safari/605.1.15",
          "platform": "Linux x86_64",
          "vendor": "Apple Computer, Inc.",
          "ua_data": false,
          "webdriver": true,
          "max_touch_points": 0,
          "ontouchstart": false,
          "standalone": "absent",
          "pointer_coarse": false,
          "hover": true,
          "screen": "1792x1120",
          "viewport": "1280x720",
          "dpr": 2,
          "outer": "1280x758",
          "languages": [
            "en-US"
          ],
          "timezone": "UTC",
          "plugins": [
            "PDF Viewer",
            "Chrome PDF Viewer",
            "Chromium PDF Viewer",
            "Microsoft Edge PDF Viewer",
            "WebKit built-in PDF"
          ],
          "speech_voices": 4
        },
        "apple_apis": {
          "window_safari": "object",
          "apple_pay_session": "undefined",
          "apple_pay_css": false,
          "webkit_message_handlers": false,
          "gesture_event": "function",
          "airplay_event": "undefined",
          "airplay_picker": "undefined",
          "webkit_enter_fullscreen": "function",
          "touch_callout_css": false,
          "managed_media_source": "function",
          "media_source": "function",
          "navigator_share": "undefined",
          "push_manager": "undefined",
          "digital_credential": "undefined",
          "webgpu": false
        },
        "codecs": {
          "hls_native": "no",
          "h264_mp4": "probably",
          "hevc_mp4": "probably",
          "aac_mp4": "probably",
          "vp9_webm": "probably",
          "av1_mp4": "probably",
          "opus_ogg": "probably",
          "flac": "maybe",
          "mse_h264": true,
          "mse_vp9": true
        },
        "fonts_base": {
          "monospace": 692.84,
          "serif": 663.99,
          "sans-serif": 692.84,
          "liberation_mono": 576.09,
          "missing": 663.99
        },
        "fonts": {
          "-apple-system": {
            "present": false,
            "width": 576.09
          },
          "BlinkMacSystemFont": {
            "present": false,
            "width": 576.09
          },
          "system-ui": {
            "present": true,
            "width": 692.84
          },
          "SF Pro": {
            "present": false,
            "width": 576.09
          },
          "SF Pro Text": {
            "present": false,
            "width": 576.09
          },
          "Helvetica Neue": {
            "present": false,
            "width": 576.09
          },
          "Helvetica": {
            "present": true,
            "width": 691.29
          },
          "Arial": {
            "present": true,
            "width": 691.29
          },
          "Times": {
            "present": true,
            "width": 662.86
          },
          "Times New Roman": {
            "present": true,
            "width": 662.86
          },
          "Courier": {
            "present": true,
            "width": 576.09
          },
          "Courier New": {
            "present": true,
            "width": 576.09
          },
          "Georgia": {
            "present": false,
            "width": 576.09
          },
          "Verdana": {
            "present": false,
            "width": 576.09
          },
          "Menlo": {
            "present": false,
            "width": 576.09
          },
          "Monaco": {
            "present": false,
            "width": 576.09
          },
          "Lucida Grande": {
            "present": false,
            "width": 576.09
          },
          "Geneva": {
            "present": false,
            "width": 576.09
          },
          "Avenir": {
            "present": false,
            "width": 576.09
          },
          "Avenir Next": {
            "present": false,
            "width": 576.09
          },
          "Futura": {
            "present": false,
            "width": 576.09
          },
          "Apple Color Emoji": {
            "present": false,
            "width": 576.09
          },
          "PingFang SC": {
            "present": false,
            "width": 576.09
          },
          "Hiragino Sans": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Sans": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Serif": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Sans Mono": {
            "present": false,
            "width": 576.09
          },
          "Liberation Sans": {
            "present": true,
            "width": 691.29
          },
          "Liberation Serif": {
            "present": true,
            "width": 662.86
          },
          "Liberation Mono": {
            "present": true,
            "width": 576.09
          },
          "Noto Sans": {
            "present": true,
            "width": 744.24
          },
          "Noto Color Emoji": {
            "present": true,
            "width": 734.04
          },
          "Ubuntu": {
            "present": false,
            "width": 576.09
          },
          "Cantarell": {
            "present": false,
            "width": 576.09
          },
          "FreeSans": {
            "present": true,
            "width": 680.35
          },
          "Nimbus Sans": {
            "present": false,
            "width": 576.09
          }
        },
        "features": {
          "webgpu": false,
          "anchor_positioning": true,
          "scroll_driven_animations": true,
          "text_wrap_pretty": true,
          "contrast_color": true,
          "url_pattern": true,
          "trusted_types": true,
          "fs_writable_stream": false,
          "regexp_modifiers": true,
          "digital_credentials": false,
          "scoped_custom_element_registry": false,
          "field_sizing": true,
          "css_random": true,
          "sibling_index": true,
          "button_command": true,
          "navigation_api": true,
          "math_sum_precise": true,
          "map_get_or_insert": true,
          "scrollbar_color": true,
          "caret_position_from_point": true,
          "lcp_entries": true,
          "grid_lanes": true,
          "iterator_concat": true,
          "webtransport": true,
          "math_depth": true,
          "open_pseudo": true,
          "origin_api": true,
          "toggle_event_source": true,
          "stretch_keyword": true,
          "heading_pseudo": true,
          "revert_rule": true,
          "readable_stream_from": true,
          "base_select": true,
          "overflow_anchor": true,
          "canvas_srgb_linear": false,
          "wasm_jspi": true,
          "fit_tolerance": false,
          "flow_tolerance": true,
          "field_content_pseudo": false,
          "video_encoder": true
        }
      },
      "iPhone 15": {
        "network": {
          "http_version": "HTTP/1.1",
          "ja4": "t13d2913h1_723694b0fccc_5671b5df5029",
          "alpn": [
            "http/1.1",
            "http/1.0"
          ],
          "http1_headers": [
            "Accept",
            "User-Agent",
            "Accept-Encoding",
            "Accept-Language",
            "Connection",
            "Host",
            "Sec-Fetch-Dest",
            "Sec-Fetch-Mode",
            "Sec-Fetch-Site"
          ],
          "user_agent_header": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1"
        },
        "identity": {
          "user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
          "app_version": "5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1",
          "platform": "Linux x86_64",
          "vendor": "Apple Computer, Inc.",
          "ua_data": false,
          "webdriver": true,
          "max_touch_points": 0,
          "ontouchstart": true,
          "standalone": "absent",
          "pointer_coarse": true,
          "hover": false,
          "screen": "393x852",
          "viewport": "393x659",
          "dpr": 3,
          "outer": "393x697",
          "languages": [
            "en-US"
          ],
          "timezone": "UTC",
          "plugins": [
            "PDF Viewer",
            "Chrome PDF Viewer",
            "Chromium PDF Viewer",
            "Microsoft Edge PDF Viewer",
            "WebKit built-in PDF"
          ],
          "speech_voices": 4
        },
        "apple_apis": {
          "window_safari": "object",
          "apple_pay_session": "undefined",
          "apple_pay_css": false,
          "webkit_message_handlers": false,
          "gesture_event": "function",
          "airplay_event": "undefined",
          "airplay_picker": "undefined",
          "webkit_enter_fullscreen": "function",
          "touch_callout_css": false,
          "managed_media_source": "function",
          "media_source": "function",
          "navigator_share": "undefined",
          "push_manager": "undefined",
          "digital_credential": "undefined",
          "webgpu": false
        },
        "codecs": {
          "hls_native": "no",
          "h264_mp4": "probably",
          "hevc_mp4": "probably",
          "aac_mp4": "probably",
          "vp9_webm": "probably",
          "av1_mp4": "probably",
          "opus_ogg": "probably",
          "flac": "maybe",
          "mse_h264": true,
          "mse_vp9": true
        },
        "fonts_base": {
          "monospace": 692.84,
          "serif": 663.99,
          "sans-serif": 692.84,
          "liberation_mono": 576.09,
          "missing": 663.99
        },
        "fonts": {
          "-apple-system": {
            "present": false,
            "width": 576.09
          },
          "BlinkMacSystemFont": {
            "present": false,
            "width": 576.09
          },
          "system-ui": {
            "present": true,
            "width": 692.84
          },
          "SF Pro": {
            "present": false,
            "width": 576.09
          },
          "SF Pro Text": {
            "present": false,
            "width": 576.09
          },
          "Helvetica Neue": {
            "present": false,
            "width": 576.09
          },
          "Helvetica": {
            "present": true,
            "width": 691.29
          },
          "Arial": {
            "present": true,
            "width": 691.29
          },
          "Times": {
            "present": true,
            "width": 662.86
          },
          "Times New Roman": {
            "present": true,
            "width": 662.86
          },
          "Courier": {
            "present": true,
            "width": 576.09
          },
          "Courier New": {
            "present": true,
            "width": 576.09
          },
          "Georgia": {
            "present": false,
            "width": 576.09
          },
          "Verdana": {
            "present": false,
            "width": 576.09
          },
          "Menlo": {
            "present": false,
            "width": 576.09
          },
          "Monaco": {
            "present": false,
            "width": 576.09
          },
          "Lucida Grande": {
            "present": false,
            "width": 576.09
          },
          "Geneva": {
            "present": false,
            "width": 576.09
          },
          "Avenir": {
            "present": false,
            "width": 576.09
          },
          "Avenir Next": {
            "present": false,
            "width": 576.09
          },
          "Futura": {
            "present": false,
            "width": 576.09
          },
          "Apple Color Emoji": {
            "present": false,
            "width": 576.09
          },
          "PingFang SC": {
            "present": false,
            "width": 576.09
          },
          "Hiragino Sans": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Sans": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Serif": {
            "present": false,
            "width": 576.09
          },
          "DejaVu Sans Mono": {
            "present": false,
            "width": 576.09
          },
          "Liberation Sans": {
            "present": true,
            "width": 691.29
          },
          "Liberation Serif": {
            "present": true,
            "width": 662.86
          },
          "Liberation Mono": {
            "present": true,
            "width": 576.09
          },
          "Noto Sans": {
            "present": true,
            "width": 744.24
          },
          "Noto Color Emoji": {
            "present": true,
            "width": 734.04
          },
          "Ubuntu": {
            "present": false,
            "width": 576.09
          },
          "Cantarell": {
            "present": false,
            "width": 576.09
          },
          "FreeSans": {
            "present": true,
            "width": 680.35
          },
          "Nimbus Sans": {
            "present": false,
            "width": 576.09
          }
        },
        "features": {
          "webgpu": false,
          "anchor_positioning": true,
          "scroll_driven_animations": true,
          "text_wrap_pretty": true,
          "contrast_color": true,
          "url_pattern": true,
          "trusted_types": true,
          "fs_writable_stream": false,
          "regexp_modifiers": true,
          "digital_credentials": false,
          "scoped_custom_element_registry": false,
          "field_sizing": true,
          "css_random": true,
          "sibling_index": true,
          "button_command": true,
          "navigation_api": true,
          "math_sum_precise": true,
          "map_get_or_insert": true,
          "scrollbar_color": true,
          "caret_position_from_point": true,
          "lcp_entries": true,
          "grid_lanes": true,
          "iterator_concat": true,
          "webtransport": true,
          "math_depth": true,
          "open_pseudo": true,
          "origin_api": true,
          "toggle_event_source": true,
          "stretch_keyword": true,
          "heading_pseudo": true,
          "revert_rule": true,
          "readable_stream_from": true,
          "base_select": true,
          "overflow_anchor": true,
          "canvas_srgb_linear": false,
          "wasm_jspi": true,
          "fit_tolerance": false,
          "flow_tolerance": true,
          "field_content_pseudo": false,
          "video_encoder": true
        }
      }
    }
  }
}
```

## Bottom line

Playwright's WebKit is the WebKit engine on Linux with a Mac Safari user agent: its layout and CSS are WebKit's — newer than the version it names — while its platform, webdriver flag, HTTP version, fonts, media and Apple-only APIs are not Safari's.

Use it to check how the engine behind Apple's browser renders a page; don't read its results as what Safari on a Mac or an iPhone would show a site or a user.

---
Source: https://cdpfleet.com/docs/compare/webkit-vs-safari-claims · Markdown: https://cdpfleet.com/docs/compare/webkit-vs-safari-claims.md · All docs for AI tools: https://cdpfleet.com/llms.txt
