Sitemap generator

Paste one URL per line and copy a ready sitemap.xml. The tool normalises the URLs, drops repeats and fragments, escapes special characters for XML and keeps only the first URL's site. It does not crawl anything: it formats the list you give it.

4 URLs in the sitemap · 1 duplicates removed · 1 lines skipped (invalid or another site)

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Paste your URLs, one per line. A date can follow a URL after a space.
  2. Choose whether to keep only the first URL’s site, and set optional lastmod, changefreq and priority for every URL.
  3. Copy the XML into a file named sitemap.xml and upload it to your site’s root, then submit it in Google Search Console and Bing Webmaster Tools or add a Sitemap: line to robots.txt.

What the tool does to your list

  • Parses each address with the browser’s URL parser, so the host is lowercased and non-ASCII characters are percent-encoded.
  • Removes the #fragment, which is never part of a sitemap URL, and removes repeated URLs.
  • Escapes &, <, >, " and ' in the XML, so ?x=1&y=2 is written as ?x=1&amp;y=2.
  • With “Keep only the first URL’s site”, skips URLs whose scheme, host or port differs, because a sitemap may only list URLs of the site it is served from.

Example

The sample list has six lines. The result keeps four URLs: the repeated blog post is counted as one duplicate, the other-site.com line is skipped, and the search URL loses its #results fragment and gets &amp; in the XML.

Tips

  • List only canonical, indexable pages that return status 200; leave out redirects, noindex pages and URLs blocked by robots.txt.
  • Keep lastmod honest: set it only when the page content really changed.
  • Remember the limits: 50,000 URLs and 50 MB per file.

Frequently asked questions

Does this tool crawl my website?

No. It only formats the URLs you paste. To get the list, export it from your CMS, your analytics, or a crawler of your choice, then paste it here.

Why were some of my lines skipped?

A line is skipped when it is not a full http or https address, when it has extra text that is not a date, when it is longer than 2,048 characters, or, with the option on, when it belongs to a different site than the first URL.

Does Google use priority and changefreq?

Google has said it ignores the priority and changefreq values, and it uses lastmod only if it is consistently accurate. They are optional in the protocol, so leave them unset unless another search engine needs them.

How do I add a lastmod date for a single page?

Write the date after the URL on the same line, as YYYY-MM-DD or a full date and time such as 2026-10-01T09:30:00+00:00. Lines without a date use the Last modified option.

What if I have more than 50,000 URLs?

A single sitemap file may hold at most 50,000 URLs and 50 MB uncompressed. Split the list into several files and publish a sitemap index that points to them.

More in Developer

All tools in this category: Developer ·Updated November 3, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.