How to test web push notifications
Testing push takes a few minutes if you know where to click. Use a live demo to check your device, DevTools to check your worker and a real send to check the whole chain.
- Check your device first with a live demo — it rules out OS settings.
- Use DevTools’ Push button to test your service worker without a server.
- Then send a real notification only to your own subscription.
- Test on desktop, Android and iPhone (from the Home Screen) before launch.
Step 1 — test your device
Before debugging code, confirm your browser and OS can show web push at all. The live demo on our homepage subscribes your browser and sends a real notification from our server in about ten seconds. If that doesn’t appear, the problem is OS or browser settings, not your site (troubleshooting).
Step 2 — test your service worker in DevTools
| Browser | Where | What to do |
|---|---|---|
| Chrome / Edge | DevTools → Application → Service workers | Enter a test payload and click Push |
| Firefox | about:debugging#/runtime/this-firefox | Click Push next to your worker |
| Safari (macOS) | Develop → Service Workers | Inspect the worker console while sending a real push |
The Push button fires a push event locally — handy for checking your notification code, though it skips the push service and encryption.
Step 3 — send a real notification to yourself
- Subscribe on your own device through your prompt.
- In Pusharoo, create a segment that only contains you — for example “joined in the last 1 day” right after subscribing — or use “Send test” on your subscriber.
- Send a campaign with a link, image and title of realistic length.
- Check how the title truncates, whether the image shows and that the link opens the right page.
Step 4 — test the platforms that matter
| Platform | Check |
|---|---|
| Chrome on Windows | Image, buttons, long title |
| Safari or Chrome on macOS | Short title truncation, OS permission |
| Chrome on Android | Lock screen, image when expanded |
| iPhone (Home Screen, iOS 16.4+) | Install flow, permission after tap, lock screen |
| Firefox | Text-only rendering |
Reading worker logs
Service worker console.log output appears in the worker’s own console, not the page’s. In Chrome open DevTools → Application → Service workers → “Inspect” (or chrome://serviceworker-internals); in Firefox use the Inspect link in about:debugging; in Safari choose Develop → Service Workers. Add temporary logs to your push handler to see the payload arrive.
Testing with Pusharoo
create a free account, add a test site (a staging domain works), install the two files and use the dashboard’s test send on your own subscription. The homepage demo is a quick way to confirm a device works before you touch your own code.
A minimal test matrix
| Device | Browser | Check |
|---|---|---|
| Windows or Mac | Chrome | Prompt, image, buttons, click |
| Windows or Mac | Firefox | Prompt only after click; text-only notification |
| Mac | Safari | Prompt, Focus settings |
| Android | Chrome or Samsung Internet | Notification shade, battery saver |
| iPhone | Home Screen web app | Install flow, prompt, lock screen |
Test the copy, not just the plumbing
Once delivery works, test what you send. Use an A/B test (50/50 or send-the-winner) on your first real campaign and compare CTR — it’s the quickest way to learn what your audience responds to (CTR guide).
Pre-launch checklist
https://yoursite.com/sw.jsopens and shows JavaScript.- The prompt appears after the delay/scroll you set and respects “Not now”.
- Your subscriber count increases by one in the dashboard.
- A test campaign arrives on desktop and Android.
- iPhone: Add to Home Screen → open icon → Allow → test arrives.
- Notification links carry UTM tags (analytics).
Questions
How can I test push notifications without a server?
Use the Push button in Chrome DevTools (Application → Service workers) or Firefox’s about:debugging. It fires a local push event for your worker.
Can I test web push on localhost?
Yes. Browsers treat http://localhost as secure for service workers and push, so you can develop locally.
Why does the DevTools test work but real pushes don’t?
DevTools skips the push service and encryption. Check your VAPID keys, the subscription’s endpoint and the sender’s response codes.
Can I test push without HTTPS?
Only on localhost. Everywhere else the Push API requires a secure context.
How do I test on iPhone?
Install the site to the Home Screen on iOS 16.4+, open it from there, subscribe, then send a test.
Keep reading
Web push notifications not working? Fix it by symptom
Symptom-by-symptom fixes: no prompt, blocked permission, nothing arrives, iPhone issues and worker caching.
Chrome push notifications: a complete guide
How Chrome asks, its quieter permission UI, settings on desktop and Android, background delivery and testing.
Firefox push notifications: how they work
Firefox’s click-to-ask rule, Mozilla’s push service, settings, what displays and how to test.
Service worker push events, done right
push and notificationclick handlers, focusing open tabs, action buttons, subscription changes and pitfalls.
More in Browsers & devices: Safari push notifications on the Mac · Microsoft Edge push notifications · Web push notifications on Android · PWA push notifications on iOS and Android · How to turn off website notifications · Samsung Internet notifications, explained · Push notifications in Opera and Opera GX · Brave push notifications: why they fail and how to fix it · Website notifications on a Chromebook · How to get website notifications on your iPhone · All guides
Free for life. No limits.
Unlimited subscribers, campaigns and automations. No badges. About five minutes to install.