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
popoverand 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.