Fullscreen API Browser Compatibility (2026): Full Support Table

Fullscreen API browser compatibility reference banner showing requestFullscreen support across Chrome, Safari, Firefox, Edge, and iOS

Fullscreen API Browser Compatibility

The Fullscreen API (requestFullscreen() / exitFullscreen()) lets any element take over the entire screen, the technology behind every fullscreen video player, kiosk display, and tool like ours. Support is now broadly universal across desktop browsers, but mobile, and iOS Safari specifically, still has real restrictions worth knowing before you build against it.

Browser Support Table

Browser Fully Supported From Notes
Chrome (desktop) 71+ Unprefixed since v71. Partial (webkit-prefixed) from v15-70.
Edge 79+ Full support since the Chromium-based rebuild (v79). Legacy Edge (12-18) had partial, prefixed support.
Firefox 64+ Unprefixed since v64. Partial (moz-prefixed) from v10-63.
Safari (desktop) 16.4+ Unprefixed only from 16.4 onward. Prior versions used webkit-prefixed, partial support.
Opera 64+ Follows Chromium’s timeline closely.
Samsung Internet 10.1+ Full support since 10.1.
Chrome for Android Supported Full support in current versions.
Firefox for Android Supported Full support in current versions.
Safari on iOS Partial only, never full See quirks below, this is the one that catches developers out.
Internet Explorer Never fully supported IE11 had partial, ms-prefixed support only.
Opera Mini Not supported No Fullscreen API support at all.

iOS Safari’s Restrictions (The Part That Trips People Up)

Unlike every other major browser, iOS Safari has never shipped full, unprefixed Fullscreen API support, even in current versions. What you get instead is partial support with real constraints:

  • User-gesture requirement is strict. requestFullscreen() must be called directly inside a user interaction handler (a tap or click), programmatic or delayed calls are silently blocked.
  • <video> elements behave differently than other elements. iOS Safari has historically supported fullscreen video playback through its own native video controls rather than the standard Fullscreen API, meaning a <video playsinline> element won’t always respond to requestFullscreen() the way a <div> would.
  • No fullscreen for arbitrary elements in some contexts. Trying to fullscreen a non-video element (a canvas, a div-based tool) can be blocked entirely in certain iOS Safari versions, depending on whether it’s a standalone tab or inside an iframe.
  • Home Screen web apps behave differently again. A site added to the iOS Home Screen (running as a standalone PWA) has different fullscreen behavior than the same site opened in Safari directly.

Kiosk-Mode and Autoplay Interactions

Two other quirks worth knowing if you’re building for kiosk displays or retail signage:

Autoplay + fullscreen conflicts. Some browsers block autoplaying video from simultaneously entering fullscreen without a direct user gesture, even if autoplay itself is allowed muted. Test this combination explicitly rather than assuming it works because autoplay alone works.

Kiosk-mode browsers aren’t standard Fullscreen API behavior. Dedicated kiosk-mode software (used in retail POS displays, digital signage) often bypasses the Fullscreen API entirely at the OS/browser-configuration level, rather than relying on requestFullscreen() being called from the page. If you’re deploying to a kiosk device, check whether the kiosk software already handles fullscreen before adding your own API calls, the two can conflict.

Quick Reference: Requesting Fullscreen Safely

ย 
javascript
function goFullscreen(element) {
  if (element.requestFullscreen) {
    element.requestFullscreen();
  } else if (element.webkitRequestFullscreen) {
    element.webkitRequestFullscreen(); // Safari (older)
  } else if (element.msRequestFullscreen) {
    element.msRequestFullscreen(); // IE11
  }
}

Always call this directly inside a click or tap handler, never after an async delay, or iOS Safari (and some other browsers) will silently reject the request.

ย 

FAQ

Does iOS Safari fully support the Fullscreen API?

No. iOS Safari has partial support only, even in current versions, with real restrictions around user gestures and which elements can go fullscreen.

Why does my fullscreen request fail silently on mobile?

Most commonly because requestFullscreen() wasn’t called directly inside a user gesture (tap/click) handler, browsers, especially iOS Safari, block delayed or programmatic calls.

Does the Fullscreen API work inside an iframe?

Only if the iframe has the allowfullscreen attribute set, and even then, some browsers restrict it further depending on cross-origin context.

Is Internet Explorer supported?

Only partially, IE11 supported a prefixed (msRequestFullscreen) version. No IE version ever had full, spec-compliant support.

← Previous OLED Screen Test: How to Check Your Display for Problems Next → Stuck Green Pixel? How to Find and Fix It for Free