👀 Live Preview
Task progress at 50%:

The <progress> tag shows how far a task has advanced. This guide covers syntax, value and max, file upload patterns, and how progress differs from meter.
Completion feedback.
Current amount.
Completion goal.
Upload indicators.
Task vs gauge.
Labels and updates.
<progress> Tag?The <progress> tag is an HTML5 element designed to represent the completion progress of a task. It is particularly useful for indicating the advancement of file uploads, form submissions, or any process with a measurable completion status.
Browsers render <progress> as a native progress bar. Update value with JavaScript to reflect real-time completion.
Omit value when completion is unknown — the browser shows an indeterminate animated bar.
Place the tag in your document and use value to specify the current completion level:
<progress value="50" max="100"></progress>Here, value represents the current progress and max sets the maximum value, indicating the completion threshold.
max defaults to 1 if omitted; use max="100" for percentage-style bars.value must be between 0 and max.50%.label so users know what is progressing.| Topic | Code Snippet | Notes |
|---|---|---|
| 50% complete | value="50" max="100" | Half-filled bar |
| Indeterminate | No value | Unknown completion |
| Form link | form="myForm" | Outside form |
| Fallback text | Inner text content | Legacy browsers |
| vs meter | Task completion | meter = gauge |
| Browser support | Modern 100% | IE 10+ partial |
<progress> vs <meter>| Element | Purpose | Example |
|---|---|---|
<progress> | Task completion over time | File upload, install |
<meter> | Scalar measurement in range | Disk usage, score |
| Indeterminate | progress only | Waiting with no percent |
The <progress> tag supports attributes to define completion state and form association:
<progress value="75" max="100" form="uploadForm">75%</progress>value CurrentCurrent progress toward completion.
value="75"max GoalMaximum value representing full completion.
max="100"form AssociateID of the form when progress is outside it.
form="uploadForm"id TargetHook for JavaScript progress updates.
id="uploadProgress"Build progress bars for file uploads and general task completion feedback.
Task progress at 50%:
The <progress> tag gives users visual feedback during ongoing tasks such as uploads and long-running operations.
The progress tag is commonly used to display the progress of file uploads.
<form action="/upload" method="post" enctype="multipart/form-data">
<label for="file">Select File:</label>
<input type="file" id="file" name="file">
<progress value="0" max="100" id="uploadProgress">0%</progress>
<input type="submit" value="Upload">
</form>Showcasing the progress of a task, such as a lengthy computation, provides valuable feedback to users.
<progress value="30" max="100">30%</progress><label for="id"> to describe what is progressing.meter for upload bars; semantics differ for assistive technology.Define current completion and the total goal.
Fill width reflects value / max.
Real uploads and tasks change progress.value live.
Visitors see how far a task has advanced without guessing.
The <progress> element is an HTML5 tag with full support in all modern browsers and partial support in Internet Explorer 10+.
Chrome, Firefox, Safari, Edge, and Opera all render interactive progress indicators.
Bottom line: Use <progress> for task completion bars in all modern browsers.
Effectively implementing the <progress> tag is crucial for providing users with real-time feedback on task completion. By incorporating this tag into your web development projects, you enhance the user experience by keeping them informed about ongoing processes.
value dynamically with JavaScriptmax="100" for percentage-style UIsprogress over meter for tasksmeter for upload completionvalue greater than maxprogress fits<progress>Bookmark these before you add progress bars to your UI.
Completion feedback.
BehaviorCurrent progress.
AttributesCompletion goal.
AttributesCommon use case.
PatternTask vs gauge.
SemanticsIE 10+ partial.
Compatibilityprogress tracks task completion; meter shows a measurement in a range.value attribute for an indeterminate animated bar.value is current progress; max is the total goal.Practice <progress> with file uploads and task completion in the Try It editor.
6 people found this page helpful