Free XML Sitemap Generator

Free XML sitemap generator: enter your site's address and we follow its internal links (up to 30 pages, 100 when signed in) to build a ready sitemap.xml. It respects robots.txt, skips noindex pages and non-canonical URLs, adds lastmod only when the page reports a real date, and can include hreflang alternates. Download it as sitemap.xml or sitemap.xml.gz. Pages are read as raw HTML; JavaScript is not executed.

Key facts

Price
Free
Sign-up
Not required
Processing
On our server: we follow the site's internal links and read raw HTML (JavaScript is not executed)
Input
A public website URL; only pages on the same host go into the sitemap
Limits
30 pages without an account, 100 when signed in; the crawl stops after 50 seconds; 5 runs per minute; 10 runs a day as a guest, 30 signed in, unlimited with Pro
Output
sitemap.xml (or .xml.gz) with final URLs after redirects, real lastmod dates and optional hreflang links, plus a list of pages left out and why: robots.txt, noindex, canonical, status code
Last updated

Alternatives

Other tools for the same job, and what each one does well:

  • XML-Sitemaps.com — Online generator: free with no registration for up to 500 pages; sets lastmod from the server response and priority by page depth.
  • Screaming Frog SEO Spider — Desktop crawler that builds an XML sitemap from its crawl; the free version handles up to 500 URLs and a paid annual licence removes the limit.
  • Yoast SEO — WordPress plugin: the sitemap index and child sitemaps update automatically as you add or remove content; post types set to noindex are left out.
  • Rank Math — WordPress plugin: a sitemap at /sitemap_index.xml with per-section settings (posts, pages, taxonomies) and custom URLs you can add.
  • WordPress 5.5+ — No plugin needed: since version 5.5 WordPress serves a sitemap index at /wp-sitemap.xml (up to 2,000 entries per child sitemap).

When to choose this tool: When the site has no built-in sitemap (a landing page, static site or custom CMS), has up to 100 pages and you need the file now — nothing to install, robots.txt, noindex and canonical respected, and no made-up lastmod dates. If you run WordPress or another CMS with a sitemap feature, use that instead: it keeps the sitemap up to date for you.

Descriptions checked against each tool's own site in October 2026.

Free XML sitemap generator

This sitemap generator crawls your site from the home page through its internal links and builds an XML sitemap for Google, Bing and other search engines. Only pages that return 200 on the same host make it in: nothing blocked by robots.txt, nothing with noindex, and no URLs whose canonical points elsewhere. lastmod comes from the page itself or its Last-Modified header rather than being stamped with today's date.

Up to 30 pages without an account, 100 when signed in
Respects robots.txt, noindex and canonical tags
Real lastmod from page meta, JSON-LD or Last-Modified
hreflang alternates in the sitemap (xhtml:link)
Download as sitemap.xml or compressed sitemap.xml.gz
List of excluded pages with the reason

How to Use

  1. Enter your home page URL and click Generate
  2. Review the URL list and the “Left out of the sitemap” table
  3. Toggle lastmod and hreflang, then download the file
  4. Upload sitemap.xml to your site root, reference it in robots.txt and submit it in Search Console

FAQ

Enter your site address above: the generator follows internal links, keeps the indexable pages and builds the file. Download it, upload it to your site root (https://example.com/sitemap.xml), add a Sitemap line to robots.txt and submit it in Google Search Console and Bing Webmaster Tools. No sign-up needed.

One file can hold up to 50,000 URLs and 50 MB uncompressed; beyond that you split it into several files and list them in a sitemap index. Our generator crawls up to 30 pages without an account and 100 when signed in, so it always produces a single file. For sites with hundreds or thousands of pages, use your CMS sitemap feature — it also keeps the file up to date.

We only add a date when the page reports one: article:modified_time or og:updated_time meta, dateModified in JSON-LD, or a Last-Modified header that isn't simply “now”. Google uses lastmod only when it is consistently accurate, so stamping every URL with today's date is worse than leaving it out. Google ignores priority and changefreq, so we don't output them.

Pages blocked by robots.txt (for Googlebot or *), pages with noindex in meta robots or X-Robots-Tag, pages whose canonical points to another URL (we check the canonical one instead), anything that doesn't return 2xx, non-HTML files, and URLs that redirect to another host. Each is listed under the sitemap with its reason. Links that only appear after JavaScript runs are not discovered.

Google accepts hreflang in the HTML, in HTTP headers or in the sitemap — one method is enough. If your pages already have link rel="alternate" hreflang tags, the generator copies them into the sitemap as xhtml:link entries; switch the option off if you don't want them duplicated. Use the hreflang validator to check the pairs.

How to create a sitemap.xml in five minutes

  1. Generate the sitemap. Enter your home page URL above. The generator loads it, collects the internal links and keeps following them until it has 30 pages (100 when signed in) or 50 seconds have passed.
  2. Check what made it in. Under the XML you get the URL list and a “Left out of the sitemap” table with the reason for each page. If an important page is in that table, fix the cause on your site (a stray noindex, for example) and run the generator again.
  3. Download the file as plain sitemap.xml or compressed sitemap.xml.gz — search engines accept both.
  4. Upload it to your site root so it opens at https://example.com/sitemap.xml. A sitemap only covers URLs in its own folder and below, so the root is the safe choice.
  5. Tell search engines. Add Sitemap: https://example.com/sitemap.xml to robots.txt (the robots.txt generator writes that line for you) and submit the sitemap in Google Search Console (Sitemaps) and Bing Webmaster Tools.
  6. Verify the result with the sitemap analyzer: URL count, XML validity and lastmod coverage.

What the generator handles for you

Common sitemap problemWhat the generator does
Redirecting URLs in the sitemapWrites the final URL after every redirect. If a redirect leads to another host, the page is excluded.
URLs blocked by robots.txtReads your robots.txt and never requests blocked URLs, using the Googlebot group if there is one and the * group otherwise.
“Submitted URL marked noindex”Checks meta robots and the X-Robots-Tag header; noindex pages stay out of the sitemap, though their links are still followed.
Non-canonical duplicatesIf rel="canonical" points elsewhere, the canonical URL goes into the sitemap (once it has been checked) instead of the current page.
lastmod = today on every URLAdds a date only when the page itself provides one: article:modified_time, og:updated_time, dateModified in JSON-LD, or a Last-Modified header that isn't just the current time. No date, no tag.
UTM tags and junk parametersStrips utm_*, gclid, fbclid and similar parameters, and skips ?replytocom= and ?add-to-cart= links, images, PDFs, archives and other files.

Multilingual sites: hreflang in the sitemap

If your pages carry <link rel="alternate" hreflang="…" href="…"> tags, the generator copies them into the sitemap as xhtml:link entries, so Google gets every language pairing from one file. Google accepts hreflang in the HTML, in HTTP headers or in the sitemap, and one method is enough — you can switch the option off. Remember that each language version must reference all the others and itself; the hreflang validator checks that.

Limits — and when to use something else

  • Up to 100 pages. That covers small sites, landing pages and custom-built projects. A store or blog with hundreds of pages should use its CMS: WordPress has served /wp-sitemap.xml out of the box since version 5.5, and Yoast SEO and Rank Math generate /sitemap_index.xml and update it every time you publish.
  • Links in the HTML only. JavaScript is not executed, so pages linked only from a script-rendered menu or catalog won't be found — a good hint to check whether Googlebot finds them.
  • A snapshot in time. When you add pages, regenerate the sitemap or switch to a CMS sitemap that updates itself.
  • Orphan pages can't be discovered. A crawl can't reach pages with no internal links pointing at them. Add those to the sitemap by hand and link to them — a sitemap is no substitute for internal linking.

Sample output

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/blog/post/</loc>
    <lastmod>2026-10-01</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/blog/post/"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/blog/post/"/>
  </url>
</urlset>

There are no priority or changefreq tags on purpose: Google ignores them. Once the sitemap is live, watch the Pages report in Search Console to see which submitted URLs get indexed. If pages stay unindexed, run them through the index checker and check your internal links with the broken link checker.

Improve search rankings

SEO problems may be costing you traffic. Cascade link building will improve site visibility in search.

Cascade link promotion for your site $30 bonusBacklinks 5→50→5000 across 100+ platforms. From $30 to start, plus a $30 bonus for newcomers.