Send FCM notifications with images

Add a photo or banner to a push notification using the FCM HTTP v1 image field.

The notification.image field

FCM HTTP v1 supports a top-level notification.image field: a public HTTPS URL to an image that gets displayed alongside the title and body.

{
  "message": {
    "token": "DEVICE_REGISTRATION_TOKEN",
    "notification": {
      "title": "Special offer",
      "body": "30% off today only",
      "image": "https://example.com/images/offer.jpg"
    }
  }
}

Image requirements

The URL must be publicly reachable over HTTPS with no authentication required — FCM's delivery infrastructure fetches it, not the end user's device directly. Keep the file reasonably small; large images can be slow to download on mobile connections and may be skipped.

Android

Android displays notification.image automatically in the expanded notification view with no extra app code required, as long as the app is in the background when the message arrives.

iOS / APNs

iOS does not download and render the image automatically. The app needs a Notification Service Extension that fetches the URL and attaches it to the notification content before it is displayed. Without that extension, the notification shows normally but without the image.

Web

Browsers that support the Notifications API display the image if the site's service worker passes it through when handling the push event; support and rendering vary by browser.

Test it

The FCM notification tester has an Image URL field in Simple mode, and several Advanced payload templates that already include notification.image, android.notification.image, and the iOS fcm_options.image variant together.