XML Sitemap Generator
Create a valid sitemap.xml from a list of URLs, or let the tool crawl your website for you. Clean up the URLs, set dates, split big sites into several files with an index, and download the result ready to upload.
- Crawl up to 100 pages or paste a list
- Splits at 50,000 URLs with a sitemap index
- Download as .xml or .xml.gz
Have a spreadsheet? Use the CSV-to-Sitemap Converter.
Paste a URL list or crawl your website
Choose the method that fits your site. Both produce the same clean file.
Paste a URL list
Best when you already know your URLs: from a CMS export, a database, analytics or a spreadsheet. Paste them one per line and the tool cleans and formats them.
Crawl your website
Best for small and medium sites. The crawler follows internal links from your start page, respects robots.txt and skips noindex and non-canonical pages. Crawling is capped at 100 pages to stay fair to everyone.
What to include and what to leave out
A sitemap should be a list of the pages you want in search results, not every URL that exists.
Include
Canonical, indexable pages that return 200: your home page, main sections, products, articles and landing pages.
Leave out
Redirected URLs, 404s, noindex pages, pages blocked by robots.txt, duplicate versions and parameter URLs.
Use lastmod honestly
Set it to when the page really changed. If you can't keep it accurate, leave it out.
Use full URLs
Every URL must be absolute, use the same protocol and host as the sitemap, and match the canonical version exactly.
Split at the limits
A file may hold 50,000 URLs and 50 MB. The tool splits larger sets and writes a sitemap index for you.
List it in robots.txt
Add a Sitemap line to robots.txt so every crawler can find the file without a separate submission.
Sitemap limits and requirements at a glance
The sitemaps.org protocol and Google set a few hard limits. The generator keeps your file within all of them.
| Rule | Limit or requirement |
|---|---|
| URLs per sitemap file | 50,000 maximum |
| File size | 50 MB uncompressed maximum (the tool also supports .gz) |
| Sitemaps per index | 50,000 maximum, and an index can't list other indexes |
| Encoding | UTF-8, with special characters such as & written as entities |
| URLs | Absolute, under 2,048 characters, same host and protocol as the sitemap |
| Where it lives | Usually the site root, such as https://example.com/sitemap.xml |
| What Google reads | loc and an accurate lastmod. Google ignores priority and changefreq |
How to publish and submit your sitemap
Four steps get your new sitemap in front of search engines.
Upload the file
Put sitemap.xml in the root of your site, so it opens at https://yoursite.com/sitemap.xml.
Add it to robots.txt
Add the line shown after you generate, so every crawler finds it.
Submit in Search Console
In Google Search Console, open Sitemaps, enter the sitemap address and submit. Do the same in Bing Webmaster Tools.
Validate it
Run the file through the XML Sitemap Validator to catch redirects, errors and blocked URLs.
What an XML sitemap generator does and when you need a sitemap
An XML sitemap is a file that lists the URLs on your site you want search engines to know about, optionally with the date each page last changed. A generator builds that file for you, either from a list you paste or by crawling your site, so you do not have to write the XML by hand or escape special characters yourself.
A sitemap is a hint, not a command. Google says a sitemap helps it discover URLs but does not guarantee that every item will be crawled or indexed. Google's sitemaps overview also notes that a small, well-linked site of about 500 pages or fewer may not need one, while large, new or media-heavy sites benefit most.
What you put inside matters more than having the file. List canonical, indexable pages that return a 200 status. Leave out redirects, errors and noindex pages. The format itself is defined by the sitemaps.org protocol, and Google's build a sitemap guide covers what it reads.
When to generate a new XML sitemap
Build a sitemap whenever your CMS does not produce a good one or your set of URLs has changed.
A new site with few links in
Pages that nothing links to are hard for crawlers to find. A sitemap, submitted in Search Console, gives Google a list to start from while the site earns its first links.
A static or custom-built site
Hand-built sites and static site generators often have no sitemap at all. Paste your URL list, generate the file and add it to the site's root folder.
After a redesign or migration
Create a fresh sitemap that lists only the new, final URLs. Submit it so Google can see the new structure, and keep old redirected URLs out of it.
A large catalogue or archive
A single file holds up to 50,000 URLs. For bigger stores or publishers, the tool splits the list into several files and writes a sitemap index that points to them.
Surfacing images
Turn on the image option when you crawl, and the tool adds the images it finds on each page. This can help image-heavy pages such as galleries or product listings.
Replacing a bloated plugin sitemap
Some plugins list every tag, author and parameter URL. Generate a clean file from the pages you actually want indexed and compare it with what you have.
Sitemap mistakes and how to fix them
A sitemap should be a short list of the pages you stand behind. Most problems come from letting it become a list of everything.
Listing redirected, 404 or noindex URLs
What goes wrong: A sitemap that includes pages that redirect, return errors or tell Google not to index them sends mixed signals and can make the file look unreliable.
The fix: Include only canonical, indexable URLs with a 200 status. Run the finished file through a validator to catch the rest.
Setting lastmod to today for every URL
What goes wrong: Google uses lastmod only when it is consistently and verifiably accurate. A date that changes on every build trains Google to ignore it.
The fix: Set lastmod to the date the main content, structured data or links really changed, not for a copyright year or a template tweak. If you cannot keep it accurate, leave it out.
Spending time on priority and changefreq
What goes wrong: Many generators still push priority and changefreq. Google ignores both, so effort spent tuning them does nothing for Google.
The fix: Leave them out or set them without worry. Put your effort into the URL list and an honest lastmod.
Mixing hosts, protocols or non-canonical URLs
What goes wrong: A sitemap on https://example.com that lists http:// or www URLs, or parameter versions of a page, conflicts with your canonical tags.
The fix: Use full absolute URLs with the same protocol and host as the sitemap, and copy the canonical form of each page.
Putting the file where it cannot cover your URLs
What goes wrong: Unless submitted through Search Console, a sitemap only affects URLs in its own directory and below. A file in a subfolder cannot cover the rest of the site.
The fix: Place sitemap.xml at the site root and add a Sitemap: line to robots.txt so every crawler can find it.
Generating once and never updating
What goes wrong: A static sitemap from last year lists deleted pages and misses new ones, which is worse than useful for a site that changes.
The fix: Regenerate after significant changes, or have your CMS build it automatically. Re-run a check after each large content change.
XML sitemap terms explained
- XML sitemap
- An XML file that lists URLs for search engines. Google also accepts RSS and Atom feeds and plain-text sitemaps, but XML is the most flexible because it supports extensions.
<loc>- The tag that holds a page's full URL, including the protocol. It is the only required tag inside each
<url>entry, and the protocol sets a limit of 2,048 characters. <lastmod>- The optional date a page last changed, in W3C datetime format such as
2026-10-14. Google uses it only when it proves reliable over time. - Sitemap index
- A file that lists other sitemap files. Use it when you pass 50,000 URLs or 50 MB in one file. Submit the index instead of each child file.
- Canonical URL
- The preferred version of a page that you want shown in search. Sitemaps should list this version, not duplicates or parameter variants.
- Sitemap directive
- A
Sitemap:line in robots.txt with the full URL of your sitemap, so any crawler can find it without a separate submission. - Image sitemap entry
- An
image:imageblock inside a<url>entry, with animage:loc. Google allows up to 1,000 images per page URL. - Gzip sitemap
- A sitemap compressed to
.xml.gzto save bandwidth. The 50 MB limit applies to the uncompressed size.
Related tools, guides and services
Build the file here, then check it, reference it and fix the pages behind it.
XML Sitemap Validator
Check the finished file for syntax errors, bad dates, redirects and blocked URLs.
ToolRobots.txt Generator
Create the robots.txt file that lists your sitemap for every crawler.
ToolCSV to Sitemap Converter
Build a sitemap from a spreadsheet export instead of a crawl.
GuidePages not indexed? Causes and fixes
What to do when pages in your sitemap are not showing in Google.
GuideRedesign SEO migration checklist
Where a new sitemap fits into a redesign launch and what to check afterwards.
ServiceTechnical SEO service
Get sitemaps, crawling and indexing set up properly for a larger site.
Built by
Madhav Kushwaha
SEO, AEO, GEO & Digital Marketing Consultant in Kathmandu, Nepal, and trainer at ODcrU Academy and TechAxis Institute. I built this generator because most free sitemap tools either cap you at 500 pages or bury the output in ads. This one follows the sitemaps.org protocol and Google's guidance, and it won't put redirected, blocked or noindex pages in your file.
XML Sitemap Generator: Frequently Asked Questions
More free SEO tools
Crawling and indexing are connected: use these tools together to keep search engines pointed at the right pages.