UtilityToolsLab

© 2026 UtilityToolsLab. Built and maintained by the UtilityToolsLab Team.

About·Changelog·Privacy Policy·Terms of Service·Contact
HomeOn-Page SEOSitemap Generator

Related Tools

Hreflang GeneratorSERP PreviewMeta Tag Generatorrobots.txt GeneratorKeyword PermutationsOG Tag GeneratorTwitter Card Tags

XML Sitemap Generator — Free, Instant

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.

You Might Also Like

All On-Page SEO

Hreflang Generator

Build hreflang tags for every language version of a page as HTML, an HTTP header or sitemap XML, and catch invalid codes like en-UK before they ship.

SERP Preview

Preview how a title and description will look in Google search results, with real pixel-width truncation, not just a character count. 100% client-side.

Meta Tag Generator

Generate title, description, canonical, robots, Open Graph, and Twitter Card meta tags in one place. Copy the HTML and paste into your page head.

robots.txt Generator

Build a valid robots.txt file from Allow/Disallow rule groups, crawl-delay and sitemap URLs. Multiple user-agents supported. Copy and paste, entirely offline.

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.

Worked Example: A Bakery Site with Nine Lines

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&amp;medium=stoneware link comes out correctly escaped as &amp;. Press it again for a shop whose /products/regnjakke-blå path is written as regnjakke-bl%C3%A5, the percent-encoded form sitemaps require.

Format Notes: What Goes in the File

  • Schema: sitemaps.org 0.9, UTF-8. Output was validated against the official sitemap.xsd and siteindex.xsd while the tool was built.
  • One file holds up to 50,000 URLs and 50 MB. Past either limit the list is split into 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, changefreq, priority are optional and apply to every URL. Google uses lastmod when it is accurate and ignores the other two, so leaving them out is fine.
  • A URL must be under 2,048 characters, and an empty list is refused with “No valid URLs left to put in a sitemap.”, because a sitemap with no URLs is invalid XML for the schema.

Limits of a Paste-In Sitemap

  • No crawling: a web page cannot fetch another site's pages, so pages you do not list or link to are not included. A site with a CMS usually has a plugin that keeps a sitemap up to date for you.
  • One date for all: the last-modified option applies to every URL. If pages changed on different days, leave it out rather than claim a date that is not true.
  • No image, video or news extensions: the file is a plain URL sitemap.
  • The base URL must be a full address; 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

Why one entry was left out
  • https://instagram.com/northwindbakery — different host (instagram.com); a sitemap lists one host's pages
sitemap.xml668 B
<?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.xml

Upload the file to your site root, then submit its address in Google Search Console under Sitemaps.