The HTML buffered attribute
Quick answer
The media buffered is a read-only JavaScript property (not an HTML attribute) returning a TimeRanges object describing which parts of the media have been downloaded — useful for drawing a buffering bar.
Overview
The buffered attribute gives the time ranges of media that the browser has buffered. It applies to the <audio> and <video> elements (as a JavaScript property).
Read it in JavaScript, typically inside a progress handler, to visualize how much has loaded.
Syntax
if (video.buffered.length) {\n var end = video.buffered.end(0);\n}
Values
| Value |
|---|
| A read-only TimeRanges object. |
Best practices
- Access it in JavaScript on the element object — there is no corresponding HTML attribute to write.
- Read it to inspect state; some are read-only and cannot be set.
- Do not try to set it as a markup attribute — it will be ignored.
- Combine it with the relevant events to react to changes.
Frequently asked questions
What does the buffered attribute do?
Reports buffered media ranges (a JS property).
Can I set this as an HTML attribute?
No. It is a JavaScript property, not a markup attribute. Read or set it on the element in script.
How do I access it?
Through the element object in JavaScript, e.g.
element.property.Which elements use the buffered attribute?
It is an element-specific attribute, used on media and form elements — though it is a JavaScript property, not an attribute you write in markup.