👀 Live Preview
An ordered list that begins at 5 instead of 1:
- Fifth step
- Sixth step
- Seventh step
Markers show 5, 6, 7 while the list items themselves contain only the step text.

The start attribute is used with ordered lists (<ol>) to specify the starting value of the list. By default, every ordered list begins numbering at 1. With start, you can begin at any valid integer—useful when continuing a list across sections, matching document chapter numbers, or resuming steps in a tutorial.
This attribute gives you flexible control over list numbering without manually typing numbers into each list item.
Ordered lists.
First marker.
Split sections.
1, a, A, i, I.
ol.start property.
Countdown lists.
startThe primary purpose of the start attribute is to define the starting value of an ordered list. By default, ordered lists start at 1, but start lets you set a different initial number.
This is especially helpful when you combine multiple lists or need a specific sequence for your list items—for example, continuing step 6 after a paragraph break, or aligning list markers with chapter numbers in a long document.
Prefer start on a real <ol> over hard-coding numbers inside <li> text. Screen readers and search engines understand true list structure, and browsers handle the markers for you.
Add start to an <ol> with a valid integer:
<ol start="5">
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
</ol><ol> (not on <ul> or <li>).1.type (1, a, A, i, I) on the same element.reversed attribute for descending order.HTMLOListElement.start.The start attribute accepts an integer that determines where numbering begins. The value represents the number of the first <li> in that list:
start="1" — Default behavior (same as omitting the attribute).start="3" — First item displays as 3, then 4, 5, and so on.start="10" — Useful for continuing a long tutorial or document outline.start="0" or negative values — Valid per HTML; rarely used but supported.<ol start="5">
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
</ol>In this example, the ordered list starts at 5 instead of the default 1. The browser increments the marker for each subsequent <li> automatically.
| Topic | Detail | Example |
|---|---|---|
| Element | <ol> only | Ordered list |
| Value | Valid integer | start="3" |
| Default | 1 | Omit attribute |
| With type | Display format | type="A" start="3" → C |
| JavaScript | ol.start | Dynamic updates |
| reversed | Descending order | reversed start="5" |
| Element | Supported? | Notes |
|---|---|---|
<ol> | Yes | Only element with start |
<ul> | No | Unordered lists use bullets, not numbers |
<li> | No | Set start on the parent ol |
<menu> | No | Use ol for numbered sequences |
start vs manual numbering vs CSS counters| Approach | Pros | Cons |
|---|---|---|
start on ol | Semantic, accessible, simple | Only affects one list element |
Numbers in li text | Quick for one-off cases | Not a real list; bad for a11y/SEO |
CSS counter-reset | Full styling control | More complex; loses native list semantics if misused |
Single long ol | Automatic continuous numbering | Hard to split across layout sections |
Basic start on ol, a full document outline, dynamic JavaScript updates, and continuing numbering across two lists.
An ordered list that begins at 5 instead of 1:
Markers show 5, 6, 7 while the list items themselves contain only the step text.
Set the first marker to 5:
<ol start="5">
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
</ol>The browser renders markers 5, 6, and 7. You do not need to repeat the numbers inside each <li>.
Start a chapter section at step 3:
<ol start="3">
<li>Introduction</li>
<li>Background</li>
<li>Main Content</li>
<li>Conclusion</li>
</ol>In this case, the ordered list starts at 3, so “Introduction” is labeled 3, “Background” is 4, and so on.
Change the starting number at runtime with the start IDL property:
<ol id="dynamicList">
<li>First Item</li>
<li>Second Item</li>
<li>Third Item</li>
</ol>
<script>
document.getElementById("dynamicList").start = 10;
</script>In this script, the start property is set to 10 for the ordered list with id dynamicList. The browser re-renders the markers immediately.
When layout forces you to split one logical list into two ol elements, use start on the second list:
<ol>
<li>Step one</li>
<li>Step two</li>
<li>Step three</li>
</ol>
<p>...content between list sections...</p>
<ol start="4">
<li>Step four</li>
<li>Step five</li>
</ol>The first list ends at 3. The second list sets start="4" so numbering continues seamlessly for readers.
<ol>/<li> so assistive tech announces list length and position.start instead.start matches the previous section so screen reader users hear a coherent sequence.ol can have its own start; test with a screen reader when nesting deeply.reversed, DOM order stays top-to-bottom; only markers count down.Integer on ol.
Default is 1.
Per li item.
Semantic lists.
The start attribute has been supported in all major browsers for many years. It is safe to use in production.
Chrome, Firefox, Safari, and Edge all honor start on ol elements.
Bottom line: Use start confidently for ordered lists in any modern project.
start when you need to customize the starting value of ordered liststype when you need letters or Roman numeralsol when layout allows uninterrupted flow<li> text instead of using startstart to <ul> (it has no effect there)start when inserting new items above a continued liststartThe start attribute is a simple, well-supported tool for controlling the starting value of ordered lists in HTML. By incorporating it, you can enhance the organization and presentation of your content according to your specific requirements.
Whether you are continuing a tutorial across sections, matching chapter numbers, or updating lists dynamically with JavaScript, start keeps numbering semantic and accessible.
startBookmark these when building numbered content.
Ordered lists
ScopeFirst marker
ValueSplit lists
PatternJavaScript
DynamicAll browsers
Supportol ordered list. Default is 1.<ol> element.type controls the marker style; start sets the numeric value of the first marker.element.start = 10 on an HTMLOListElement.ol with start set to one more than the last number of the previous list.Try the outline example and see how start="3" changes the first marker.
5 people found this page helpful