What Is New in Video.js 10 Compared to Earlier Versions?
Video.js 10 is a complete ground-up rewrite of the player, not an incremental update. The headline changes are architectural: the UI is now separated from the underlying media renderer, every component is independent and communicates through open API contracts, and the project is structured for modern JavaScript bundlers with tree-shaking and code splitting. The practical payoff the project cites is a much smaller default download — roughly 51 kB and 1.01s on a slow 4G connection versus about 164 kB and 3.25s for Video.js 8.
If you are on Video.js 8 and everything works, there is no forced migration yet: v10 was still at release-candidate stage (v10.0.0-rc.4, dated Sep 26, 2026) with general availability targeted for Fall 2026. If you are starting a new project or your bundle size is a pain point, v10 is worth evaluating now.
The architecture change: UI split from the media renderer
In earlier versions, the player UI and the media rendering layer were tightly coupled. Video.js 10 separates them:
- Media renderer handles playback (the actual video/audio pipeline).
- UI layer handles controls, overlays, captions, settings menus, and so on.
- Components are independent units that work together only through open API contracts.
The consequence for you: you can swap or extend one layer without dragging the other along, and a component you don't use doesn't have to ship. This is the mechanism behind the size reduction — a minimal player stays minimal, and you add only the pieces you need.
Smaller default bundle, faster start
The project publishes a direct comparison based on a slow 4G connection:
| Version | Download size | Load time (slow 4G) |
|---|---|---|
| Video.js 8 | ~164 kB | ~3.25s |
| Video.js 10 | ~51 kB | ~1.01s |
Treat these as the project's own figures for the default player, not a guarantee for your build. Your real number depends on which components you include and how your bundler splits them — which is exactly the point of the tree-shaking and code-splitting support.
Built for modern bundlers
Video.js 10 is structured so that modern JavaScript bundlers can:
- Tree-shake — drop components you never import.
- Code-split intelligently — load features on demand rather than up front.
The recommended pattern is to start with a small player and add capabilities incrementally. If you are migrating from v8, expect to change how you import and register features rather than copying your old bundle configuration.
Release timeline and stability
The roadmap as published on the site:
| Stage | Timing | Status described |
|---|---|---|
| Tech Preview | Oct 2025 | Early testing |
| Beta | Mar 2026 | Experimental adoption in real projects |
| Release Candidate | Sep 2026 | Adoption in real projects encouraged |
| GA | Fall 2026 | Stable APIs; feature parity with Media Chrome, Vidstack, Plyr |
| Core Feature Parity | End of 2026 | Video.js core/contrib plugins migrated |
The key caveat: at the release-candidate stage, APIs are close to stable but not final, and plugin parity is not complete until the end of 2026. If your setup depends on a specific contrib plugin, check whether it has been migrated before committing to v10.
Who should move now, and who should wait
Evaluate v10 now if:
- You are starting a new project and want the smaller default footprint.
- Bundle size or startup time is a measurable problem for you.
- You rely on standard player features rather than a long list of third-party plugins.
Stay on v8 for now if:
- You depend on contrib plugins that have not yet been migrated (parity is targeted for end of 2026).
- You need stable, frozen APIs for a production system with no room for RC-stage changes.
- Your current player works and size is not a concern.
Governance context
The project is stewarded by a Corporate Shepherd elected by the Video.js Technical Steering Committee. Mux took over that role from Brightcove in 2025; Mux was founded by Steve Heffernan, the creator of Video.js. This matters mainly as a signal of continued investment in the rewrite rather than as a technical detail.
What to check before you decide
- Confirm the current release stage on the site — if GA has shipped, the API-stability caveat above no longer applies.
- List the plugins you actually use and verify each against the migration timeline.
- Prototype a minimal v10 player in your own build and measure the real bundle delta, rather than relying on the published 51 kB figure.
The short version: v10 is a genuine re-architecture aimed at size and modularity, and the numbers are compelling — but plugin parity and API stability land later in 2026, so the right timing depends on how many plugins you depend on.