Lazy Loading for Video & Audio in Chrome

⚑ Chromium πŸ”§ C++ / Blink πŸ‘€ Helmut Januschka

The missing piece for video-heavy pages

Status: βœ… Landed in Chromium (CL 7511253 merged Feb 20, 2026)


The Gap

Since 2019, we've had this:

<img src="photo.jpg" loading="lazy">

But not this:

<video src="hero.mp4" loading="lazy">  <!-- Nope -->
<audio src="podcast.mp3" loading="lazy">  <!-- Nope -->

Six years later, that's finally changing.

Why It Matters

Think about:

All of these eagerly load every media file upfront. Bandwidth wasted on content users might never scroll to.

The Effort

This isn't a solo project. Scott Jehl and the Squarespace team have been driving a proper cross-browser standardization effort:

When Yoav Weiss posted in Chromium Slack that they needed someone for the Chrome side, I figured the Firefox patch and WPTs would make it straightforward to port. They did.

WPTs passing in patched Chromium

The Behavior

<video loading="lazy" poster="thumb.jpg" autoplay muted>
  <source src="video.mp4" type="video/mp4">
  <track src="captions.vtt" kind="subtitles">
</video>
What When loading="lazy"
Video/audio source Waits for viewport
Poster image Waits for viewport
Track elements (captions) Waits for viewport
Autoplay Queued until visible

Changes from lazy to eager? Triggers immediate load.

The implementation reuses Chromium's existing lazy load infrastructureβ€”same intersection observer as images, same network-aware margins.

Status

Browser Patch Standards Position
Chromium MERGED CL 7511253 POSITIVE
Firefox IN REVIEW D278547 POSITIVE
WebKit Ready (not submitted) PENDING

Links

Coverage:

Spec:

Tests:

Tracking:

Standards Positions:


Thanks to Scott Jehl, Brad Frost, Zach Lisobey, and Credo Duarte at Squarespace for driving this. And as always, Yoav Weiss for connecting people and pushing the web platform forward.