Skip to content
FrameworkStyle

Browser support

Browsers and rendering environments supported by Video.js 10

Support starts with an evergreen browser baseline and extends to the rendering environments described below.

Browser baseline

Video.js 10 currently targets evergreen browsers: the latest two stable versions of Chrome, Firefox, Safari, and Edge.

Why evergreen?

Video.js 10 builds directly on the web platform: custom elements, CSS custom properties, anchor positioning, and modern JavaScript APIs. Targeting evergreen browsers lets us:

  • Ship smaller bundles by avoiding polyfills and transpilation for outdated syntax
  • Use platform-native features like popover and anchor positioning instead of JavaScript equivalents
  • Keep the core slim so platform-specific adapters (HTML, React) add only what they need

Progressive enhancement

When we use a platform feature that hasn’t landed in all supported browsers yet, we provide a fallback. The player works either way; the experience may differ slightly in older browsers. For example, tooltips and popovers use CSS anchor positioning where available and fall back to JavaScript-computed positioning where it isn’t.

Rendering contexts

WebViews

A WebView is a browser engine embedded inside a native app. WebViews on iOS (WKWebView) and Android (Android WebView) can behave differently from the full browser; autoplay policies, fullscreen APIs, and hardware acceleration can vary.

Video.js 10 beta targets standard browser environments. If you embed a player inside a native app, test it on each platform and WebView version you support.

Progressive Web Apps

Installed Progressive Web Apps (PWAs) use the browser engine, but their standalone display mode and platform policies can affect fullscreen, media sessions, and other browser integration. Test playback both in a browser tab and in the installed app.

Smart TVs and set-top boxes

TV platforms run embedded browsers with limited standards support. Video.js 10’s core is not tied to any specific platform, which makes future TV adapters possible, but TV is not a supported target today.

Server-side rendering

Video.js components render valid markup on the server. Interactivity — state management, media playback, and event handling — requires the browser and kicks in after hydration.