Turn a URL list or pasted HTML into a valid XML sitemap: removes duplicates, rejects other hosts, escapes URLs and splits past 50,000. Ready to download.
A sitemap does not make Google rank a page, but it tells the crawler which addresses exist, and on a new or rarely linked site that decides how quickly they are found. The file itself is simple XML. The trouble is the details: an unescaped & in a query string breaks the whole file, a stray link to another domain gets ignored, and the same page listed twice wastes the crawler's time.
Paste your page addresses, one per line, or paste the HTML of a page that links to them, such as your navigation or footer, and every <a href> is used. Paths like /about are resolved against the base URL. Duplicates and #fragments are removed, other hosts and mailto: links are left out with a reason, and the result is a sitemap you can download or copy. The tool runs in your browser and cannot crawl a site, so the list you give it is the list you get.
The page opens with nine lines for https://www.northwind-bakery.example: paths like /menu/sourdough, /menu listed twice, /menu/croissants#prices, one full address on the same site and https://instagram.com/northwindbakery. The summary reads “7 URLs in the sitemap · 1 duplicate removed · 1 #fragment dropped · 1 left out”, and the left-out entry says “different host (instagram.com); a sitemap lists one host's pages”. Below the XML is the line to add to robots.txt: Sitemap: https://www.northwind-bakery.example/sitemap.xml.
Press Load Sample for a pasted navigation menu, where a gallery?year=2026&medium=stoneware link comes out correctly escaped as &. Press it again for a shop whose /products/regnjakke-blå path is written as regnjakke-bl%C3%A5, the percent-encoded form sitemaps require.
sitemap.xsd and siteindex.xsd while the tool was built.sitemap-1.xml, sitemap-2.xml and so on, plus sitemap-index.xml, which is the one you submit. 60,001 URLs become two sitemaps of 50,000 and 10,001.lastmod when it is accurate and ignores the other two, so leaving them out is fine.www.example.com returns “Base URL "www.example.com" is not a full address. Start it with https://, e.g. https://www.example.com.”Paths like /about are resolved against it, and links to other hosts are left out.
Tags for every URL (all optional)
Google reads lastmod when it is accurate and ignores changefreq and priority; Bing and others may still use them. Only set a last-modified date that is true for every page listed.
7 URLs in the sitemap · 1 duplicate removed · 1 #fragment dropped · 1 left out
https://instagram.com/northwindbakery — different host (instagram.com); a sitemap lists one host's pages<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.northwind-bakery.example/</loc>
</url>
<url>
<loc>https://www.northwind-bakery.example/menu</loc>
</url>
<url>
<loc>https://www.northwind-bakery.example/menu/sourdough</loc>
</url>
<url>
<loc>https://www.northwind-bakery.example/menu/croissants</loc>
</url>
<url>
<loc>https://www.northwind-bakery.example/about</loc>
</url>
<url>
<loc>https://www.northwind-bakery.example/contact</loc>
</url>
<url>
<loc>https://www.northwind-bakery.example/blog/how-we-proof-dough</loc>
</url>
</urlset>
Add this line to robots.txt
Sitemap: https://www.northwind-bakery.example/sitemap.xmlUpload the file to your site root, then submit its address in Google Search Console under Sitemaps.