You have only three main options to get push notifications working on iOS for a PWA. In both cases, you must register an App ID on Apple Developer portal, with permission to the appropriate service. For Option 1, your registered App ID must have permission to Apple Wallet. For options 2 and 3, you must have permission to Push Notifications. In both cases, you should record your Bundle ID and Team ID in case you need it later.

  • Option 1 (Easier): Use PassKit to set up a generic Apple Wallet pass, which can broker notifications that are very similar to native ones. Here's some documentation, and here's a working demo of how this can send push notifications to registered devices.

  • Option 2 (Harder): Use Firebase Cloud Messaging or a package like Node-APN to send push notifications the "proper" way, signed with a P12 or P8 key from the Apple Developer Portal. This gets tricky mainly because you need the iOS device identifier, which is only exposed to applications installed natively. I'm afraid I don't have an answer on how to get this device ID from within a PWA, and without it, this method doesn't work.

  • Option 3 (not a PWA): You can use an App ID with a provisioning profile and either a P12 or P8 key, similar to the previous option, but you wrap your application in Apache Cordova, and distribute it (either through the public app store, or using MDM software and via the private Apple Business Manager).

Those are your options. I have exhausted every possible avenue researching this, and I am confident that these will remain your only options through at least the next several months. It's possible we may see further support for Web Push or perhaps just a way to get the device ID from the web in the future, but until that time, this is it. There aren't any other ways to go about this presently.

Source: I architect and develop apps for major brands like Subway, Gartner, Morgan Stanley and PwC (among many others). My research is very recent, and includes direct communication with the head of WebKit at Apple, and also with one of the world's foremost PWA and iOS experts.

Answer from Crates on Stack Overflow
🌐
PushEngage
pushengage.com › home › docs › getting started › setting up web push notifications on ios and ipados
Setting Up Web Push Notifications on iOS and iPadOS - PushEngage
April 16, 2025 - If your website is already a ... to prepare for iOS/iPadOS Web Push. If unsure whether your website is a PWA, check with your development team or use Lighthouse in Chrome DevTools. Follow the steps to enable and send push notifications to Safari on iPhone and ...
🌐
MagicBell
magicbell.com › blog › best-practices-for-ios-pwa-push-notifications
4 Best Practices for iOS PWA Push Notifications
The trick is finding a way to work with Apple’s requirements for PWA push notifications. Developers must stay on top of Apple’s support and updates to the Safari browser and iOS system.
Discussions

implementing PWA default push notifications for iPhone ...
I am currently working on implementing push notifications for iPhone Safari users, but am encountering an SSL certificate error. However, have successfully implemented the same functionality for Chrom... More on forums.oracle.com
🌐 forums.oracle.com
March 19, 2025
Sending Web Push to PWA/Safari iOS from java server
In this tutorial, you demonstrate subscribing for receive web push notifications in your desktop browser. https://hilla.dev/blog/send-web-push-notifications-java/ Have you been able to also get this working on a mobile PWA on iOS/Safari ? I have struggled to get this working. More on vaadin.com
🌐 vaadin.com
0
November 14, 2023
Need Help: Push Notifications for IOS
I recently had to implement push notifications on a PWA and had to support IOS: a) On IOS, the notification permission request must be triggered by an explicit user action (like a button click). Make sure you are requesting the permission in response to a user action b) Notifications can only be requested when running as a PWA, make sure you added the app to the home screen first c) I believe notifications are only supported on IOS 16.5 and above. Make sure you are running on a supported version of IOS More on reddit.com
🌐 r/PWA
18
9
April 9, 2024
iOS 16.4 FINALLY allowing PWA push notifications
Not sure which category to push this in. Apple is finally allowing this! Starting in iOS 16.4, web apps saved to the home screen can now use push notifications. The web app cannot automatically force a push notification request message, the user has to interact with the app (for example, a ... More on community.glideapps.com
🌐 community.glideapps.com
1
9
February 16, 2023
Top answer
1 of 6
159

You have only three main options to get push notifications working on iOS for a PWA. In both cases, you must register an App ID on Apple Developer portal, with permission to the appropriate service. For Option 1, your registered App ID must have permission to Apple Wallet. For options 2 and 3, you must have permission to Push Notifications. In both cases, you should record your Bundle ID and Team ID in case you need it later.

  • Option 1 (Easier): Use PassKit to set up a generic Apple Wallet pass, which can broker notifications that are very similar to native ones. Here's some documentation, and here's a working demo of how this can send push notifications to registered devices.

  • Option 2 (Harder): Use Firebase Cloud Messaging or a package like Node-APN to send push notifications the "proper" way, signed with a P12 or P8 key from the Apple Developer Portal. This gets tricky mainly because you need the iOS device identifier, which is only exposed to applications installed natively. I'm afraid I don't have an answer on how to get this device ID from within a PWA, and without it, this method doesn't work.

  • Option 3 (not a PWA): You can use an App ID with a provisioning profile and either a P12 or P8 key, similar to the previous option, but you wrap your application in Apache Cordova, and distribute it (either through the public app store, or using MDM software and via the private Apple Business Manager).

Those are your options. I have exhausted every possible avenue researching this, and I am confident that these will remain your only options through at least the next several months. It's possible we may see further support for Web Push or perhaps just a way to get the device ID from the web in the future, but until that time, this is it. There aren't any other ways to go about this presently.

Source: I architect and develop apps for major brands like Subway, Gartner, Morgan Stanley and PwC (among many others). My research is very recent, and includes direct communication with the head of WebKit at Apple, and also with one of the world's foremost PWA and iOS experts.

2 of 6
39

I just want to let you all know: Apple will support push notifications for web apps! This news was published at the WWDC2022. Apple will release Web Push with Safari 16 on macOS (Ventura) in a few months (2022) and for iOS and iPadOS in 2023.

See: https://webkit.org/blog/12945/meet-web-push/

🌐
Monogram
monogram.io › blog › notifications-from-ios-and-ipados-pwas
iOS & iPadOS PWA Notifications | Monogram
May 1, 2024 - If you’ve been following on the same tech stack, you should be able to push to Vercel and add the app as a PWA on your iOS device. Remember to create your KV database (if using it) and set your environment variables in your hosting environment. Since iOS PWA notifications are still in beta, notifications are turned off in Safari by default.
🌐
Qvik
qvik.com › home › news › web push notifications on iphone and ipad are finally here – but you still need a pwa to use them
Web push notifications on iPhone and iPad are finally here – but you still need a PWA to use them | Qvik
May 28, 2025 - To get them working, you need to add the web page to your iOS Home screen and approve push notifications. Google has supported web pushing and other PWA features on Android for years, so you could say it’s about time.
🌐
GitHub
github.com › andreinwald › webpush-ios-example
GitHub - andreinwald/webpush-ios-example: WebPush for IOS demo and code: VAPID, Home Screen, gcm_sender_id, serviceworker, iPhone, iPad
WebPush - is browser technology that allows site developer send notifications from backend to subscribers. Now at iPhone and iPad! Demo https://andreinwald.github.io/webpush-ios-example ... Example of basic subscription code, that works in Google Chrome and Firefox. <html> <body> <button onclick="subscribe()">Subscribe</button> <script> // You can use serviceworker.js from this repo // It should contain listeners for push and notificationclick events navigator.serviceWorker.register('/serviceworker.js'); function subscribe() { navigator.serviceWorker.ready.then(async function (serviceWorker) {
Starred by 107 users
Forked by 21 users
Languages   JavaScript 74.8% | HTML 25.2%
🌐
Oracle
forums.oracle.com › ords › apexds › post › implementing-pwa-default-push-notifications-for-iphone-safa-7904
implementing PWA default push notifications for iPhone ...
March 19, 2025 - I am currently working on implementing push notifications for iPhone Safari users, but am encountering an SSL certificate error. However, have successfully implemented the same functionality for Chrom...
Find elsewhere
🌐
Vaadin
vaadin.com › forum › t › sending-web-push-to-pwa-safari-ios-from-java-server › 165464
Sending Web Push to PWA/Safari iOS from java server - Vaadin Forum
November 14, 2023 - In this tutorial, you demonstrate subscribing for receive web push notifications in your desktop browser. https://hilla.dev/blog/send-web-push-notifications-java/ Have you been able to also get this working on a mobile PWA on iOS/Safari ? I have struggled to get this working.
🌐
ITNEXT
itnext.io › follow-up-web-push-notifications-and-pwa-in-2020-54d27fbc829a
Follow-up: Web Push Notifications And PWA In 2020 | by David Dal Busco | ITNEXT
April 15, 2020 - Follow-up: Web Push Notifications And PWA In 2020 A follow-up to my one year old tutorial “Web Push Notifications In Progressive Web Apps with Ionic And Angular” I share one trick a day until the …
🌐
Developer Guide
developers.moengage.com › hc › en-us › articles › 13906923326100-Safari-Web-Push-for-iOS-and-iPadOS
Safari Web Push for iOS and iPadOS – Developer Guide
To enable web push notifications for iOS and iPadOS, import the MoEngage service worker and place it in the root file. This step is the same as that of the normal web push notifications integration.
🌐
Useinsider
academy.useinsider.com › docs › web-push-support-for-mobile-safari
Web Push Support for Mobile Safari
July 23, 2025 - Present your opt-in UI inside the PWA. When users tap Subscribe, Safari will display its native permission prompt. Users must explicitly allow push notifications. On early iOS betas, users needed to manually enable the Push API via Settings > Safari > Advanced > Experimental Features > Push API.
🌐
Frizbit
frizbit.com › home › blog › marketing tools › ios web push notifications: everything you need to know
iOS Web Push Notifications: Everything You Need to Know
July 4, 2024 - Web push notifications are delivered to a user’s desktop or mobile screen any time their browser is open – whether the user is on the website. ... Safari is the only browser on iOS that fully supports Progressive Web Apps (PWAs), making it ...
🌐
Educative
educative.io › blog › 5-minute-guide-to-push-notifications-in-pwa
A 5-minute guide to Push notifications in Progressive Web Apps
On Apple platforms, push notifications in Progressive Web Apps are supported for installed PWAs on recent iOS and iPadOS versions via Safari/WebKit. Users must first add your site to the Home Screen; only then can the PWA request permission ...
🌐
X
x.com › dannymoerkerke › status › 1803055577100091874
Danny Moerkerke on X: "Here's what's wrong with PWAs on iOS: - implementation of push notifications is very limited - no bluetooth - no NFC - links cannot be opened with a PWA (although coming to MacOS) - orientation cannot be locked - no vibration - Wake Lock API doesn't work for installed PWAs" / X
Here's what's wrong with PWAs on iOS: - implementation of push notifications is very limited - no bluetooth - no NFC - links cannot be opened with a PWA (although coming to MacOS) - orientation cannot be locked - no vibration - Wake Lock API doesn't work for installed PWAs - no way to detect from a web app running in Safari if it's also installed as a PWA on the same device - no shortcuts on iOS - PWAs cannot be a share target - no Window Controls Overlay - no tabbed display - no Background Sync - no Background Fetch (although it appears to be coming to Safari TP) - Picture-in-picture doesn't work for video streams - dark mode switching doesn't work while a PWA is running - on-screen keyboard pushes content up on iOS, no way to configure this - remote debugging a PWA on an iOS device is nearly impossible
🌐
Webpushnotifications
webpushnotifications.com
Web Push Notifications: Everything you need to know! (Dec 2023) | WebPushNotifications.com
Web push notifications rely on a technology called the Push API, which is supported by most modern web browsers, including Chrome, Firefox, Safari, and Edge.
🌐
Mobiloud
mobiloud.com › blog › do pwas work on iphone? (progressive web apps for ios)
Do PWAs Work on iPhone? (Progressive Web Apps for iOS)
Bottom Line: Progressive Web Apps work on iPhone, but with limited access to push notifications, and only on Safari. They can’t be published to the App Store, and download rates are low.
🌐
Pushalert
pushalert.co › documentation › web push notifications › ios and ipados mobile web push notifications for websites
Setup Web Push Notifications on iOS and iPadOS for Safari - PushAlert
Web push notifications are supported on iOS 16.4 or later on Safari, Google Chrome and Edge only. Once Chrome, Firefox, Opera and other browsers add support, we will enable the service for those as well. Therefore for testing you would need an iPhone or iPad running on iOS 16.4 or later.