What this tool does
The sitemap generator turns a plain list of URLs into a valid sitemap.xml following the sitemaps.org protocol. Paste one URL per line and the XML appears as you type, with each address percent-encoded, XML-escaped, stripped of its #fragment and listed only once. Relative paths like /pricing are resolved against the base URL you set, or against the first full URL in the list.
Global settings add a <lastmod> date (today or a date you pick), a <changefreq> and a <priority> to every entry. Priority can also be set automatically from path depth: 1.0 for the home page, 0.8 one level down, 0.6 two levels down and 0.4 below that. Switch the type to Sitemap index to list several sitemap files instead of pages.
The Validate & format mode checks an existing sitemap or sitemap index: well-formed XML, the root element and namespace, a full http(s) <loc> in every entry, W3C dates in <lastmod>, allowed <changefreq> words, priorities from 0.0 to 1.0, and the 50,000-entry limit. Errors name the entry and jump to the line. A valid file comes back indented or minified, with comments and extension tags such as image:image kept.
How to use it
- Paste your URLs, one per line. Lines starting with
#are ignored. - Optionally follow a URL with its own values, separated by spaces: a date, a change frequency and a priority, in any order. These override the global settings for that line.
- Pick defaults for last modified, change frequency and priority, and turn on sorting if you want the URLs in alphabetical order.
- Download the result as
sitemap.xmland upload it to your site.
To check a sitemap you already have, switch to Validate & format and paste the XML.
Example
This input mixes plain URLs, per-line values and relative paths:
https://example.com/
https://example.com/blog/ 2024-05-01 daily
https://example.com/docs/getting-started weekly 0.9
/pricing
It produces:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
</url>
<url>
<loc>https://example.com/blog/</loc>
<lastmod>2024-05-01</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://example.com/docs/getting-started</loc>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://example.com/pricing</loc>
</url>
</urlset>
Tips
- List only canonical URLs that return 200: no redirects, no
noindexpages and no duplicates with tracking parameters. - All URLs in a sitemap should normally be on the same host as the sitemap file, unless you submit it through robots.txt for each host.
- Dates may be
YYYY-MM-DDor a full timestamp with a time zone, such as2024-05-01T09:30:00+00:00. - Large sitemaps can be served gzip-compressed as
sitemap.xml.gz; the limits apply to the uncompressed file.
FAQ
› Do I need lastmod, changefreq and priority?
Only loc is required. Google uses lastmod when it is consistently accurate and ignores changefreq and priority; Bing and some other engines still read them. Set lastmod to the date the page content really changed rather than the date you generated the file.
› How many URLs can one sitemap hold?
Up to 50,000 URLs and 50 MB uncompressed. For a bigger site, split the URLs into several sitemaps and list those files in a sitemap index, which this tool can also build.
› Is my URL list uploaded anywhere?
No. The sitemap is built and validated entirely in your browser, and the tool never fetches your URLs. Use the Download button to save sitemap.xml.
› How do I tell search engines about my sitemap?
Upload sitemap.xml to your site (usually the root), add a line such as Sitemap: https://example.com/sitemap.xml to robots.txt, and submit the URL in Google Search Console and Bing Webmaster Tools.