Sitemap Limits: 50,000 URLs and 50 MB, and How to Split a Big Sitemap
Short answer: one sitemap file can list at most 50,000 URLs and be at most 50 MB uncompressed, whichever comes first. Google, Bing and the sitemaps.org protocol all use these limits. For a bigger site, split the URLs into several sitemaps and list them in a sitemap index. An index holds up to 50,000 sitemaps.
All the limits in one place
| Limit | Value | Source |
|---|---|---|
| URLs per sitemap | 50,000 | sitemaps.org, Google, Bing |
| Size per sitemap | 50 MB uncompressed (52,428,800 bytes) | sitemaps.org, Google |
| Sitemaps per index file | 50,000 | sitemaps.org, Google, Bing |
| Index files per site in Search Console | 500 | |
| URL length | under 2,048 characters | sitemaps.org |
Gzip is allowed (sitemap.xml.gz), and it saves bandwidth. It doesn’t raise the limit: the 50 MB counts the file after it is uncompressed.
The errors you see when you go over
Search Console’s Sitemaps report names each case:
- Too many URLs: “Your sitemap lists more than 50,000 URLs.”
- Sitemap file size error: “Your sitemap is larger than 50MB when uncompressed.”
- Too many sitemaps: your index lists more than 50,000 sitemaps.
- Compression error: Google couldn’t uncompress a gzipped sitemap. Check that the file really is gzip and isn’t compressed twice by your server.
The fix for the first three is the same: split the file.
How to split a large sitemap
- Group the URLs. Split by section (posts, products, categories) or by ID range for very large sections (
products-1.xml,products-2.xml). Keep each file under 50,000 URLs with room to grow. - Write a sitemap index that lists every file:
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap><loc>https://example.com/sitemap-posts.xml</loc></sitemap> <sitemap><loc>https://example.com/sitemap-products-1.xml</loc></sitemap> <sitemap><loc>https://example.com/sitemap-products-2.xml</loc></sitemap> </sitemapindex>
- Put the index at your site root, reference it in robots.txt, and submit only the index in Search Console and Bing Webmaster Tools.
- Check every child file returns 200 and valid XML.
Most platforms already do this. WordPress, Yoast SEO, Rank Math and Shopify serve an index with child sitemaps, and Next.js can split one with generateSitemaps. More detail in our sitemap index guide.
Before you split: is every URL worth listing?
A sitemap near the limit is often full of URLs that shouldn’t be there: filter and sort parameters, tag pages, redirects, or deleted pages. Google’s guidance is to include the URLs you want to see in search results. Removing the rest can bring a sitemap back under the limit and makes your Search Console numbers mean something. See 404 and 5xx URLs in a sitemap and noindex URLs in a sitemap.
Count your URLs and file size
# number of URLs curl -s https://example.com/sitemap.xml | grep -o '<loc>' | wc -l # uncompressed size in bytes (limit: 52428800) curl -s --compressed https://example.com/sitemap.xml | wc -c
The free sitemap checker reads a sitemap or index (up to five sitemap files) and tests 30 of the URLs live for errors, redirects, noindex and canonical problems.
Frequently asked questions
What is the maximum number of URLs in a sitemap?
50,000 per sitemap file. Google, Bing and the sitemaps.org protocol all use the same limit.
What is the maximum sitemap file size?
50 MB uncompressed (52,428,800 bytes). You can gzip the file, but the limit counts the uncompressed size.
What happens if my sitemap is too big?
Search Console shows an error on the sitemap: "Too many URLs" above 50,000 URLs, or "Sitemap file size error" above 50 MB uncompressed. Split it into several sitemaps listed in a sitemap index.
How many URLs can a sitemap index cover?
An index lists up to 50,000 sitemaps, each with up to 50,000 URLs. Bing’s 2025 post puts that at up to 2.5 billion URLs per index. In Search Console you can submit up to 500 index files per site.
Should I split my sitemap before I hit the limit?
It can help. Smaller sitemaps per section (posts, products, categories) give you separate numbers in Search Console and are faster to rebuild. There is no ranking benefit from splitting by itself.