Not yet stable

For a given set of browsers, what APIs are not yet in all of them.

Example Comparisons
Browsers
Features

Summary

A count of the number of APIs are in Browser X but not in Browser Y.
Not in FirefoxNot in Edge
In Firefox 36
In Edge 158

Unstable APIs

Below is a list of features that are not in all of Firefox and Edge

Raw Data

Quick Links:

HTML Data

API First Browser Date Days in Limbo Notes
html.elements.a.attributionsrc 📋Edge5/17/2024879
html.elements.a.coords 📋Edge1/15/20202463
Firefox: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.Firefox for Android: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
html.elements.a.href.href_sms Firefox4/24/20125285
html.elements.a.referrerpolicy.no-referrer-when-downgrade Edge1/15/20202463
html.elements.a.referrerpolicy.origin-when-cross-origin Edge1/15/20202463
html.elements.a.referrerpolicy.unsafe-url Edge1/15/20202463
html.elements.a.shape 📋Edge1/15/20202463
Firefox: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.Firefox for Android: You can no longer nest an <a> element inside a <map> element to create a hotspot region - coords and shape attribute support removed.
html.elements.a.target.unfencedTop Edge7/21/20231180
html.elements.area.referrerpolicy.no-referrer-when-downgrade Edge1/15/20202463
html.elements.area.referrerpolicy.origin-when-cross-origin Edge1/15/20202463
html.elements.area.referrerpolicy.unsafe-url Edge1/15/20202463
html.elements.audio.controlslist 📋Edge1/15/20202463
html.elements.audio.disableremoteplayback 📋Edge1/25/2024992
html.elements.canvas.moz-opaque Firefox6/30/20096314
html.elements.col.char 📋Edge7/29/20154094
html.elements.col.charoff 📋Edge7/29/20154094
html.elements.colgroup.char 📋Edge7/29/20154094
html.elements.colgroup.charoff 📋Edge7/29/20154094
html.elements.fencedframe 📋Edge7/21/20231180
html.elements.fencedframe.allow 📋Edge7/21/20231180
html.elements.fencedframe.height 📋Edge7/21/20231180
html.elements.fencedframe.width 📋Edge7/21/20231180
html.elements.form.autocomplete.new-password Firefox5/21/20192702
html.elements.form.autocomplete.webauthn 📋Edge12/5/20221408
html.elements.iframe.allow.accelerometer 📋Edge1/15/20202463
html.elements.iframe.allow.ambient-light-sensor 📋Edge1/15/20202463
html.elements.iframe.allow.attribution-reporting 📋Edge9/15/20231124
html.elements.iframe.allow.bluetooth 📋Edge8/5/20221530
html.elements.iframe.allow.browsing-topics Edge7/21/20231180
html.elements.iframe.allow.compute-pressure 📋Edge5/17/2024879
html.elements.iframe.allow.cross-origin-isolated 📋Edge11/19/20202154
html.elements.iframe.allow.gamepad 📋Firefox8/10/20211890
Firefox: The default allowlist is * instead of self (as required by the specification).Firefox for Android: The default allowlist is * instead of self (as required by the specification).
html.elements.iframe.allow.gyroscope 📋Edge1/15/20202463
html.elements.iframe.allow.hid 📋Edge3/4/20212049
html.elements.iframe.allow.identity-credentials-get 📋Edge2/9/20231342
html.elements.iframe.allow.idle-detection 📋Edge9/24/20211845
html.elements.iframe.allow.local-fonts 📋Edge6/23/20221573
html.elements.iframe.allow.magnetometer 📋Edge1/15/20202463
html.elements.iframe.allow.otp-credentials 📋Edge9/2/20211867
html.elements.iframe.allow.publickey-credentials-create 📋Firefox2/20/2024966
html.elements.iframe.allow.serial 📋Edge3/4/20212049
html.elements.iframe.allow.speaker-selection 📋Firefox8/1/20231169
Firefox for Android: Not available due to a limitation in Android (see bug 1473346).
html.elements.iframe.allow.storage-access 📋Edge5/5/20231257
html.elements.iframe.allow.usb 📋Edge1/15/20202463
html.elements.iframe.allow.wildcards Edge12/5/20221408
html.elements.iframe.allow.window-management 📋Edge4/1/20221656
html.elements.iframe.allow.xr-spatial-tracking 📋Edge1/15/20202463
html.elements.iframe.allowpaymentrequest Edge1/15/20202463
html.elements.iframe.browsingtopics Edge7/21/20231180
html.elements.iframe.credentialless 📋Edge2/9/20231342
html.elements.iframe.csp 📋Edge1/15/20202463
html.elements.iframe.referrerpolicy.no-referrer-when-downgrade Edge1/15/20202463
html.elements.iframe.referrerpolicy.origin-when-cross-origin Edge1/15/20202463
html.elements.iframe.referrerpolicy.unsafe-url Edge1/15/20202463
html.elements.iframe.sandbox.allow-top-navigation-to-custom-protocols 📋Firefox5/31/20221596
html.elements.img.attributionsrc 📋Edge5/17/2024879
html.elements.img.referrerpolicy.no-referrer-when-downgrade Edge1/15/20202463
html.elements.img.referrerpolicy.origin-when-cross-origin Edge1/15/20202463
html.elements.img.referrerpolicy.unsafe-url Edge1/15/20202463
html.elements.img.sizes.auto 📋Edge6/13/2024852
html.elements.input.type_month 📋Edge7/29/20154094
Safari: The input type is recognized, but there is no month-specific control. See bug 200416.
html.elements.input.type_password.insecure_login_handling Firefox3/7/20173507
html.elements.input.type_week 📋Edge7/29/20154094
html.elements.link.blocking 📋Edge9/1/20221503
html.elements.link.referrerpolicy.no-referrer-when-downgrade Edge1/15/20202463
html.elements.link.referrerpolicy.origin-when-cross-origin Edge1/15/20202463
html.elements.link.referrerpolicy.unsafe-url Edge1/15/20202463
html.elements.link.rel.alternate_stylesheet 📋Firefox6/17/20086692
html.elements.link.rel.expect 📋Edge4/18/2024908
html.elements.link.rel.manifest 📋Edge1/15/20202463
html.elements.link.rel.preload.as-track Edge1/15/20202463
html.elements.link.rel.prerender Edge1/15/20202463
html.elements.meta.name.application-title Edge3/6/2025586
html.elements.meta.name.theme-color 📋Edge1/15/20202463
Chrome: Chrome uses the color only on installed progressive web apps.Chrome: Chrome reports support, but does not actually use the color anywhere.Chrome Android: Chrome for Android does not use the color on devices with native dark mode enabled unless it's an installed progressive web app or a trusted web activity.Edge: Edge uses the color only on installed progressive web apps.Quest Browser: Chrome for Android does not use the color on devices with native dark mode enabled unless it's an installed progressive web app or a trusted web activity.
html.elements.script.attributionsrc 📋Edge5/17/2024879
html.elements.script.blocking 📋Edge9/1/20221503
html.elements.script.referrerpolicy.no-referrer-when-downgrade Edge1/15/20202463
html.elements.script.referrerpolicy.origin-when-cross-origin Edge1/15/20202463
html.elements.script.referrerpolicy.unsafe-url Edge1/15/20202463
html.elements.script.type.importmap.integrity 📋Edge7/25/2024810
html.elements.script.type.importmap.multiple_import_maps 📋Edge2/6/2025614
html.elements.script.type.speculationrules 📋Edge1/12/20231370
Chrome: Initial support included same-origin prerendering only.Chrome Android: Initial support included same-origin prerendering only.Edge: Initial support included same-origin prerendering only.Quest Browser: Initial support included same-origin prerendering only.Opera: Initial support included same-origin prerendering only.Opera Android: Initial support included same-origin prerendering only.Samsung Internet: Initial support included same-origin prerendering only.
html.elements.script.type.speculationrules.eagerness Edge1/25/2024992
html.elements.script.type.speculationrules.expects_no_vary_search Edge7/25/2024810
Chrome: Supported for prefetch only.Chrome Android: Supported for prefetch only.Edge: Supported for prefetch only.Opera: Supported for prefetch only.Opera Android: Supported for prefetch only.Samsung Internet: Supported for prefetch only.
html.elements.script.type.speculationrules.prefetch Edge2/9/20231342
html.elements.script.type.speculationrules.prerender Edge9/1/20221503
html.elements.script.type.speculationrules.referrer_policy Edge3/13/20231310
html.elements.script.type.speculationrules.relative_to Edge1/25/2024992
html.elements.script.type.speculationrules.requires Edge2/9/20231342
html.elements.script.type.speculationrules.source_optional Edge2/23/2024963
html.elements.script.type.speculationrules.urls Edge1/12/20231370
html.elements.script.type.speculationrules.where Edge1/25/2024992
html.elements.style.blocking 📋Edge9/1/20221503
html.elements.tbody.char Edge7/29/20154094
html.elements.td.char Edge7/29/20154094
html.elements.template.shadowrootserializable 📋Edge5/17/2024879
html.elements.textarea.autocomplete.new-password Firefox5/21/20192702
html.elements.textarea.autocomplete.webauthn 📋Edge12/5/20221408
html.elements.textarea.wrap.hard Edge7/29/20154094
html.elements.tfoot.char Edge7/29/20154094
html.elements.th.char Edge7/29/20154094
html.elements.th.rowspan.rowspan_zero Firefox8/8/20173353
html.elements.thead.char Edge7/29/20154094
html.elements.tr.char Edge7/29/20154094
html.elements.tr.charoff Edge7/29/20154094
html.elements.video.controlslist 📋Edge1/15/20202463
html.elements.video.disableremoteplayback 📋Edge1/25/2024992
html.elements.video.playsinline 📋Edge1/15/20202463
html.global_attributes.contenteditable.plaintext-only Edge1/15/20202463
html.global_attributes.hidden.until-found 📋Edge5/31/20221596
html.global_attributes.virtualkeyboardpolicy 📋Edge9/24/20211845
html.global_attributes.writingsuggestions 📋Edge4/18/2024908
html.manifest.background_color 📋Edge1/15/20202463
html.manifest.description 📋Edge1/21/20212091
Firefox for Android: The property parses, but has no effect.
html.manifest.display 📋Edge1/15/20202463
Chrome: display and/or display_override are required for a web app to be installable.Chrome Android: display and/or display_override are required for a web app to be installable.Edge: display and/or display_override are required for a web app to be installable.Quest Browser: display and/or display_override are required for a web app to be installable.Opera: display and/or display_override are required for a web app to be installable.Opera Android: display and/or display_override are required for a web app to be installable.Samsung Internet: display and/or display_override are required for a web app to be installable.WebView Android: display and/or display_override are required for a web app to be installable.
html.manifest.display.browser 📋Edge1/15/20202463
html.manifest.display.fullscreen 📋Edge1/15/20202463
html.manifest.display.minimal-ui 📋Edge1/15/20202463
html.manifest.display.standalone 📋Edge1/15/20202463
html.manifest.display_override 📋Edge3/4/20212049
Chrome: display_override and/or display are required for a web app to be installable.Chrome Android: display_override and/or display are required for a web app to be installable.Edge: display_override and/or display are required for a web app to be installable.Quest Browser: display_override and/or display are required for a web app to be installable.Opera: display_override and/or display are required for a web app to be installable.Opera Android: display_override and/or display are required for a web app to be installable.Samsung Internet: display_override and/or display are required for a web app to be installable.
html.manifest.display_override.tabbed 📋Edge6/13/2024852
html.manifest.display_override.window-controls-overlay 📋Edge9/1/20221503
html.manifest.file_handlers 📋Edge5/31/20221596
html.manifest.icons 📋Edge1/15/20202463
Chrome: icons is required for a web app to be installable.Chrome Android: icons is required for a web app to be installable.Edge: icons is required for a web app to be installable.Quest Browser: icons is required for a web app to be installable.Opera: icons is required for a web app to be installable.Opera Android: icons is required for a web app to be installable.Safari: Only used when no apple-touch-icon is present and either "purpose" is set to "any" or "purpose" is not specified.Safari on iOS: Only used when no apple-touch-icon is present and either "purpose" is set to "any" or "purpose" is not specified.Samsung Internet: icons is required for a web app to be installable.WebView Android: icons is required for a web app to be installable.WebView on iOS: Only used when no apple-touch-icon is present and either "purpose" is set to "any" or "purpose" is not specified.
html.manifest.id 📋Edge11/19/20211789
Firefox: The property parses, but has no effect.
html.manifest.launch_handler 📋Edge2/9/20231342
html.manifest.launch_handler.client_mode 📋Edge2/9/20231342
html.manifest.name 📋Edge1/15/20202463
Chrome: name or short_name is required for a web app to be installable.Chrome Android: name or short_name is required for a web app to be installable.Edge: name or short_name is required for a web app to be installable.Quest Browser: name or short_name is required for a web app to be installable.Opera: name or short_name is required for a web app to be installable.Opera Android: name or short_name is required for a web app to be installable.Samsung Internet: name or short_name is required for a web app to be installable.WebView Android: name or short_name is required for a web app to be installable.
html.manifest.note_taking 📋Edge10/21/20211818
html.manifest.note_taking.new_note_url 📋Edge10/21/20211818
html.manifest.orientation 📋Edge1/15/20202463
html.manifest.protocol_handlers 📋Edge11/19/20211789
html.manifest.protocol_handlers.protocol 📋Edge11/19/20211789
html.manifest.protocol_handlers.url 📋Edge11/19/20211789
html.manifest.scope 📋Edge1/15/20202463
html.manifest.serviceworker Edge1/15/20202463
html.manifest.serviceworker.scope Edge1/15/20202463
html.manifest.serviceworker.src Edge1/15/20202463
html.manifest.serviceworker.use_cache Edge1/15/20202463
html.manifest.share_target 📋Edge3/4/20212049
Firefox for Android: The property parses, but has no effect.
html.manifest.short_name 📋Edge1/15/20202463
Chrome: short_name or name is required for a web app to be installable.Chrome Android: short_name or name is required for a web app to be installable.Edge: short_name or name is required for a web app to be installable.Quest Browser: short_name or name is required for a web app to be installable.Opera: short_name or name is required for a web app to be installable.Opera Android: short_name or name is required for a web app to be installable.Samsung Internet: short_name or name is required for a web app to be installable.WebView Android: short_name or name is required for a web app to be installable.
html.manifest.shortcuts 📋Edge11/19/20211789
Chrome: Supported on Windows only.Edge: Supported on Windows only.Opera: Supported on Windows only.
html.manifest.start_url 📋Edge1/15/20202463
Chrome: start_url is required for a web app to be installable.Chrome Android: start_url is required for a web app to be installable.Edge: start_url is required for a web app to be installable.Quest Browser: start_url is required for a web app to be installable.Opera: start_url is required for a web app to be installable.Opera Android: start_url is required for a web app to be installable.Samsung Internet: start_url is required for a web app to be installable.WebView Android: start_url is required for a web app to be installable.
html.manifest.theme_color 📋Edge1/15/20202463

JS Data

API First Browser Date Days in Limbo Notes
javascript.builtins.Atomics.Atomic_operations_on_non_shared_buffers Firefox7/28/20202268
javascript.builtins.Atomics.pause 📋Edge2/6/2025614
javascript.builtins.Atomics.waitAsync 📋Edge11/19/20202154
javascript.builtins.DataView.getFloat16 📋Firefox8/6/2024798
javascript.builtins.DataView.setFloat16 📋Firefox8/6/2024798
javascript.builtins.Error.Error.fileName_parameter Firefox11/9/20048008
javascript.builtins.Error.Error.lineNumber_parameter Firefox11/9/20048008
javascript.builtins.Error.columnNumber Firefox11/9/20048008
javascript.builtins.Error.fileName Firefox11/9/20048008
javascript.builtins.Error.lineNumber Firefox11/9/20048008
javascript.builtins.FinalizationRegistry.symbol_as_target Edge1/12/20231370
javascript.builtins.Float16Array 📋Firefox8/6/2024798
javascript.builtins.Float16Array.Float16Array 📋Firefox8/6/2024798
javascript.builtins.Function.displayName Firefox6/5/20125243
javascript.builtins.InternalError Firefox11/9/20048008
javascript.builtins.InternalError.InternalError Firefox11/9/20048008
javascript.builtins.Intl.DurationFormat 📋Edge9/19/2024754
javascript.builtins.Intl.DurationFormat.DurationFormat 📋Edge9/19/2024754
javascript.builtins.Intl.DurationFormat.format 📋Edge9/19/2024754
javascript.builtins.Intl.DurationFormat.formatToParts 📋Edge9/19/2024754
javascript.builtins.Intl.DurationFormat.resolvedOptions 📋Edge9/19/2024754
javascript.builtins.Intl.DurationFormat.supportedLocalesOf 📋Edge9/19/2024754
javascript.builtins.Intl.Locale.getCalendars 📋Edge10/17/2024726
Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property.
javascript.builtins.Intl.Locale.getCollations 📋Edge10/17/2024726
Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property.
javascript.builtins.Intl.Locale.getHourCycles 📋Edge10/17/2024726
Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property.
javascript.builtins.Intl.Locale.getNumberingSystems 📋Edge10/17/2024726
Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property.
javascript.builtins.Intl.Locale.getTextInfo 📋Edge10/17/2024726
Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Deno: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property.
javascript.builtins.Intl.Locale.getTimeZones 📋Edge10/17/2024726
Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property.
javascript.builtins.Intl.Locale.getWeekInfo 📋Edge10/17/2024726
Chrome: Implemented as an accessor property.Chrome Android: Implemented as an accessor property.Edge: Implemented as an accessor property.Node.js: Implemented as an accessor property.Quest Browser: Implemented as an accessor property.Opera: Implemented as an accessor property.Opera Android: Implemented as an accessor property.Safari: Implemented as an accessor property.Safari on iOS: Implemented as an accessor property.Samsung Internet: Implemented as an accessor property.WebView Android: Implemented as an accessor property.WebView on iOS: Implemented as an accessor property.
javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_roundingIncrement_parameter Firefox8/1/20231169
javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_trailingZeroDisplay_parameter Firefox8/1/20231169
javascript.builtins.Math.f16round 📋Firefox8/6/2024798
javascript.builtins.Promise.incumbent_settings_object_tracking 📋Firefox11/15/20163619
javascript.builtins.RegExp.escape 📋Firefox1/7/2025644
javascript.builtins.Uint8Array.fromBase64 📋Firefox11/26/2024686
javascript.builtins.Uint8Array.fromHex 📋Firefox11/26/2024686
javascript.builtins.Uint8Array.setFromBase64 📋Firefox11/26/2024686
javascript.builtins.Uint8Array.setFromHex 📋Firefox11/26/2024686
javascript.builtins.Uint8Array.toBase64 📋Firefox11/26/2024686
javascript.builtins.Uint8Array.toHex 📋Firefox11/26/2024686
javascript.builtins.WeakMap.symbol_as_keys Edge1/12/20231370
javascript.builtins.WeakRef.symbol_as_target Edge1/12/20231370
javascript.builtins.WeakSet.symbol_as_keys Edge1/12/20231370
javascript.grammar.trailing_commas.trailing_commas_in_dynamic_import Edge5/27/20211965
Node.js: The second parameter no longer throws a parser error, but the --experimental-json-modules flag is still needed to load JSON modules.
javascript.operators.import.options_parameter Edge5/27/20211965
Node.js: The second parameter no longer throws a parser error, but the --experimental-json-modules flag is still needed to load JSON modules.
javascript.statements.import.import_attributes 📋Edge3/22/2024935
javascript.statements.import.import_attributes.type_css Edge3/22/2024935
javascript.statements.import.import_attributes.type_json Edge3/22/2024935
javascript.statements.import.service_worker_support Edge5/27/20211965
javascript.statements.import.worklet_support Firefox6/6/20231225