PushManager.supportedContentEncodings is a static, read-only property. It returns a frozen array of content encodings the browser can use to encrypt push message payloads (MDN). Browsers must support aes128gcm (RFC 8291).
Read the notes below before you rely on this property. Prefer feature detection when support is limited.
Syntax
Use PushManager.supportedContentEncodings. Start with this line.
JavaScript
PushManager.supportedContentEncodings
Call
What it does
PushManager.supportedContentEncodings
Primary signature.
Built into the browser. Read PushManager.supportedContentEncodings on the PushManager interface — no import required.
Library declarations
JavaScript
PushManager.supportedContentEncodings
Parameters
Parameter
Description
Secure context
Required. HTTPS or localhost
Return Value
Return Value
Description
*
The current value of PushManager.supportedContentEncodings.
JavaScript Examples
Example 1 — Read supportedContentEncodings
Log the static array your browser exposes.
JavaScript
if ("PushManager" in window && PushManager.supportedContentEncodings) {
console.log(PushManager.supportedContentEncodings);
} else {
console.log("supportedContentEncodings not available");
}
Collect subscription data. Endpoint plus p256dh / auth keys (from a real PushSubscription).
Attach encodings. Add PushManager.supportedContentEncodings so the server knows the coding.
Serialize.JSON.stringify makes a POST body your API can store.
Encrypt on the server. Use that coding and set the Content-Encoding header when sending the push.
Compatibility
Browser Support
PushManager.supportedContentEncodings is Baseline 2025 — newly available since January 2025 (MDN). It needs a secure context and may be missing in older browsers.
✓ Baseline 2025 · Newly available
PushManager.supportedContentEncodings
Static frozen array of push payload encodings (usually aes128gcm).
NewBaseline 2025 support
Google ChromeSupported · current · secure context
Full support
Mozilla FirefoxSupported · current · secure context
Full support
Apple SafariSupported · modern Safari / iOS
Full support
Microsoft EdgeSupported · current · secure context
Full support
OperaFollow Chromium
Full support
Internet ExplorerNo Push API
Not supported
supportedContentEncodingsNewly available
Bottom line: Use current Chrome, Firefox, Safari, and Edge. Always feature-detect, prefer aes128gcm, and send the encoding list to your app server with the subscription.
Frequently Asked Questions
A read-only frozen array of strings naming content encodings the browser supports for encrypting push message payloads. It usually contains just one value: "aes128gcm" (MDN).
No. MDN marks it as Baseline 2025 (newly available since January 2025). It is not Deprecated, Experimental, or Non-standard.
Static. Read it on the PushManager interface itself: PushManager.supportedContentEncodings — not on registration.pushManager.
The server must encrypt push payloads with a coding the browser supports, and it sets that coding in the Content-Encoding HTTP header on each push message (MDN).
No. MDN says the array is frozen. Attempting to set a value throws TypeError.
User agents must support the aes128gcm content coding defined in RFC 8291. Older codings may also appear in the array (MDN).