
Web push notification from a Home Screen web app on iPhone.
Requirements
Meet every item below before you test on a device:- iOS 16.4 or later, or iPadOS 16.4 or later
- Your site served over HTTPS
- The OneSignal Web SDK and service worker installed on that origin
- A visitor who adds your site to the Home Screen and opens the new icon
- A subscribe button the visitor taps inside that web app
When the icon opens as a web app
On iOS 16.4 through 18 and iPadOS 16.4 through 18, the icon opens as a web app only when your manifest setsdisplay to standalone or fullscreen. The legacy <meta name="apple-mobile-web-app-capable" content="yes"> tag also requests that behavior. browser and minimal-ui save a bookmark that opens in the default browser. Which browser the visitor used to add the site does not matter.
On iOS 26 and iPadOS 26 and later, every site added to the Home Screen opens as a web app by default. The add sheet includes an Open as Web App switch, and that switch is on. If the visitor turns it off, iOS saves a bookmark instead, even when your manifest asks for standalone. Keep the manifest anyway: iOS 16.4 through 18 still need display: "standalone", and on every version the manifest supplies the name, icons, and start URL.
There is no install button and no beforeinstallprompt event on iOS. Tell visitors to use the Share sheet.
Add web push for iOS
Check your web app manifest
https://yoursite.com/manifest.json is the usual location. Match these fields in that file. Add a manifest only if the site does not have one:display. Setting display_override to standalone and leaving display as browser still saves a bookmark on those versions. Icon src values resolve against the manifest URL, so use root-relative paths such as /icons/icon-192.png. The file must be valid JSON: no comments and no trailing commas.Serve the file with Content-Type: application/manifest+json. In the <head>, keep one <link rel="manifest">, pointed at the file you already serve. Browsers use the first manifest link on the page.apple-touch-icon link if it is missing, using a 180×180 PNG. When that link is absent, iOS falls back to a manifest icon whose purpose is any or omitted. PNG covers iOS 16.4 and later. Safari 26 and later also accepts SVG, so keep a PNG for older versions.id unchanged after visitors add the site. If the manifest has no id, leave it out. The browser uses start_url as the identity, and a new id is a different Home Screen web app, with a new permission prompt and a new push subscription.- Open the manifest URL and confirm the JSON loads with HTTP 200. A redirect to another host, including
wwwand non-www, is a different origin. - In desktop Chrome, open DevTools, go to Application > Manifest, and confirm there are no errors, the manifest identity matches the file you edited, and
displayisstandaloneorfullscreen. - Open each icon URL and confirm it returns the image.
- View the page source and confirm there is one
<link rel="manifest">.
Confirm the OneSignal service worker
OneSignalSDKWorker.js file receives iOS web push. See OneSignal service worker if you still need to add it.If the site already has a service worker, keep that file. Only one service worker can control a scope, so a second file at / replaces the existing one. Follow Combining multiple service workers instead of adding another worker at the root.OneSignal shows the notification from that service worker when a push arrives. Safari revokes notification permission for the site if a push arrives and the service worker does not display a notification. Keep the OneSignal service worker as the handler for the push event.Request permission from a tap
OneSignal.Slidedown.promptPush() or OneSignal.Notifications.requestPermission(). Calling Notification.requestPermission() yourself skips the OneSignal subscription.In an iOS browser tab, window.Notification is undefined, so isPushSupported() returns false. That result is expected and means the tab cannot prompt yet. Show Add to Home Screen instructions anyway. After the visitor opens the Home Screen icon, isPushSupported() can return true. Show the subscribe button when the page is the Home Screen web app:isHomeScreenWebApp is true, show the subscribe button. When it is false, show the Add to Home Screen instructions instead.On desktop and Android, keep your normal permission prompt. Show the Home Screen instructions only on iPhone and iPad. iPadOS can report a desktop Safari user agent, so when you detect the platform, treat a Mac that reports touch support as an iPad.Ask visitors to add your site to the Home Screen
- Open your site in Safari, Chrome, Edge, or Firefox on the device.
- Tap Share.
- Tap Add to Home Screen.
- On iOS 26 and iPadOS 26 and later, leave Open as Web App on. It is on by default.
- Tap Add. Visitors can edit the name on this sheet. That name is what they later see in Settings > Notifications.
- Open the new Home Screen icon.
- Tap your subscribe button, then tap Allow on the system prompt.

Share sheet path for Add to Home Screen on iPhone.

Banner that asks the visitor to add the site to the Home Screen.

Instructions that point at Share and Add to Home Screen.

Banner that leads with the benefit of notifications.

Subscribe call to action with arrows toward the Share control.

Add to Home Screen banner from the add-to-home-screen project.
Test on an iPhone or iPad
https and www. An icon for https://www.yoursite.com does not subscribe https://yoursite.com.If you changed display after an icon was already on the Home Screen, remove that icon and add the site again. The existing icon keeps the mode it had when the visitor added it.- Open the site in Safari, Chrome, Edge, or Firefox.
- Tap Share, then Add to Home Screen. On iOS 26 or later, leave Open as Web App on.
- Open the icon from the Home Screen.
- Tap the subscribe button. The system permission prompt appears.
- Tap Allow.
- Send a test notification from the OneSignal dashboard. The notification is delivered to that Home Screen web app.
FAQ
Can visitors subscribe from a Safari tab on iPhone?
No. iOS shows the notification permission prompt only after the visitor opens your Home Screen icon and taps a subscribe button. The same limit applies to Chrome, Edge, and Firefox on iPhone and iPad.Do I still need a manifest on iOS 26?
Yes, if any visitors are on iOS 16.4 through 18. On those versions,display must be standalone or fullscreen, or the icon opens as a bookmark and web push is unavailable. On iOS 26 and iPadOS 26 and later, Add to Home Screen opens as a web app by default even without a manifest, as long as the visitor leaves Open as Web App on. Keep the manifest so the name, icons, and start URL are set on every version.
Why does isPushSupported() return false on iPhone?
In a browser tab, that result is expected.window.Notification is undefined until the visitor opens the Home Screen web app, so isPushSupported() returns false and a direct Notification.requestPermission() call throws. Show Add to Home Screen instructions in the tab. Call isPushSupported() again after the visitor opens the icon, and show the subscribe button only when it returns true.
I updated the manifest. Why is the prompt still missing?
The Home Screen icon keeps the mode it had when it was added. Remove the icon and add the site again after you changedisplay. Then confirm the page has one <link rel="manifest">, that link points at the file you edited, and display itself is standalone or fullscreen. On iOS 16.4 through 18, display_override does not change the mode.
Why is the permission prompt not appearing?
The site is open as a bookmark or a browser tab, or the subscribe call is not tied to a tap. Check these in order:- The visitor opened the Home Screen icon, not the site in the browser.
- On iOS 16.4 through 18,
displayisstandaloneorfullscreen. - On iOS 26 or later, Open as Web App was left on when they added the site.
- The subscribe call runs in the tap handler, not on page load and not after a delay.
- They have not already tapped Don’t Allow for this Home Screen web app.
What if someone taps Don’t Allow?
iOS does not show the system prompt again for that Home Screen web app. Remove the icon, add the site again, open the icon, and tap the subscribe button. After someone taps Allow, they turn notifications on or off later in Settings > Notifications, under the name they saved on the Add to Home Screen sheet.Do I need an Apple Developer account or an APNs key?
No. iOS web push uses standard Web Push with VAPID. OneSignal manages that. An APNs.p8 key is for a native iOS app. A Safari .p12 certificate is only for the legacy macOS Website Push ID path. See Safari Web Push .p12 certificate.
Does Chrome on iPhone support web push?
Yes. Add the site from Chrome’s Share sheet, then open the Home Screen icon and tap your subscribe button. Edge and Firefox on iOS use the same path. The browser tab itself still cannot request permission.Why did Safari turn notifications off without a settings change?
Safari revokes notification permission if a push arrives and the service worker does not display a notification. OneSignal’s service worker displays the notification for you. A custompush handler that skips displaying it can cause Safari to revoke permission.