Paste your URLs and get a valid sitemap.xml with escaped characters, no duplicates and a list of problems. Large lists are split. Nothing is uploaded.
A sitemap generator turns a list of page addresses into a sitemap.xml file that search engines can read, and this one builds it from the URLs you paste, one per line. Each line may also carry a last modified date, a change frequency and a priority, separated by vertical bars: https://example.com/about | 2026-09-30 | monthly | 0.8. The page checks every address, removes duplicates, writes the XML with the required escaping and lists anything it dropped, with the line number, under Problems. It does not crawl your site, so it only lists the pages you give it. The page opens with a sample of six lines so you can see the result first.
The sample has six lines. Line 1 is the home page and line 2 is /about with a date, a frequency and a priority. Line 3 has a query string, https://example.com/blog/hello-world?ref=a&b=c, which is written in the file as ref=a&b=c because an ampersand must be escaped in XML. Line 4 repeats line 2 and is removed as a duplicate. Line 5, /contact, has no https:// in front, so it is dropped as a relative address. Line 6 has a space in it, which is written as %20. The result is a sitemap of 4 URLs, with 2 lines dropped: one duplicate and one relative address.
Google's documentation says it ignores the priority and changefreq values, so the defaults for both are set to Leave out. Other tools may still ask for them, which is why the options exist. Google says it uses the lastmod value if it is consistently and verifiably accurate, and that it should be the date of the last significant update to the page. Setting one default date for every URL is therefore only worth doing when it is true for every page. The sitemap must be UTF-8 and the addresses must be full, with the protocol, such as https://.
The sitemap protocol requires the five characters & < > ' and " to be written as & < > ' and " inside values, and the page does this for you. With percent-encoding on, spaces and characters outside ASCII, such as é, become codes like %20 and %C3%A9, while codes already in the address are kept. The scheme and host are written in lower case, the path is left as you typed it, and a #fragment is removed because it never reaches the server. A sitemap may only list addresses with the same protocol and host, so by default lines on another site are dropped. An address longer than 2,048 characters is dropped.
The protocol allows at most 50,000 URLs and 50 MB uncompressed in one sitemap file. If your list is longer, the page writes sitemap-1.xml, sitemap-2.xml and so on, 50,000 URLs each, and a sitemap-index.xml that lists them. For 50,001 URLs that is two files, with 50,000 and 1 URL, and the index. Type the address where you will upload the files in the hosting box, or leave it empty to use the site of the first URL. Upload all files, then submit only the index. The input is limited to 2,000,000 characters and the result to 5,000,000, so a very large list may have to be done in parts.
Paste the URLs, one per line, and copy the result into a file named sitemap.xml. Upload it to the root of your site, for example https://example.com/sitemap.xml, then submit it in Google Search Console or add a Sitemap line to robots.txt. Lines that are not valid are listed under Problems.
No. Google's documentation says it ignores both values. It does use lastmod if the dates are consistently and verifiably accurate. That is why both defaults start on Leave out, and why a default date is worth setting only when it is true for every URL.
Up to 50,000 URLs and up to 50 MB uncompressed per file. Above that, this page writes several files of at most 50,000 URLs and a sitemap index that lists them. A sitemap index can itself list up to 50,000 sitemaps.
The Problems table gives the line number and the reason. The usual ones are a missing https://, a different host from the first URL, an address over 2,048 characters, or a duplicate. Turn off the same-site option to keep addresses on other hosts, but a search engine may ignore them.
An ampersand is a special character in XML, so a URL such as /search?a=1&b=2 must be written as /search?a=1&b=2 in the file. Search engines read it back as the original address, so do not undo the escaping.
No. The text is processed in your browser and not uploaded. Your list is never saved; only the option settings, such as the default change frequency, are kept on this device.