FCM Push Notification Tester
Send real push notifications using the FCM HTTP v1 API. Paste your service account key, enter a target, write your JSON payloads, and hit Send.
Service Account JSON
Firebase Console → Project Settings → Service Accounts → Generate new private key. How to get it
Drop your .json file here or click to browse
or paste JSON directly below
Target
Notification
Standard fields: title, body, image
Data
OPTIONALCustom key-value pairs delivered to your app. All values are sent as strings.
Request Preview
{
"message": {
"token": "<DEVICE_TOKEN>",
"notification": {
"title": "FCM Message",
"body": "This is an FCM notification message!"
},
"data": {
"screen": "promo",
"deepLink": "/offers/summer-sale",
"badge": "1"
}
}
}Response
What Is the FCM Push Notification Tester?
FCMDebug is a free, browser-based tool that lets you send real Firebase Cloud Messaging (FCM) push notifications to Android, iOS, and web devices without writing any backend code. It uses the official FCM HTTP v1 API with service-account authentication so every notification you send is identical to production traffic.
Supported Features
- Send to device tokens, topics, or conditions
- Custom notification payloads (title, body, image)
- Custom data key-value pairs
- Live JSON preview of the full FCM request
- Real-time response with human-readable error explanations
- Service account JSON stored locally (optional)
- Drag-and-drop file upload for service account
- Works with Android, iOS, web, Flutter & React Native
How to Send a Test Notification
- 1Paste your service account JSON — download it from Firebase Console → Project Settings → Service Accounts.
- 2Choose a target — enter a device token, topic name, or condition expression.
- 3Build your payload — add title, body, image, and optional custom data.
- 4Send & verify — check the real FCM response and confirm on your device.
Why Use FCMDebug Instead of Firebase Console?
The Firebase Console's built-in messaging tool is limited — it only sends basic notification messages and doesn't let you craft custom JSON payloads, send data-only messages, or test condition expressions. FCMDebug gives you full control over the exact JSON sent to the FCM HTTP v1 API, just like your production server would.
| Feature | Firebase Console | FCMDebug |
|---|---|---|
| Custom JSON payloads | ❌ | ✅ |
| Data-only messages | ❌ | ✅ |
| Topic & condition targeting | Limited | ✅ Full support |
| Live payload preview | ❌ | ✅ |
| Human-readable errors | ❌ | ✅ |
| No account required | ❌ | ✅ |
| Uses HTTP v1 API | ❌ | ✅ |
Frequently Asked Questions
Is FCMDebug safe to use with my service account key?
Yes. Your service account JSON is sent once to our serverless API to generate a short-lived OAuth 2.0 token. It is never stored, logged, or persisted anywhere. The entire flow is stateless.
Does FCMDebug work with the FCM HTTP v1 API?
Yes. FCMDebug exclusively uses the FCM HTTP v1 API with OAuth 2.0 service account authentication — the same API Google recommends for production use. The deprecated legacy API is not used.
Can I send data-only (silent) push notifications?
Yes. Leave the notification JSON empty and only fill in the data JSON. This sends a data-only message that your app handles in the background without showing a system notification.
What platforms does FCMDebug support?
FCMDebug sends notifications via the FCM HTTP v1 API, which supports Android, iOS, web browsers, Flutter, React Native, and any platform with an FCM SDK integration.
Why is my FCM notification not showing on the device?
Common causes: expired device token, app in foreground without a notification handler, missing notification channel on Android 8+, or APNs not configured for iOS. Check the error response from FCMDebug for details.
Platform Setup Guides
Need help setting up FCM in your app? Follow our step-by-step guides: