Skip to content
MrKeyword
Free XML sitemap generator

XML sitemap generator: paste URLs, get a valid sitemap.xml.

Paste one URL per line, pick an optional last-modified date, and copy or download a valid sitemap.xml. The preview updates live in your browser, with warnings for duplicates, http:// links, mixed hosts and the 50,000-URL limit.

Free, no account needed. The sitemap is built in your browser and never sent to MrKeyword.

Built on first-party data from Google and Bing
Search ConsolePageSpeed InsightsBing Webmaster Tools
An explorer discovering useful search ideas with a magnifying glass
A little curiosity goes a long way.
What it is

What is an XML sitemap?

An XML sitemap is a file, usually at https://yoursite.com/sitemap.xml, that lists the pages you want search engines to find. It follows the sitemaps.org protocol: a <urlset> with one <url> block per page, each holding the full address in <loc> and, optionally, the last-modified date in <lastmod>.

Google and Bing use the sitemap to discover URLs and to see when pages changed. Google says it ignores <changefreq> and <priority>, so a correct <lastmod> matters more than either. List only the final, indexable https address of each page: no redirects, no noindex pages and no URLs blocked in robots.txt.

One sitemap may hold up to 50,000 URLs and 50 MB uncompressed, and only URLs from its own host. Bigger sites split the list into several files and list them in a sitemap index. Read the XML sitemap guide for the full rules, point crawlers at the file with the robots.txt generator, and check the published file with the sitemap validator.

In the result

Clear answers,
with the reason shown.

Paste and build

Any list of URLs, one valid file.

Paste URLs separated by new lines, commas or spaces. Missing https:// is added, hosts are lower-cased, #fragments are dropped and duplicates are listed once.

  • Special characters escaped in each <loc>
  • Optional lastmod, changefreq and priority
Warnings and export

Copy, download and validate.

Flags duplicates, http:// URLs, more than one host, the 50,000-URL and 50 MB limits and non-ASCII URLs, then copy the XML or download sitemap.xml.

  • Built in your browser, nothing uploaded
  • Link to the sitemap validator
Worked example

Four pasted URLs, one clean sitemap.xml.

The fictional northwind-plumbing.example pastes its home page, a service page typed without https://, a page with a & in the query, and the home page again with a #contact fragment, with a last-modified date of 2026-11-01:

sitemap.xml preview · 3 URLs
  • Fix1 duplicate URL was removed. Each URL may appear once in a sitemap.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://northwind-plumbing.example/</loc>
    <lastmod>2026-11-01</lastmod>
  </url>
  <url>
    <loc>https://northwind-plumbing.example/boiler-service/</loc>
    <lastmod>2026-11-01</lastmod>
  </url>
  <url>
    <loc>https://northwind-plumbing.example/areas?city=leeds&amp;type=boiler</loc>
    <lastmod>2026-11-01</lastmod>
  </url>
</urlset>

Example output for a fictional site. It is built by the generator’s own code at build time; replace every URL with your real pages.

The host is lower-cased and gets https://, the & is escaped as &amp;, and the home page with #contact becomes the same URL as the first line, so it is listed once and flagged as a duplicate. Upload the file, then check the live copy with the sitemap validator.

Reading the result

How do you read the xml sitemap generator result?

urlset
The root tag with the sitemaps.org namespace http://www.sitemaps.org/schemas/sitemap/0.9. Without it, search engines do not read the file as a sitemap.
loc
The full address of one page, with &, <, > and quotes escaped so the XML parses.
lastmod
Written as YYYY-MM-DD, and only when you pick a date. Use the date the page content last changed, not today’s date for every page.
Fix lines
Problems in the pasted list: duplicates, http:// URLs, more than one host, over 50,000 URLs or 50 MB, and non-ASCII characters that need percent-encoding.
Common errors

What are common XML sitemap mistakes?

Listing redirects or noindex pages

A sitemap should list only final, indexable pages that return 200. Check doubtful URLs with the indexability checker before you add them.

Mixing www and non-www

Each host needs its own sitemap. Use the version your canonical tags point to.

Same lastmod on every page

If every URL shows today’s date, search engines learn to ignore lastmod. Use the real change date, or leave it out.

Unescaped ampersands

A raw & in a query string breaks the XML. The generator escapes it; hand-written files often do not.

Over 50,000 URLs in one file

Split the list into several sitemaps and list them in a sitemap index file.

When to check

When should you generate an XML sitemap?

Generate one when your CMS does not make it for you, when you launch new pages, or when the sitemap validator finds errors in your current file.

Launching a new or static site
Hand-built and static sites often have no sitemap. Paste the page list and upload the file.
After adding or moving pages
Rebuild with the final URLs so the sitemap does not point at redirects.
When the sitemap validator reports errors
Rebuild the list without the broken, duplicate or other-host URLs.
Before submitting to Search Console or Bing
Upload a clean file first so the first crawl reads only real pages.
Go further

Guides for this check.

More free checkers

Other quick checks.

Questions

About the xml sitemap generator.

How many URLs can one XML sitemap hold?

Up to 50,000 URLs and 50 MB uncompressed. If your list is bigger, split it into several sitemap files and list those files in a sitemap index. This generator warns you when you pass either limit.

Do I need changefreq and priority?

No. Google says it ignores changefreq and priority, and Bing treats them as hints at most. They are optional here and left out unless you choose a value. An accurate lastmod date is more useful.

Can one sitemap list pages from several domains?

No. A sitemap may only list URLs from the host it is served on, so www and non-www, or two domains, need separate sitemaps. The generator warns when your list mixes hosts.

Why are some characters in my URLs escaped?

XML reserves the ampersand, apostrophe, double quote and angle brackets, so the generator writes each one as its XML entity inside the loc tag. The file then parses, and search engines read the original URL back.

Where do I put the sitemap.xml file?

Upload it to the root of your site, for example https://yoursite.com/sitemap.xml, add a Sitemap: line to robots.txt, and submit it in Google Search Console and Bing Webmaster Tools. Then check it with the sitemap validator.