PWA on iPhone: What Works and What Doesn't (2026)

View this page

A dated support table for PWAs on iPhone: install, offline, push notifications, badges and what is still missing, from WebKit, Apple and MDN sources.

Author
WavX Editorial Team
Published
2026-10-02T09:00:00.000Z
Updated
2026-10-02T09:00:00.000Z
Organisation
WavX Solutions
Telephone
+919310079927

Description

All articles PWA Web Development Mobile Apps App Development

PWAs on iPhone: What Works and What Does Not (October 2026)

WavX Editorial Team Engineering & delivery team, WavX Solutions

Published 2 October 2026 11 min read 2,649 words

Custom software, built from scratch · Building since 2022 · Gurgaon, Delhi NCR

Part of our App Development guide App Development in India: Cost, Timeline and How to Choose a Partner Summarise with AI ChatGPT Claude Perplexity Google AI

As of October 2026, per the sources below, a progressive web app on iPhone can be added to the Home Screen, open in its own window without browser controls, work offline through a service worker, send push notifications and show a badge on its icon. It cannot show an automatic install prompt, sync data in the background, or reach Bluetooth, NFC or USB devices. Push notifications work only after the user has added the app to the Home Screen.

How this page was compiled. Every row below comes from WebKit's release posts, Apple's developer documentation or MDN's browser compatibility data, all read on 2 October 2026. Safari 27, which ships with iOS 27, was released in September 2026 and is the current version. This is a reading of documentation, not a device test. A checklist for confirming the items that matter to your product is at the end.

Support table: installing and launching

Capability

On iPhone

Since

Notes

Add to Home Screen from Safari

Works

Long-standing

From iOS 26, every site added to the Home Screen opens as a web app by default. The user can switch off "Open as Web App".

Add to Home Screen from Chrome, Edge, Firefox

iOS 16.4

Through the Share menu of those browsers

Automatic install prompt ( beforeinstallprompt )

Not supported

The event exists only in Chromium browsers

Own window ( display: standalone )

iOS 11.3

MDN's data lists fullscreen and minimal-ui as unsupported in Safari

Icons from the manifest

iOS 15.4

Used only when the page has no apple-touch-icon and the icon's purpose is any or unset

Manifest id

Lets the same app be installed more than once

Manifest shortcuts

Listed for Safari on Mac from 17.4, not for iOS

Support table: offline, storage and background work

Service worker and Cache API

The basis of offline support

Storage quota

Around 60% of disk per origin

iOS 17

A Home Screen web app has the same quota as the site in the browser

Persistent storage request

iOS 15.2

Safari decides using heuristics, including whether the site is opened as a Home Screen web app

Navigation preload

Service worker static routing

iOS 27

New in Safari 27

Background Sync

Periodic Background Sync

Background Fetch

Support table: notifications

Web Push

Works, with conditions

Home Screen web apps only; permission must follow a tap; every push must show a notification

Declarative Web Push

iOS 18.4

Home Screen web apps; no service worker needed to display the notification

Badge on the app icon (Badging API)

Home Screen web apps only

Focus modes

Web app notifications follow the user's Focus settings

Action buttons, image and vibration pattern on a notification

MDN's data lists these notification options as unsupported in Safari

Support table: device features

Camera and microphone ( navigator.mediaDevices )

iOS 11

Geolocation

Web Share

iOS 12.2

Screen Wake Lock

iOS 16.4 in Safari, iOS 18.4 in Home Screen web apps

Did not work in Home Screen web apps before 18.4

Web Bluetooth

Web NFC

WebUSB

Vibration API

Contact Picker

Off by default

Behind a preference flag from iOS 14.5

Detect an installed native app ( getInstalledRelatedApps )

Installing: there is no prompt, so explain it

On Android, Chrome fires beforeinstallprompt and a site can show its own install button. Safari does not support that event, and MDN's installability guide states plainly that it is not supported on iOS. On iPhone the user installs by hand:

Open the Share menu in the browser.

Tap Add to Home Screen .

Confirm the name and tap Add .

WebKit's notes for Safari 26 describe what changed last year. Before iOS 26, a site opened as a web app only if it had a manifest with a suitable display value or the older Apple meta tag; otherwise the Home Screen icon opened a browser tab. From iOS 26, every site added to the Home Screen opens as a web app by default, and WebKit describes this as zero requirements for installability in Safari.

Keep the manifest anyway. It still sets the name, icon and start address, and visitors on older iOS versions need "display": "standalone" to get the app window at all.

Since most people do not know the Share menu route, show a hint to iPhone visitors who have not installed yet:

<p id="ios-install-hint" hidden>

To install this app: tap the Share button, then "Add to Home Screen".

</p>

<script>

const isIPhone = /iPhone/.test(navigator.userAgent);

const isInstalled = window.matchMedia("(display-mode: standalone)").matches;

if (isIPhone && !isInstalled) {

document.querySelector("#ios-install-hint").hidden = false;

</script>

If install is not working at all, the checks are in PWA not installing .

Push notifications on iPhone: the exact conditions

Web Push arrived on iPhone in iOS 16.4. It uses the same standards as other browsers: the Push API, the Notifications API and a service worker. The conditions are what catch people out.

The app must be on the Home Screen. MDN's data notes that on iOS the Notification interface is undefined unless the page is a web app saved to the Home Screen. In a Safari tab there is nothing to call.

Permission must follow a tap. Apple's documentation says to give the user a control such as a button and to call the subscription method immediately from that gesture's event handler.

Every push must be shown. Apple states that Safari does not support invisible push notifications, and that if you do not present a notification Safari revokes the push permission for your site.

No developer account is needed. Apple's documentation says you do not need to join the Apple Developer Program to send web push notifications.

Your server must reach Apple's push service. If outbound traffic is restricted, Apple says to allow https://*.push.apple.com .

Once granted, WebKit says these notifications behave like those from other apps: they show on the Lock Screen, in Notification Center and on a paired Apple Watch.

The subscription code is the same as for any browser. The service worker registration is fetched before the click so that subscribe() runs directly inside the tap handler.

// Page script (type="module"). VAPID_PUBLIC_KEY is your server's public key.

function urlBase64ToUint8Array(base64String) {

const padding = "=".repeat((4 - (base64String.length % 4)) % 4);

const base64 = (base64String + padding).replace(/-/g, "+").replace(/_/g, "/");

return Uint8Array.from(atob(base64), (char) => char.charCodeAt(0));

const button = document.querySelector("#enable-alerts");

const pushSupported = "Notification" in window && "PushManager" in window;

if (!pushSupported) {

// On iPhone this is the case in a Safari tab. Ask the user to install first.

button.hidden = true;

} else {

const registration = await navigator.serviceWorker.ready;

button.addEventListener("click", async () => {

try {

const subscription = await registration.pushManager.subscribe({

userVisibleOnly: true,

applicationServerKey: urlBase64ToUint8Array(VAPID_PUBLIC_KEY),

});

await fetch("/api/push/subscribe", {

method: "POST",

headers: { "Content-Type": "application/json" },

body: JSON.stringify(subscription),

} catch (error) {

console.error("Push subscription failed:", error);

Declarative Web Push, from iOS 18.4

WebKit added Declarative Web Push in iOS 18.4 for web apps on the Home Screen. The push message itself is a JSON description of the notification, and the browser displays it without running any JavaScript. The format in WebKit's announcement looks like this:

"web_push": 8030,

"notification": {

"title": "Your order has shipped",

"body": "Tap to see tracking details.",

"navigate": "https://www.example.com/orders/1042",

"silent": false,

"app_badge": "1"

WebKit designed it to be backwards compatible: a browser that understands the format handles it itself, and an older browser passes the same message to your service worker. A push handler that reads the same shape covers both:

// In sw.js

self.addEventListener("push", (event) => {

const payload = event.data ? event.data.json() : {};

const note = payload.notification || {};

event.waitUntil(

self.registration.showNotification(note.title || "Update", {

body: note.body || "",

data: { url: note.navigate || "/" },

})

);

self.addEventListener("notificationclick", (event) => {

event.notification.close();

event.waitUntil(clients.openWindow(event.notification.data.url));

Offline and storage on iPhone

Service workers have been in Safari on iOS since 11.3, so the caching rules in service workers and caching strategies apply. Three iPhone-specific points:

Quota is generous, eviction is the risk. WebKit's storage policy, in force from iOS 17, allows an origin up to around 60% of total disk in a browser app, and a Home Screen web app gets the same. WebKit may still evict data when the overall quota is exceeded, when the device is under storage pressure, or when the user has not interacted with the site for some time.

The seven-day rule is aimed at browser tabs. Safari deletes a site's script-writable storage, including service worker registrations and caches, after seven days of Safari use without interaction on that site. WebKit's post introducing the rule says web apps added to the Home Screen have their own counter based on actual use of the app, and that it does not expect their first-party data to be deleted.

An installed app has its own storage. web.dev's installation guide says each installation on Apple devices has isolated storage. Plan for a visitor who was signed in on your site in Safari to sign in again inside the installed app.

Because Background Sync is not available, anything queued offline has to be sent while the app is open. Detect the feature and fall back:

// Page script (type="module"). flushOutbox() sends whatever is queued.

if ("sync" in registration) {

await registration.sync.register("send-outbox");

// iPhone: retry when the app is open and the connection returns.

window.addEventListener("online", flushOutbox);

if (navigator.onLine) flushOutbox();

What the gaps rule out

If your product needs

On iPhone as a PWA

Uploads or sync that finish after the app is closed

Not possible. Work completes only while the app is open.

Bluetooth devices, NFC tags or USB hardware

Not possible. This needs a native app.

A one-tap install button

Not possible. The user must use the Share menu.

Notification buttons such as "Reply" or "Mark done"

Not available. A tap can only open the app.

A listing people can find in the App Store

A PWA is not listed there. This needs a native app.

Content, catalogue, booking, ordering, account pages

Works.

Offline reading of pages already visited

Order and reminder notifications for installed users

Works, from iOS 16.4.

How iPhone support has changed

iOS version

What arrived

11.3

Service workers; display: standalone from the manifest

12.2

15.4

Manifest icons; navigation preload

16.4

Web Push, Badging API, Add to Home Screen from third-party browsers, manifest id , Screen Wake Lock in Safari

New storage quotas; Add to Home Screen from in-app Safari views

18.4

Declarative Web Push; Screen Wake Lock inside Home Screen web apps

Every site added to the Home Screen opens as a web app by default

Service worker static routing API

Support has moved in one direction since 2023, but the missing items in the tables above have stayed missing through several releases. Plan around what exists today.

PWA or native app for iPhone users

Start with how many of your users this affects. Statcounter puts iOS at 6.05% of mobile web usage in India in September 2026, against 93.89% for Android. For a product aimed at the Indian mass market, the iPhone gaps touch a small share of users. For a premium, urban or export audience the share can be far higher, so check your own analytics before deciding.

A PWA is usually enough on iPhone when the product is content, commerce, booking or an internal tool, and when notifications are useful but not critical. WavX builds these under PWA development .

A native app is the better choice when the product depends on background work, hardware over Bluetooth or NFC, App Store discovery, or notifications that must reach every user and not only those who installed from the Share menu. That is mobile app development , and it costs more to build and maintain.

Many products do both in sequence: a PWA first, a native app later if usage justifies it. The broader comparison is in PWA vs native app and website vs app vs PWA . If you already have a site, turning it into a PWA is the smaller first step. The full set of PWA guides is on the PWA development hub .

Check it on your own devices

Documentation and behaviour can differ, and iOS changes several times a year. Before you commit to a plan, run these on a real iPhone and write down the iOS version and the date:

Add the site to the Home Screen from Safari and from one other browser. Does it open in its own window with the right name and icon?

Turn on aeroplane mode and open it. Does the offline page or cached content appear?

Subscribe to push from inside the installed app, lock the phone and send a test message.

Set and clear the icon badge.

Sign in, close the app, wait a week and open it again. Are you still signed in?

Repeat on the oldest iOS version you intend to support.

Sources

WebKit: Web Push for Web Apps on iOS and iPadOS , read 2 October 2026

WebKit: WebKit Features in Safari 16.4 , read 2 October 2026

WebKit: WebKit Features in Safari 17.0 , read 2 October 2026

WebKit: Updates to Storage Policy , read 2 October 2026

WebKit: Full Third-Party Cookie Blocking and More , read 2 October 2026

WebKit: Meet Declarative Web Push , read 2 October 2026

WebKit: WebKit Features in Safari 18.4 , read 2 October 2026

WebKit: News from WWDC25, WebKit in Safari 26 beta , read 2 October 2026

WebKit: WebKit Features in Safari 26.0 , read 2 October 2026

WebKit: WebKit Features for Safari 27.0 , read 2 October 2026

Apple Developer Documentation: Sending web push notifications in web apps and browsers , read 2 October 2026

MDN browser-compat-data, the data behind MDN's compatibility tables , read 2 October 2026

MDN: Making PWAs installable , read 2 October 2026

MDN: Window beforeinstallprompt event , read 2 October 2026

MDN: Offline and background operation , read 2 October 2026

web.dev: Learn PWA, Installation , read 2 October 2026

Statcounter Global Stats: Mobile Operating System Market Share in India , read 2 October 2026

Frequently asked questions

Do PWAs work on iPhone? Yes. As of October 2026 a PWA can be added to the iPhone Home Screen from Safari or another browser&#x27;s Share menu, opens in its own window, works offline through a service worker and can send push notifications. The gaps are an automatic install prompt, background sync and access to Bluetooth, NFC and USB devices.

Can a PWA send push notifications on iPhone? Yes, from iOS 16.4, with conditions. The user must first add the web app to the Home Screen, the permission request must follow a tap on something like a subscribe button, and every push must show a visible notification. A site open in an ordinary Safari tab on iPhone cannot ask for push permission.

Why does my site not show an install prompt on iPhone? Because iOS does not have one. The beforeinstallprompt event that powers install buttons on Android Chrome is not supported in Safari. On iPhone the user opens the Share menu and chooses Add to Home Screen, so your site has to explain those steps itself.

Does a PWA on iPhone need to be in the App Store? No. It installs from the browser and Apple&#x27;s documentation says you do not need to join the Apple Developer Program to send web push notifications. The other side of that is that a PWA does not appear in App Store search. If an App Store listing is a requirement, you need a native app.

Is the PWA experience the same on iPhone and Android? No. Android Chrome offers an install prompt, Background Sync and more device APIs. iPhone supports the core: install, offline, push and badges. Build the features that work on both, treat the Android extras as enhancements, and test on real devices from each platform.

About the author

WavX Editorial Team

Engineering & delivery team, WavX Solutions

Written and fact-checked by the WavX Solutions engineering team in Gurgaon, Delhi NCR — the people who scope, price and ship these builds. Costs and timelines quoted here come from projects we have actually delivered, not vendor price lists.

All articles by WavX Editorial Team →

Build your own software — your way, your pricing.

WavX Solutions is here to create your own software in a fully custom way, built exactly how you work — with a pricing model that fits your business. Connect now and let&#x27;s build it.

Contact Now helpwavx@gmail.com

More on App Development

App Development hub

App Development How to Build a Taxi Booking App in 2026: Owner&#x27;s Guide

App Development How to Build a Booking App in 2026: Simple Founder Guide

App Development How to Build a Healthtech App in 2026: Founder Guide

App Development How to Build a Social Media App in 2026: Founder Guide

App Development How to Launch Your App on Play Store and App Store 2026

App Development Mobile App vs Mobile Website: 2026 Guide for Owners

Keep reading

Web App vs Mobile App vs PWA: Which Should You Build First?

Read How to Build a Job Portal Like Naukri: Cost & Tech

Read How to Build a Grocery Delivery App Like Blinkit or Zepto

Read How to Protect Your App Idea Before You Build It

Read Native vs Cross-Platform App Development: Startup Guide

Read How Long Does It Take to Build an App? 2026 Timeline

Read How to Create an App in 2026: Step‑by‑Step Guide for Founders

Read App Maintenance Cost Per Year in India (2026 Breakdown)

Read Astrology App Development Cost in India (AstroTalk Model)

Read Home Services App Development Cost in India (2026)

Read Cost to Build an App Like Urban Company (Home Services)

Read Quick Commerce App Development Cost in India (Blinkit/Zepto Model)

Read