👀 Live Preview
A simple 0–100 gauge at 75%:

The <meter> tag is a powerful HTML5 tool for representing scalar measurements within a predefined range. This guide covers syntax, attributes, and real-world gauge patterns.
Set min, max, and value on a <meter> element.
Use low, high, and optimum for color zones.
Gauges vs task completion bars — know which tag to pick.
Display storage levels and capacity at a glance.
Include text inside meter for screen readers.
Full support in all modern browsers.
<meter> Tag?The <meter> element defines a scalar measurement within a known range. It is often used to represent levels such as disk usage, test scores, fuel remaining, or temperature — any value with fixed minimum and maximum bounds.
<meter> shows a measurement at a point in time. For task completion (downloads, form steps), use <progress> instead. Mixing them up is a common beginner mistake.
Browsers render <meter> as a colored bar gauge. The fill color can change based on low, high, and optimum thresholds you define.
Use the opening <meter> tag with attributes specifying the minimum, maximum, and current values:
<meter
min="minValue"
max="maxValue"
value="currentValue"
>
Fallback text
</meter>value is required — the current measurement.min defaults to 0; max defaults to 1 if omitted.value must fall between min and max.| Pattern | Code Snippet | Result |
|---|---|---|
| Basic gauge | <meter value="0.75"> | |
| 0–100 scale | min="0" max="100" value="75" | |
| With optimum | low high optimum | Color zones |
| Disk usage | value="80" | |
| vs progress | <progress> | Task completion only |
| Fallback text | Between tags | Required for a11y |
<meter> vs <progress>| Tag | Meaning | Best for |
|---|---|---|
<meter> | Scalar gauge in a fixed range | Disk usage, scores, fuel level |
<progress> | Task completion over time | File upload, multi-step forms |
| Color zones | low, high, optimum | meter only |
| Indeterminate | No value yet | progress only |
The <meter> tag supports these key attributes:
min RangeMinimum value of the range. Defaults to 0.
min="0"max RangeMaximum value of the range. Defaults to 1.
max="100"value RequiredCurrent measurement within the defined range.
value="75"low ZoneUpper bound of the “low” range. Below this is considered low.
low="25"high ZoneLower bound of the “high” range. Above this is considered high.
high="75"optimum ZoneIdeal value. Browser colors the gauge green when value is near optimum.
optimum="50"<meter min="0" max="100" value="75">75%</meter>Basic gauges, level indicators, and disk usage patterns with live native meter rendering.
A simple 0–100 gauge at 75%:
Set min, max, and value to render a scalar measurement.
<meter min="0" max="100" value="75"></meter>Use <meter> for gauges and measurements within fixed bounds — completion levels, disk usage, scores, and any scalar value where the min and max are known.
Indicate a level such as 50% completion of a quota or capacity (use <progress> for ongoing task bars).
<meter min="0" max="100" value="50">50%</meter>Represent disk or storage usage with meaningful fallback text for accessibility.
<meter
min="0"
max="100"
value="80"
low="60"
high="90"
optimum="40"
>
80% Disk Space Used
</meter>Browsers style meter natively, but you can adjust width and use pseudo-elements in WebKit/Blink browsers:
width Bar length::-webkit-meter-bar Track background::-webkit-meter-optimum-value Green fill::-moz-meter-bar Firefox fill/* Responsive gauge width */
meter {
width: 100%;
max-width: 320px;
height: 1.25rem;
}
/* WebKit/Blink color zones */
meter::-webkit-meter-optimum-value {
background: #22c55e;
}
meter::-webkit-meter-suboptimum-value {
background: #f59e0b;
}
meter::-webkit-meter-even-less-good-value {
background: #ef4444;
}Styled gauge preview
Make gauges understandable for all users:
80% Disk Space Used inside the tag.<label> or nearby text so sighted users know what is measured.Define min, max, and the current value on the element.
A colored bar shows where value falls between min and max.
low, high, and optimum shift the fill color to green, yellow, or red.
Users see a gauge at a glance; fallback text covers accessibility and older browsers.
The <meter> 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 native meter bars with color zones.
Bottom line: Use <meter> confidently for gauges and scalar measurements in every production environment today.
Mastering the <meter> tag gives you a native HTML way to represent scalar values on your website. Whether showing disk usage, scores, or capacity levels, meter enhances visual appeal and semantic clarity.
Define clear ranges, include accessible fallback text, distinguish meter from progress, and test across browsers for consistent gauge rendering.
min and max valuesmeterlow, high, optimum for color zonesprogress for task completion barsmeter for file download progressvalue outside min/max range<meter>Bookmark these before you add gauges to your pages.
<meter> shows a value in a fixed range.
Three attributes define the gauge bounds.
AttributesGauge ≠ task completion bar.
ComparisonClassic use case for storage gauges.
Use caseInner text helps screen readers.
A11yHTML5 — all modern browsers.
Compatibilitymeter = gauge at a point in time. progress = task completion over time.value. Set min and max for the range. Add low, high, optimum for color zones.80% Disk Space Used improves accessibility.Practice disk usage and level indicators in the Try It editor.
6 people found this page helpful