XML Sitemap Generator

A sitemap is a discovery hint, not an indexing instruction

The thing people get wrong: a URL is not indexed because it sits in sitemap.xml. The file only tells a crawler the URL exists and is worth a look. Whether it gets crawled, and whether it stays indexed, is decided separately on the page's own merits. A site can list 20,000 URLs and see a fraction indexed, and the sitemap is almost never the reason.

Where a sitemap earns its place is discovery: pages with few or no internal links, newly launched sections, large catalogues, and content reachable only through faceted navigation. A page already well linked from your own navigation gains little from being listed.

The limits that force a split

One sitemap file may hold at most 50,000 URLs and must stay under 50 MB uncompressed. Cross either and you publish several files plus a sitemap index that references them. gzip is allowed, but the 50 MB ceiling is measured on the uncompressed size. A sitemap index carries the same two ceilings, and one index cannot reference another — they do not nest.

Which elements are actually read

ElementRequiredHow Google treats it
locYesThe URL itself, absolute and fully qualified
lastmodNoUsed where the value is consistently accurate
changefreqNoIgnored
priorityNoIgnored

Google's documentation states that it ignores changefreq and priority. Both remain valid optional elements in the sitemaps.org schema and some other crawlers and internal tools read them, so writing them costs nothing — just never present them as a ranking lever.

Syntax details that break a file

The file must be UTF-8 encoded and declare the sitemaps.org 0.9 namespace. Each loc value must be URL-encoded, under 2,048 characters, with XML-special characters written as entities. The namespace identifier itself stays on http; it is a name, not an address to fetch, so do not rewrite it to https.

Keep contradictory URLs out

Every URL you list should be one you want crawled and are happy to see indexed. Leave out:

  • URLs that redirect — list the destination instead
  • pages carrying a noindex directive
  • URLs canonicalised to a different page
  • anything disallowed in robots.txt, which cannot be crawled anyway
  • dead 404 or 410 URLs left over from an old export

URLs must also be absolute and use the same protocol and host as the sitemap itself. A sitemap served over HTTPS on www.example.com should not list http URLs or a bare example.com variant.

One honest limit: a generator builds XML from the list you give it. It does not fetch your pages, so it cannot confirm a status code, a canonical tag or a noindex header — that verification is still yours.

Share this tool with friends

Free to use, no sign-up, works on any phone.

Frequently Asked Questions

Will Google index a page just because it is in my sitemap?

No. A sitemap tells a crawler the URL exists; whether it is crawled, and whether it is kept in the index, is decided separately on the page's own merits. Expect a gap between the URLs you submit and the pages Search Console reports as indexed. That gap usually points at duplication, canonicalisation or thin content, and editing the sitemap will not close it.

How many URLs can one sitemap.xml file hold?

50,000 URLs, and the file must stay under 50 MB uncompressed — whichever limit you reach first. Past that you split the list across several sitemap files and publish a sitemap index that references them. You may gzip the files, but the 50 MB limit is still measured on the uncompressed size. A sitemap index has the same two ceilings, and one index cannot reference another: indexes do not nest.

Do changefreq and priority help rankings?

No. Google's documentation says it ignores both values, so tuning them changes nothing there. They are still valid optional elements in the sitemaps.org schema, and some other crawlers and internal tools read them, which is why generators keep emitting them. priority accepts 0.0 to 1.0 and defaults to 0.5, and the spec is explicit that it is relative only to other pages on your own site — it says nothing about you versus a competitor.

Where should sitemap.xml live and how do I submit it?

At the root of the host, such as https://example.com/sitemap.xml. A sitemap's own location scopes it: one placed in a subdirectory covers only URLs at or below that path, which catches people out. Google relaxes that rule only for hosts whose ownership you have verified. Submit it in Search Console and add an absolute Sitemap line to robots.txt so other crawlers find it. Google retired its sitemap ping endpoint in 2023, so there is no request to fire on deploy.

Should noindexed or redirected URLs be listed in the sitemap?

No. List canonical, indexable URLs that return 200. If a URL redirects, list the destination; if it is canonicalised elsewhere, list the canonical; if it carries noindex, leave it out; if robots.txt blocks it, it cannot be crawled anyway. Listing them sends contradictory signals and spends crawl attention on pages you have already told the crawler to skip. A generator cannot detect any of this for you — it writes out what you give it.

What format does lastmod need, and does it actually matter?

lastmod uses the W3C Datetime format: either a plain date such as 2026-08-09, or a full timestamp with a timezone offset such as 2026-08-09T14:20:00+05:30. It matters only while it stays honest. Google has said it uses lastmod where the value is consistently accurate and discounts it where it is not, so stamping every URL with the build date on each deploy is the quickest way to make the field worthless.

Everything on this page runs inside your own browser. Nothing you type or upload is sent to a server, so your data never leaves your device.