XML Sitemap Generator

Paste your URLs and download a valid XML sitemap with priorities, change frequency and last-modified dates.

🔒 100% private — files are processed on your device and never uploaded to any server.

Hand search engines a map instead of making them wander

Crawlers discover pages by following links, which works — eventually, mostly. Pages buried three clicks deep, new sections nothing links to yet, small sites with thin internal linking: these can wait weeks for discovery. An XML sitemap short-circuits the wandering: a machine-readable list of every URL you want indexed, submitted directly to Google and Bing. This generator turns a pasted list of URLs into a standards-perfect sitemap file, with the metadata fields filled in correctly.

How to generate a sitemap

  1. Paste your URLs into the box, one per line — full addresses including https://.
  2. Choose a change frequency and priority (sensible defaults are pre-selected).
  3. Optionally include today's date as lastmod.
  4. Download sitemap.xml, upload it to your site root, and submit it in Google Search Console.

What the metadata actually does (honest version)

lastmod is the field search engines genuinely use — an accurate last-modified date helps them prioritise re-crawling changed content. changefreq and priority are polite suggestions that Google has publicly said it largely ignores; include them (they cost nothing and other systems read them), but don't agonise: homepage 1.0, sections 0.8, leaf pages 0.6 is plenty of thought. What matters far more is which URLs you list — only canonical, indexable, 200-OK pages. A sitemap full of redirects and noindexed pages erodes crawler trust in the whole file.

Building your URL list

  • Small site: walk your own menu — home, sections, every real content page. Twenty lines, two minutes.
  • One protocol, one host: all https://, all the same www/non-www choice, matching your canonical tags.
  • Skip the junk: no search-results pages, tag archives you've noindexed, or parameter variants.
  • Size limits (50,000 URLs / 50 MB per file) are irrelevant until you're huge; one file is fine.

Submitting and verifying

Upload the file to your root (yoursite.com/sitemap.xml), reference it from robots.txt (Sitemap: https://yoursite.com/sitemap.xml — our Robots.txt Generator has a field for this), then submit the URL in Google Search Console → Sitemaps. Search Console reports how many listed URLs were discovered and indexed — your first feedback loop on indexing health. WordPress note: if this site's ToolNest plugin is active, a live sitemap already auto-generates at /sitemap.xml; this tool is for your other projects, static sites and hand-built pages.

Paste, download, submit — and your newest pages stop waiting for a crawler to stumble across them.

Quick reference

PropertyDetail
InputURL list, one per line (https:// required)
OutputValid sitemap.xml (protocol 0.9)
Fieldsloc, lastmod, changefreq, priority
Limits50,000 URLs / 50 MB per file (sitemap standard)
InstallUpload to site root + robots.txt line
Submit atGoogle Search Console → Sitemaps
CostFree

Frequently asked questions

Do priority and changefreq actually affect my rankings?

Google has stated it mostly ignores both; lastmod is the field it trusts when accurate. Include the defaults without overthinking — the real ranking lever is listing clean, canonical, indexable URLs only.

Which URLs should I leave out?

Anything you wouldn't want as a Google landing page: internal search results, noindexed pages, redirect URLs, parameter duplicates, thank-you pages. A lean truthful sitemap beats an exhaustive messy one.

Does a sitemap guarantee my pages get indexed?

No — it guarantees discovery, not indexing. Pages still need to be crawlable, unique and worth indexing. Search Console's sitemap report shows you the discovered-vs-indexed gap to work on.

How often should I regenerate it?

Whenever URLs are added or removed. For frequently-changing sites, use a CMS plugin that auto-updates (WordPress + ToolNest does this); for stable static sites, regenerating after each content batch is fine.