Skip to content
SEO

Sitemap Generator

Generate an XML sitemap from a list of URLs.

sitemapxmlurlsseo
Loading tool…

Recommended tools

Affiliate links — we may earn a commission if you sign up.

About the Sitemap Generator

The Sitemap Generator turns a plain list of URLs into a standards-compliant XML sitemap you can submit to Google Search Console or Bing Webmaster Tools. Paste one URL per line, choose a change frequency from always down to never, and drag a priority slider between 0 and 1; the tool emits a urlset document with loc, lastmod, changefreq, and priority elements for every valid address. lastmod is stamped automatically with today's date in ISO format, so freshly generated files never look stale to crawlers. URL validation runs live while you type: entries that are not http or https are counted as invalid, listed in an amber warning panel, and excluded from the output, so a single typo cannot poison the entire file. XML escaping handles ampersands and quotes in query strings for you. A Load sample button drops in five example URLs — including one deliberately broken line, so you can see how invalid entries are flagged and ignored — and a Clear button empties the textarea. Because sitemaps are how you invite crawlers to discover deep pages like blog posts and product filters, generating a clean, valid file before submitting is one of the fastest technical SEO wins available, and the output downloads directly as sitemap.xml.

Hand-written guide

Examples

Input
URLs (one per line, from Load sample):
https://example.com/
https://example.com/about
https://example.com/blog
https://example.com/blog/post-1
not-a-url
Change frequency: weekly · Priority: 0.8
Output
<?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-08-17</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://example.com/about</loc>
    <lastmod>2026-08-17</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://example.com/blog</loc>
    <lastmod>2026-08-17</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://example.com/blog/post-1</loc>
    <lastmod>2026-08-17</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
Note: The "not-a-url" line is listed in the amber warning panel and excluded from the output. Stats show 5 total URLs, 4 valid, 1 invalid, and lastmod is stamped with the current date.
Input
URLs:
https://example.com/news
https://example.com/news/today
Change frequency: daily · Priority slider dragged to 1.0
Output
  <url>
    <loc>https://example.com/news</loc>
    <lastmod>2026-08-17</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
Note: The change frequency selector and the priority slider apply the same values to every URL in the list. The Priority stat tile shows 1.0.
Input
URLs:
https://example.com/search?q=coffee&page=2
Change frequency: monthly · Priority: 0.5
Output
  <url>
    <loc>https://example.com/search?q=coffee&amp;page=2</loc>
    <lastmod>2026-08-17</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
Note: The ampersand in the query string is escaped to &amp; automatically, keeping the XML valid. The green banner confirms all URLs are valid and ready.

How to use

  1. 1

    Paste your URLs into the textarea, one per line, or click Load sample to see the tool with example data.

  2. 2

    Check the hint above the textarea — it shows how many URLs are valid and how many are invalid as you type.

  3. 3

    Choose a change frequency from the selector (weekly is the default) and drag the Priority slider between 0 and 1.

  4. 4

    Review the amber panel listing any invalid URLs and fix them so nothing is silently dropped from the sitemap.

  5. 5

    Copy the finished XML from the sitemap.xml result box or download the file and upload it to Google Search Console.

Common use cases

  • New site launches — compile every crawlable URL into a submission-ready sitemap before the first Search Console submit.
  • Blog migrations — export the URL list from the old platform and re-emit a clean sitemap on the new domain.
  • E-commerce catalogs — sitemap out new product pages with daily changefreq while bulk content uses weekly.
  • Staging audits — paste a crawler export and spot-check which URLs fail validation before pushing the sitemap live.
  • Priority experiments — vary the priority slider for landing pages versus blog posts to document internal importance.
  • Agency deliverables — generate the sitemap.xml artifact included with every site handover package.

Technical SEO best practices

  • Only include URLs that return 200 — a sitemap full of redirects and 404s trains crawlers to distrust the file.
  • Keep sitemaps under 50,000 URLs or 50MB uncompressed; split larger sites into multiple sitemaps and a sitemap index.
  • Use weekly as the default changefreq for editorial content and reserve always or hourly for feeds that genuinely change that often.
  • List the canonical form of each URL; including parameterized duplicates weakens the signal about which version matters.
  • Submit the sitemap in Google Search Console after each generation and monitor the indexed-versus-submitted ratio for drop-offs.
  • Set priority deliberately: the values are relative, so marking everything 1.0 gives crawlers no useful information.

Tips

  • Load the sample first to see how invalid URLs are handled before pasting your real list.
  • Re-generate after publishing new posts so lastmod and URL coverage stay current.
  • Keep a plain-text URL inventory in your repo so regenerating the sitemap is a copy-paste task.
  • Compare the file's URL count against your crawler exports to catch pages the sitemap is missing.

Frequently asked questions

lastmod declares when each URL was last modified, helping crawlers decide whether to re-crawl. The generator stamps it automatically with today's date in ISO format (YYYY-MM-DD) for every URL, since it cannot know each page's true edit history. If you need accurate per-URL dates, export them from your CMS and edit the values after generation.

Explore more seo tools

Browse the full collection of seo tools on the hub, or jump back to all categories.

Related tools