skip to content

HTML <progress> Tag

This week we're looking at the <progress> tag.

The <progress> tag offers a method of indicating a progress state. Thus it represents the completion of a task, like loading a site, downloading a file and so on.

The progress tag takes two attributes: max which represent the maximum value and value which represents the current value.


WebKit/Blink provides two pseudo classes for styling the progress element: -webkit-progress-bar which lets you modify the progress element container, and -webkit-progress-value which is used for styling the value inside the container.

Start by resetting the styles:

progress {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;


<progress max="100" value="65"></progress>
progress::-webkit-progress-bar {
 background: red;


<progress max="100" value="65"></progress>
progress::-webkit-progress-value {
 background: red;


See the Pen HTML Progress Test by Tristan White (@triss90) on CodePen.

Browser Support

The <progress> tag is widely supported. Besides iOS Safari which only partly supports it, every other browser offers full support.

Method of indicating a progress state.