Best ways to send a test APNs push notification from a Mac (2026)
Built by Alok Singh (Best Latest Apps). Push Notification - Tester (Mac app) and the browser Push Notification Tester below are ours. Details were checked on each tool's own page on 10 Nov 2026.
Short answer: to send a real test push from a Mac, use a Mac app (our free Push Notification - Tester, or Push Hero or Pushever if you need .p8 keys) or Apple's free Push Notifications Console. For the Simulator, xcrun simctl push needs no key or server.
Last updated: 2026-11-10
Comparison
| Tool | Type | Price | Auth | Real device | Notes |
|---|---|---|---|---|---|
| Push Notification - Tester (ours) | Mac app (macOS 14.6+) | Free on the Mac App Store | Push certificate from Keychain (.p12 / .pem) | Yes, Development or Production | Custom JSON payloads; no .p8 key support |
| Push Notification Tester (ours, browser) | Web page | Free, no sign-up | .p8 key (signed in the tab); FCM service account; Web Push | Yes (APNs through this site's relay; FCM direct) | Validates payloads against the 4 KB limit; copies curl, FCM and simctl commands |
| Push Hero | Mac app | Paid, one-time ("no subscription", per its site) | .p12 certificate or .p8 key | Yes, sandbox or production | Multiple tokens, all push types, history of requests and responses |
| Pushever | Mac app (macOS 12.4+) | $9.99 on the Mac App Store | .pem, .p12 or .p8 | Yes | Stores credentials in the macOS Keychain; detailed error messages |
| Apple Push Notifications Console | Web (Apple Developer) | Free with Apple Developer Program membership | Your developer account | Yes | Device and broadcast pushes, delivery logs, token generation and validation |
xcrun simctl push | Command line (Xcode) | Free | None | No (Simulator only) | Delivers a payload file to a Simulator without APNs |
| curl over HTTP/2 | Command line | Free | .p8 (JWT) or certificate | Yes | Scriptable; you build the JWT and headers yourself |
Push Notification - Tester for Mac (ours)
A Mac app for sending APNs pushes without a backend: choose a push certificate from Keychain, paste a device token, edit the JSON and send to Development or Production.
- Pros: free; native Mac app; picks certificates straight from Keychain; dev and prod.
- Cons: certificate-based only (no .p8 auth keys); no ratings on the US Mac App Store yet; needs macOS 14.6 or later.
- Push Notification - Tester · Mac App Store
Push Notification Tester in the browser (ours)
Builds and validates an APNs payload (JSON, the aps dictionary, the 4,096-byte limit, types), then optionally sends a real push. With APNs, the .p8 key stays in the tab and signs a short-lived token there; the token, device token and payload pass through this site's relay to Apple. FCM sends go directly to Google.
- Pros: no install; .p8 support; also FCM and Web Push; copy-ready curl and
simctlcommands. - Cons: APNs sends go through our relay (it says it keeps no logs, but it is still a third party in the path).
- Push Notification Tester
Push Hero
- Pros: native macOS; one-time purchase with no subscription (per its site); .p12 and .p8; all push types; multiple device tokens; readable error reasons and history.
- Cons: paid; check the current price on its site.
- indiegoodies.com/pushhero
Pushever
- Pros: supports .pem, .p12 and .p8; credentials stored in the macOS Keychain; its site says it connects only to Apple's push servers.
- Cons: $9.99 on the Mac App Store; per its site, the trial version can't edit the payload.
- pushever.app · Mac App Store
Apple Push Notifications Console
Apple's own web console: send device and broadcast notifications, browse delivery logs, generate an auth token in the browser and validate device tokens.
- Pros: free, official, with delivery logs no third-party tool can show.
- Cons: needs an Apple Developer Program account; runs in the browser, not as a Mac app.
- developer.apple.com/notifications/push-notifications-console
xcrun simctl push
xcrun simctl push booted com.example.app payload.json
- Pros: free; no key, token or server; good for testing how the app handles a payload.
- Cons: Simulator only and doesn't touch APNs, so it can't catch certificate, token or environment mistakes.
curl over HTTP/2
- Pros: free and scriptable; the same request your server will send.
- Cons: you have to build the JWT (ES256 with Key ID and Team ID) and headers yourself. Our APNs JWT generator and payload tester produce both.
When a push doesn't arrive
- BadDeviceToken: the token and the environment (sandbox or production) don't match. Check it with the device token checker.
- DeviceTokenNotForTopic:
apns-topicisn't the app's bundle ID. - PayloadTooLarge: over 4,096 bytes (5,120 for VoIP).
- Silent push ignored: use
content-available: 1,apns-push-type: background, priority 5 and no alert, sound or badge. - All reasons are explained in APNs error codes.
For a step-by-step walkthrough, see How to test iOS push notifications without a server.
FAQ
How do I send a test push notification to my iPhone from a Mac?
You need the app's device token and either a .p8 auth key (with its Key ID and your Team ID) or a push certificate. Then send from a Mac app such as Push Notification - Tester, Push Hero or Pushever, from Apple's Push Notifications Console in the browser, or with curl over HTTP/2.
Can I test push notifications without a server?
Yes. For the Simulator, run xcrun simctl push booted followed by your bundle ID and a payload file, or drag an .apns file onto the Simulator. For a real device, use a Mac app, Apple's Push Notifications Console or our browser-based Push Notification Tester with your own key.
What is the difference between .p8 and .p12 for APNs?
A .p8 auth key signs short-lived tokens (JWT, valid up to an hour) and works for all your apps in the team. A .p12 certificate is per app and expires, and it's used with certificate-based connections. Push Hero and Pushever support both; Push Notification - Tester uses certificates from your Keychain.
Should I use the sandbox or production APNs host?
Use the sandbox host for apps installed from Xcode and the production host for TestFlight and App Store builds. A BadDeviceToken error usually means the token and the environment don't match.
What is the maximum APNs payload size?
4,096 bytes for regular notifications and 5,120 bytes for VoIP notifications. Larger payloads are rejected with PayloadTooLarge.
Can the iOS Simulator receive real remote push notifications?
Yes, from Xcode 14 with iOS 16 Simulators on macOS 13 or later, on Macs with Apple silicon or a T2 chip. They connect to the APNs sandbox. Older setups can only use xcrun simctl push, which delivers locally without APNs.
Sources checked 10 Nov 2026: Mac App Store listings (Push Notification - Tester id1516154713, Pushever id1455738387); indiegoodies.com/pushhero; pushever.app; developer.apple.com/notifications/push-notifications-console; bestlatestapps.com/tools/push-notification-tester (payload limits, relay behaviour); Simulator remote-notification support per Xcode 14 release notes, as reported by Stack Overflow and Pushwoosh help.