XML Sitemap Generator
FREE TOOL ยท NO SIGN-UP
This XML sitemap generator turns a list of URLs into a valid sitemap.xml file. Paste your page URLs, one per line, choose whether to include lastmod, changefreq and priority, and click Generate sitemap. The tool removes duplicates, skips invalid lines, counts what made it in, and gives you clean XML to copy or download. It never crawls your site, so you stay in full control of which URLs search engines see.
What an XML Sitemap Tells Search Engines
An XML sitemap is a file that lists the URLs on your site you want search engines to know about. It follows the sitemaps.org protocol, which Google, Bing and other search engines support.
Search engines mainly discover pages by following links. A sitemap adds a second route. It is especially useful when:
- The site is new and has few external links pointing to it.
- The site is large, so crawlers may not reach deep pages quickly.
- Pages are poorly linked internally, including orphan pages with no internal links at all.
- Content changes often, and you want recently changed pages picked up sooner.
A sitemap is a hint, not a command. Listing a URL doesn’t guarantee crawling or indexing. Google still decides based on quality, duplication and its own crawl schedule. What a sitemap does well is make URL discovery reliable and tell search engines which version of each page you consider the main one, so only list canonical URLs you want indexed.
Inside a sitemap.xml File
A sitemap is a short XML document. A minimal example looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-10-27</lastmod>
</url>
</urlset>
The first line declares XML with UTF-8 encoding, which the protocol requires. Everything else sits inside one urlset element.
The urlset, loc and lastmod tags
urlsetwraps the whole file and declares the sitemap namespace.urlis the container for one page.locis the page’s full, absolute URL, includinghttps://. It is the only required tag. Special characters such as&must be escaped as&, which this generator does for you.lastmodis the date the page’s content last changed meaningfully, inYYYY-MM-DDformat.
Google has said it uses lastmod when the dates are consistently accurate. If every URL shows today’s date on every crawl, the signal gets ignored. Only include it when the dates reflect real content changes.
How Google treats changefreq and priority
changefreq (always, hourly, daily, weekly, monthly, yearly, never) and priority (0.0 to 1.0) are optional tags from the original protocol.
Google has stated that it ignores both. Its crawlers decide how often to revisit a page from their own data, and priority values set by site owners have never been a reliable signal. Other search engines may still read them, but none treat them as rules.
That is why this generator lets you leave both out with “Do not include”. If you do add them, use realistic values. Marking every page as daily with priority 1.0 tells crawlers nothing.
How to Build a Sitemap With the XML Sitemap Generator
- Collect your URLs. Export them from your CMS, a crawler, or your analytics. Include only live, indexable, canonical pages that return a 200 status.
- Paste them in. Put one full URL per line in the “Page URLs” box. Each must start with
http://orhttps://. - Set change frequency. Choose a value from always to never, or “Do not include” (recommended for Google).
- Set priority. Pick “Do not include”, a fixed value (1.0, 0.8, 0.6, 0.5 or 0.3), or “Auto (by URL depth)”. Auto gives the homepage 1.0 and lowers the value by 0.2 for each folder level, down to 0.3.
- Set last modified. Choose Today, pick a specific date, or leave it out. The chosen date applies to every URL, so only use it when that date is true for all of them, such as a freshly launched site.
- Generate. Click Generate sitemap. The stats show URLs in the sitemap, duplicates removed and invalid lines skipped, with an example of any bad line so you can fix it.
- Copy or download. Save the file as
sitemap.xmland upload it to your site’s root.
The generator runs 100% in your browser. Your URL list is never uploaded.
Submitting the Sitemap to Google Search Console
Once sitemap.xml is live at a URL like https://yourdomain.com/sitemap.xml, tell search engines about it:
- Google Search Console. Open your property, go to Indexing, then Sitemaps. Enter the sitemap URL and click Submit. The report shows when Google last read it, its status and how many URLs it discovered.
- Bing Webmaster Tools. Use the Sitemaps section to submit the same URL. Bing’s data also feeds some other search engines.
- Robots.txt. Add a line such as
Sitemap: https://yourdomain.com/sitemap.xml. Crawlers that read robots.txt can find it even without a manual submission.
You only need to submit once. Google rereads known sitemaps on its own schedule. If you update the file, keep the same URL. Check the Sitemaps report after a few days for errors like “Couldn’t fetch” or invalid URLs, then use the Page indexing report to see which listed URLs were indexed.
Sitemap Limits and When to Use a Sitemap Index
The protocol sets two hard limits for a single sitemap file:
- 50,000 URLs at most
- 50 MB uncompressed at most
The generator warns you if you paste more than 50,000 URLs. Large websites split their URLs across several sitemaps, often by content type (posts, products, categories) or by date, and then list those files in a sitemap index:
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap><loc>https://example.com/sitemap-posts.xml</loc></sitemap>
<sitemap><loc>https://example.com/sitemap-products.xml</loc></sitemap>
</sitemapindex>
You then submit only the index. Splitting also makes the Search Console reports easier to read, because you can see indexing per section. Sitemaps can be compressed with gzip (sitemap.xml.gz), but the 50 MB limit applies to the uncompressed size.
Which URLs Belong in the Sitemap File
Include:
- Canonical URLs you want indexed
- Pages that return a 200 status code
- The exact version you use everywhere, with the same protocol, www choice and trailing slash
Leave out:
- Redirected URLs (3xx) and broken pages (4xx, 5xx)
- Pages with a
noindextag - Duplicate versions, parameter URLs and paginated filters
- Pages blocked in robots.txt
- Login, cart, checkout and thank-you pages
- Internal search results
Every URL in the sitemap should be one you would happily see in search results. Mixing in redirects and noindexed pages sends conflicting signals and makes the Search Console data harder to trust.
XML Sitemaps Compared With HTML Sitemaps
An XML sitemap is written for search engines. Visitors rarely see it, and it can list thousands of URLs with technical tags.
An HTML sitemap is a normal web page with links to your main sections and pages, written for people. It helps visitors find content and adds internal links that crawlers can follow too.
They solve different problems, so many sites use both. If your site needs one, the HTML Sitemap Generator builds a linked page from a URL list. Sites with many images or videos can also use dedicated formats, such as an image sitemap or video sitemap, to give extra detail about media files.
Sitemap Errors That Block Indexing
- Relative URLs.
<loc>/about/</loc>is invalid. Every URL must be absolute. The generator skips lines that aren’t full URLs. - Wrong protocol or host. Listing
http://URLs on anhttps://site, or www URLs on a non-www site, points to redirects. - Unescaped characters. A raw
&breaks the XML. The tool escapes these automatically. - Noindex or blocked URLs. Listing them creates warnings and mixed signals.
- Fake lastmod dates. Updating every date on every build trains Google to ignore the field.
- Stale sitemaps. Deleted pages left in the file produce errors, while new pages missing from it lose the discovery benefit.
- Server problems. If the sitemap returns a 404, needs a login, or is blocked by robots.txt, Google can’t fetch it.
- Exceeding limits. Over 50,000 URLs or 50 MB needs a sitemap index.
When a Sitemap Will Not Fix Crawling
If pages are discovered but not indexed, a sitemap isn’t the cure. Common causes are thin or duplicate content, weak internal linking, slow servers, or pages Google doesn’t consider useful enough. Improve the pages and link to them from relevant content. A sitemap helps search engines find URLs; it can’t make them want to index those URLs.
Keeping Your Sitemap Accurate Over Time
Regenerate the sitemap whenever you add, remove or move pages, and keep only canonical, indexable URLs in it. Reference it in a file from the Robots.txt Generator, build a page for visitors with the HTML Sitemap Generator, cover media with the Image Sitemap Generator, and explore more on the FHSEO Hub free SEO tools page.
