Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Web push notifications demo and starter template with support for iOS Safari PWA notifications.

Free Bootstrap 4 design system with over 100 components, pre-built pages, and a full UI kit for faster web projects.
WebPush Test is an open-source demo and starter template, built by MagicBell, that sends Web Push notifications to iOS Safari PWAs, Android, and desktop browsers from a Next.js app.
WebPush Test is a demo application, live at https://webpushtest.com, that showcases Web Push support for iOS 16.5 and later. It takes a user's PWA installation and notification permission on iOS, Android, or desktop, and uses the MagicBell push API to deliver a push notification to that device. The project is structured as a Next.js app with a React frontend, a service worker, and a web manifest, all available in the magicbell/webpush-test GitHub repository. It was created by the MagicBell team to help developers adopt iOS web push quickly.
Web developers who need to add push notifications to a PWA and want a minimal reference implementation for iOS Safari. Product engineers evaluating MagicBell as a push provider can use this project to see the exact setup steps and API interactions. Designers or QA testers who need to verify web push behavior on iOS devices can use the live site at webpushtest.com without writing code. Teams already using Next.js can copy the subscriber component, subscription manager, service worker, and manifest into their own app.
Install dependencies with npm install, create a .env file with your MagicBell API key and secret, then start the development server with npm run dev. To receive iOS push notifications locally, expose your server with ngrok http 3000, open the public URL in Safari on an iPhone running iOS 16.5+, and choose "Add to Home Screen" from the share menu before returning to the app. The app then registers a service worker, requests notification permission, and uses the MagicBell API to deliver the push.
The WebPush Test template is free and open source. Running it requires a MagicBell account; MagicBell advertises a generous free tier for the push-notification service, with paid tiers beyond that.
Yes, the project is open source on GitHub, and you can also try the live demo at webpushtest.com. To run the code yourself, you need MagicBell credentials, and MagicBell offers a free tier for push notifications.
Yes, Web Push for web apps on iOS Safari requires iOS 16.5 or later. On earlier iOS versions, the notification subscription flow will not work.
Yes, on iOS the user must first install the site as a PWA using "Add to Home Screen", since web push notifications are only available for installed web apps on this platform.
The demo's code is a starting point; the subscriber component and subscription manager in src/ define how requests are handled, and you can change the notification content and logic to fit your own app.
The most relevant files are src/components/subscriber.tsx, src/services/subscriptionManager.ts, public/manifest.json, and public/sw.js. These handle UI, subscription state, app manifest, and push event handling respectively.
