CSS Portal

HTML <progress> Tag

If this site has been useful, we’d love your support! Consider buying us a coffee to keep things going strong!

Description

The <progress> element in HTML represents the completion progress of a task or operation. It is a semantic element designed to visually indicate how much of a process has been completed, giving users immediate feedback about ongoing actions such as file uploads, downloads, form submissions, or any other process that takes measurable time to finish.

By default, <progress> displays as a horizontal bar that fills in proportion to the task's progress. Its appearance is largely dependent on the browser and operating system, but it typically shows a filled portion corresponding to the percentage of completion. If no value is specified, some browsers may display an indeterminate state, indicating that progress is ongoing but not yet measurable - often shown as an animated striped or pulsating bar.

The <progress> tag is self-contained and does not require any child elements, though text can be included between the opening and closing tags as a fallback for older browsers or assistive technologies. This element is inherently accessible, as screen readers often interpret it as a progress bar and may announce its completion percentage when a value is provided.

The <progress> element is especially useful in modern web applications for providing visual feedback to users during operations that might otherwise feel slow or unresponsive. It encourages user engagement by making tasks predictable and understandable, reducing uncertainty during asynchronous operations.

Properties

Permitted Parents
Any element that accepts phrasing content
Content
Inline and text, but no <progress> among its descendants
Start/End Tags
Start tag: required, End tag: required

Example

Download progress:
<progress value="45" max="100"></progress>

Attributes

max
Specifies how much of the task has been completed.
value
Specifies how much work the task requires in total.

Global Attributes

The <progress> tag also supports the Global Attributes in HTML5

Event Attributes

The <progress> tag also supports the Event Attributes in HTML5

Browser Support

The following information will show you the current browser support for the HTML <progress> tag. Hover over a browser icon to see the version that first introduced support for this HTML tag.

This tag is supported by all modern browsers.
Desktop
Chrome
Edge
Firefox
Opera
Safari
Tablets & Mobile
Chrome Android
Firefox Android
Opera Android
Safari iOS
Samsung Internet
Android WebView
-

Last updated by CSSPortal on: 26th December 2025

If this site has been useful, we’d love your support! Consider buying us a coffee to keep things going strong!