Import items from a list article (reads its H2 headings, or H3 if there are fewer than three, with any link, anchor, first image and first paragraph)
Import existing JSON-LD(paste code or read it from a URL)
Paste existing ItemList JSON-LD to load its items, order and carousel type.
List details
List items· auto-numbered (0 valid)
- Add at least one item.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ItemList"
}
</script>How to use
Import or add items
Paste a list article URL and press Import items to read its headings, or press Add item and fill name, URL, description and image. Reorder with the up and down arrows.
Set type, layout and order
Give the list a title and page URL. For a carousel, choose the item type and Summary page or All-in-one page, and pick the list order if it matters.
Preview and copy
Check the numbered preview against your page, clear the warnings in the Validation panel, then press Copy script and test the block with Test in Google Rich Results Test.
Why ItemList Schema Generator
- Imports items from a list article, pasted lines or existing JSON-LD.
- Summary and all-in-one layouts for carousel item types.
- Numbers positions, counts items and flags duplicate URLs.
- Preview of the list and JSON-LD or microdata output.
Summary page or all-in-one page: which layout
Google's carousel documentation describes two ways to mark up a list, and the choice depends on where the details of each item live.
Use Summary page when the list links out. A roundup of ten recipes where each recipe has its own page is a summary page: the ItemList on the roundup holds ten ListItems with a position and url, and each recipe page carries its own full Recipe markup.
Use All-in-one page when everything is on one URL. A single article that shows all ten recipes in full is an all-in-one page: each ListItem holds the complete Recipe, and each item's url is an anchor to its section on that page.
| Summary page | All-in-one page | |
|---|---|---|
| Where item details live | On separate detail pages | On this page |
| ListItem contains | position, url | position, item with @type, name, url, image |
| Item url | The detail page | An anchor on this page |
| Detail pages need their own markup | Yes | No |
Example: a ranked list of hiking boots
A review site publishes Top 5 hiking boots, with a full review page for each boot. Import items from the article to get five headings with links, keep the plain item type (Product is not a carousel type), set List order to Ascending and the page URL.
The output is an ItemList with name, url, itemListOrder ItemListOrderAscending, numberOfItems 5 and five ListItems holding position, name, url, description and image. Reorder with the arrows if the published ranking changes, and the positions renumber themselves.
If the boots were described in full on the list page instead, with no separate reviews, each item URL would be an anchor such as #boot-3 on the same page. Because Product is not a carousel type, the plain item type stays the right choice either way.
Common questions
Does ItemList schema get my page into a Google carousel?
What is the difference between a summary page and an all-in-one page?
How does the ItemList generator import items from a URL?
What is itemListOrder in ItemList schema?
Should ItemList positions match the order on my page?
What should the URL be for each ItemList item?
How many items does ItemList markup need?
Can I still use HowToSection for step lists?
Can I paste a list into the ItemList generator?
More Schema tools
View allAutomatic Schema Markup Generator
Crawl your site, auto-detect + generate JSON-LD for every page
Schema Markup Generator
JSON-LD or microdata for 10 types, plus a validator
FAQ Schema Generator
Build FAQPage JSON-LD by hand, paste or URL import
Article Schema Generator
Build Article, BlogPosting or NewsArticle JSON-LD