Mobile Web Push for iOS/iPadOS
iOS and iPadOS Web Push Notifications for Websites
Apple's release of iOS and iPadOS 16.4+ includes mobile web push notifications from web apps added to a user's home screen. Support for web push on iOS and iPadOS is available across multiple browsers including Safari, Chrome, and Edge. Here's how you can configure your website to send and get users to opt-in to web push notifications.

Example Safari web push notification on mobile.
Important updates for 2025
- Web push notifications now work across all major browsers on iOS/iPadOS 16.4+ including Safari, Chrome, and Edge
- For EU users: Apple removed support for web push notifications with iOS 17.4 to comply with the European Union's Digital Markets Act (DMA). Users outside the EU can still use this feature
- iOS 17+ has improved implementation by enabling relevant APIs by default, making web push more accessible to users
- Some developers report occasional reliability issues with iOS web push notifications where they may work for a while and then stop working unexpectedly
Mobile Web Push requirements
- Must be on iOS or iPadOS 16.4+
- Web app must be served alongside a web application manifest file with the correct
display
setting - The web app is added to the user's Home Screen from any supported browser (Safari, Chrome, or Edge)
- User has to initiate an action before being prompted for push permission
- HTTPS origin with response design
If your website is already a Progressive Web App (PWA), no further site updates are needed to prepare for mobile Safari Web Push. To see if your website is a PWA, you can use Lighthouse in Chrome DevTools to audit your site.
Setup
There are five high-level steps to send push notifications to Safari:
1. Create a Web App Manifest
A web application manifest file is a JSON file that determines how your app looks and behaves once installed on a user’s desktop or mobile device. It contains metadata such as your web app's name, description, icons, and color scheme.
You can use a tool like SimiCart to generate a manifest file quickly. Refer to our manifest file guide for an example, fill in the required fields, and ensure the file is named "manifest.json" when added to the root directory of your app.
Ensure that:
- Your file includes a
display
property that's set tostandalone
orfullscreen
- Your website’s HTML references the manifest file via
<link>
tag (see below).
<link rel="manifest" href="manifest.json"/>
2. Add the OneSignal Service Worker
If you followed our Web SDK setup and can already receive web push notifications, then you already finished this step. See our OneSignal Service Worker docs for more details on setup.
3. Set up permission prompts
If you already followed our Web SDK setup and implemented the Web permission prompts then this will continue to work on iOS devices as long as the user has added and opened your site from their home screen. This is discussed in the next step.
4. Encourage users to click "Add to Home Screen"
Unlike visiting your site on a laptop, desktop, or Android device where the push permission prompt displays based on your settings, iOS web apps need to be added to the user's Home Screen first before requesting push permissions.
This is a requirement designed by Apple.

Adding a Website to the Home Screen on iOS
To encourage your users to perform this action, banners can be added to your website to inform your audience of the value of web push notifications and how they can subscribe.
Check out our Getting Your Audience to "Add to Home Screen" for more details.
5. Test and deploy your website
Test your website on various devices and browsers to ensure that your web app manifest was implemented correctly.
Test that permission prompting is working:
- Visit your website on a browser using a device with iOS 16.4+.
- Click the browser's Share button.
- Click the Add to home screen option.
- Save the app on your device.
- Open the app from the home screen.
- You should get the web push prompt based on your settings. Subscribe to notifications (you must click a subscribe button before a native permission prompt can be displayed).
- The native permission prompt should be triggered when the subscribe button is clicked.
These are the steps your users will also need to take to be able to subscribe. This is how Apple designed the experience.
If you need to test again on the same device, remove the app, go to Settings > Safari / Chrome / Edge > and clearing the caches, then try again.
If permission is denied, the home screen app needs to be removed and re-added for the native permission prompt to show again.
Setup complete!
You are now ready to send notifications. Head over to Push or use our Create message API.
Updated 2 days ago