👀 Live Preview
Podium-style list — items read top to bottom, numbers count down:
- Bronze — Team C
- Silver — Team B
- Gold — Team A
Markers show 3, 2, 1 because reversed is on the ol.

The reversed attribute is a boolean attribute on <ol> (ordered lists) that makes list markers count down instead of up. With three items and no start value, markers show 3, 2, 1 while the DOM order of <li> elements stays the same. Use it for rankings (3rd place first), countdown steps, or any descending sequence. Set element.reversed = true in JavaScript to toggle it dynamically. Not the same as the obsolete rev link attribute — see the rev guide for that distinction.
Reverse markers.
Scope.
Values.
Custom base.
JS toggle.
Not links.
reversed AttributeBy default, an ordered list numbers items starting at 1 and increasing: 1, 2, 3, … The reversed attribute flips the marker direction so the first visible item gets the highest number and each following item counts down.
This is useful when the visual reading order should stay top-to-bottom but the numbers should reflect descending rank or sequence — for example, a podium list (gold, silver, bronze) labeled 3, 2, 1, or a “countdown to launch” checklist.
reversed changes how the browser numbers list items. It does not reorder <li> elements in the document. Put items in the order you want readers to see them; let reversed handle the numbers.
Add the boolean reversed attribute to an <ol>:
<ol reversed>
<li>Third place</li>
<li>Second place</li>
<li>First place</li>
</ol>
<!-- Renders as 3, 2, 1 --><ol> — not on <ul> or other elements.start to set the first marker value before counting down.type (1, a, A, i, I) for marker style.olElement.reversed = true or false.<ol> has its own reversed.rev on links.reversed is a boolean attribute — it has no meaningful string values:
reversed or reversed="" or reversed="reversed" — list markers count down.start (default 1).<!-- Three items, no start: 3, 2, 1 -->
<ol reversed>...</ol>
<!-- start="10" reversed: 10, 9, 8 -->
<ol start="10" reversed>...</ol>
<!-- type="A" reversed: C, B, A -->
<ol type="A" reversed>...</ol>| Markup | 3 items, markers | Notes |
|---|---|---|
<ol> | 1, 2, 3 | Default ascending |
<ol reversed> | 3, 2, 1 | Countdown from item count |
<ol start="5" reversed> | 5, 4, 3 | Custom starting number |
ol.reversed = true | Toggle via JS | Boolean DOM property |
<ul reversed> | No effect | Invalid — ol only |
rev="related" | N/A | Different attribute (links) |
| Element | Supports reversed? | Effect |
|---|---|---|
<ol> | Yes | Markers count down |
<ul> | No | Attribute ignored |
<li> | No | Set on parent ol |
<a> / <link> | No | Use rev (obsolete) — not reversed |
ol vs reversed| Aspect | Default <ol> | <ol reversed> |
|---|---|---|
| First marker (3 items) | 1 | 3 |
| Direction | Ascending | Descending |
DOM order of li | Unchanged | Unchanged |
With start="10" | 10, 11, 12 | 10, 9, 8 |
| CSS alternative | list-style defaults | No pure-CSS equivalent for native ol counters |
Basic reversed lists, JavaScript toggling with element.reversed, and combining start with countdown numbering.
Podium-style list — items read top to bottom, numbers count down:
Markers show 3, 2, 1 because reversed is on the ol.
reversed listThree steps displayed in reading order with descending numbers:
<ol reversed>
<li>Third item</li>
<li>Second item</li>
<li>First item</li>
</ol>The browser counts items, then assigns markers from that total downward. Three items without start produce 3, 2, 1.
Toggle countdown numbering with the reversed DOM property:
<ol id="dynamicList">
<li>Step three</li>
<li>Step two</li>
<li>Step one</li>
</ol>
<button id="toggleBtn">Toggle reversed</button>
<script>
const list = document.getElementById("dynamicList");
document.getElementById("toggleBtn").addEventListener("click", () => {
list.reversed = !list.reversed;
});
</script>HTMLOListElement.reversed is a boolean. Assign true to enable countdown markers; false restores ascending order.
start with reversedBegin the countdown from a custom number:
<h2>Launch countdown</h2>
<ol start="10" reversed>
<li>T-minus 10</li>
<li>T-minus 9</li>
<li>T-minus 8</li>
</ol>
<!-- Markers: 10, 9, 8 -->start sets the value of the first marker; reversed makes each subsequent marker decrease by one.
<li> content (e.g. “Gold — Team A” not just “Team A”).li elements in the order users should read them; use reversed for number styling, not as a substitute for reordering confusing content.reversed per ol when sub-lists need their own countdown.reversed as link metadata; it only affects list presentation.DOM order set.
Boolean on ol.
Or use start.
3, 2, 1 …
The reversed attribute is part of HTML5 and works in all modern browsers. No polyfill is needed for standard ordered lists.
reversed on olNative countdown list numbering — no JavaScript required.
ol ExcellentBottom line: Safe to use for descending ordered lists in production.
reversed when descending numbers match your content (rankings, countdowns)start when the first number should not equal the item countli text descriptive so meaning does not depend on marker directionol.reversed when users need ascending/descending viewsreversed on <ul> — it has no effectreversed to reorder DOM nodes — only markers changereversed with obsolete rev on linksThe reversed attribute is a simple way to show descending list markers on <ol> without rearranging your HTML.
Combine it with start and type for flexible countdown and ranking lists, and toggle it in JavaScript with element.reversed when you need dynamic behavior.
reversedBookmark these when building ordered lists.
Ordered lists.
Scope3, 2, 1.
EffectOn or off.
ValueCustom base.
ComboDifferent attr.
Gotchastart display as 3, 2, 1.<li> elements stay in the same DOM order. Only the displayed numbers (markers) reverse.reversed is a boolean on <ol> for list numbering. rev was an obsolete link attribute — completely unrelated.document.getElementById("myList").reversed = true; — the property is a boolean on HTMLOListElement.start sets the first marker; reversed counts down from there. Example: start="10" reversed with three items shows 10, 9, 8.reversed on <ol> as part of HTML5.Add reversed to any ol for descending list numbers — no JavaScript or CSS counters required.
5 people found this page helpful