Messaging · Push

Push notification payload size checker.

Paste your notification JSON, pick the service and see its UTF-8 byte size against the documented limit, with and without whitespace.

APNs 4 KB / VoIP 5 KBFCM 4096 bytesChecked 16 October 2026

Advertisement

Inputs

Payload size

Enter your details.

What is the push notification payload size limit?

Apple documents that the JSON payload of an APNs notification is limited to a maximum size of 4 KB (4096 bytes) and that a Voice over IP (VoIP) notification can be 5 KB (5120 bytes). Firebase Cloud Messaging documents a maximum payload of 4096 bytes for both notification and data messages (the Firebase console enforces a lower 1000 characters). The count is in bytes, not characters, so the same text can be a different size depending on the characters in it.

Bytes versus characters. The payload is UTF-8 text. ASCII characters take 1 byte, most accented Latin letters 2, most symbols and CJK characters 3, and emoji 4. A 1,000-character body of emoji is about 4,000 bytes, nearly the whole APNs budget.

Worked example. The sample payload above is under 200 bytes. Add a 4,000-character English body and it passes 4,096 bytes and APNs rejects it. Keep the data you send small and fetch the rest in the app when the notification is opened.

What is measured. This tool measures the JSON text you paste, in UTF-8 bytes. FCM does not publish exactly which parts of a request count toward its 4096 bytes, so leave a margin for FCM, and do not count on an exact figure at the limit. APNs also says not to compress the JSON payload.

Frequently asked questions

What is the APNs payload size limit?

Apple documents 4 KB (4096 bytes) for a regular remote notification and 5 KB (5120 bytes) for a VoIP notification.

What is the FCM payload size limit?

Firebase documents a maximum payload of 4096 bytes for both notification and data messages. Messages sent from the Firebase console are limited to 1000 characters.

Are limits in bytes or characters?

Bytes. Non-ASCII characters and emoji take 2 to 4 bytes in UTF-8, so a message with fewer than 4096 characters can still be too big.

Does whitespace count?

The size is measured on the JSON text you send, so extra spaces and line breaks add bytes. The tool shows the minified size so you can compare.

Is my payload sent anywhere?

No. It is measured in your browser. Do not paste real device tokens or secrets anyway.

Sources

Checked

Apple gives 4 KB (4096 bytes) and 5 KB (5120 bytes) for VoIP, and says the JSON payload must not be compressed. Firebase gives a 4096-byte maximum payload for both message types and 1000 characters for the console. Which request fields FCM counts is not published, so the FCM figure is a guide. Runs entirely in your browser.

Scope

A size check, not a validator of your notification format. Test on real devices; the services may change limits and reject malformed payloads for other reasons.

Advertisement
Advertisement