{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

Included{{ resultsReady ? computation.values.included_count : '—' }} Excluded{{ resultsReady ? computation.values.excluded_count : '—' }} Size{{ resultsReady ? formatBytes(computation.values.byte_size) : '—' }}

{{ xmlExportStatus }}

Sitemap source and policy inputs
Separate optional columns with pipes, tabs, or CSV commas. Comment lines beginning with # are ignored.
{{ sourceStatus || 'Drop one TXT, CSV, or TSV file onto the textarea.' }}
Root-relative paths are resolved against this origin; absolute URLs on another host are excluded.
Google may use lastmod when it is consistently accurate.
Use the real date of the last significant page update.
Choose whether the XML emits changefreq and priority.
This is a protocol hint, not a crawl schedule.
The protocol default is 0.5; Google ignores this field.
De-duplication compares the final URL after fragment and optional tracking cleanup.
The neutral default preserves the entered order.
Keep the neutral default when query parameters identify distinct canonical content.
Most publishing workflows need only the standard sitemap namespace.
{{ sitemapXml }}
{{ inventoryExportStatus }}
LineStatusURLlastmodchangefreqpriorityNoteCopy
{{ row.line }}{{ row.status }}{{ row.loc || row.source }}{{ row.lastmod || '—' }}{{ row.changefreq || '—' }}{{ row.priority || '—' }}{{ row.note }}
{{ chartExportStatus }}

The chart renderer is unavailable. The same row statuses remain available in the URL inventory.

{{ checksExportStatus }}
CheckStatusDetailCopy
{{ row.check }}{{ row.status }}{{ row.detail }}

A sitemap is a declared inventory of URLs that a site owner wants search engines to discover. It is especially useful when pages are new, deeply linked, numerous, or updated through systems that make ordinary link discovery incomplete.

The inventory should contain preferred public URLs, not every address a server can produce. Tracking variants, duplicate paths, redirects, private pages, and non-canonical copies can make a sitemap larger without making it more useful. Search engines may use a sitemap as a discovery hint, but inclusion does not guarantee crawling or indexing.

Canonical URL
The preferred address for a page when the same content is available through several URLs.
loc
The required absolute URL inside each sitemap entry.
lastmod
An optional date or timestamp for the page’s last significant update, not the date the sitemap was generated.
changefreq and priority
Optional protocol hints. Google ignores both fields, so they should not be treated as crawl scheduling or ranking controls.

XML adds two responsibilities beyond choosing the right URLs. Values must be entity-escaped so characters such as an ampersand do not break the document, and each file must stay within the protocol limits of 50,000 URLs and 52,428,800 uncompressed bytes. Larger inventories need several sitemap files and usually a sitemap index.

Dates deserve restraint. An accurate lastmod can help a crawler decide what changed, while a date that is refreshed mechanically on every generation loses that meaning. Omitting uncertain dates is more honest than filling every row with the same current date.

A complete publishing check extends beyond XML syntax. The listed pages still need to be reachable, canonical, indexable, and appropriate for search, and the public sitemap response must serve the XML rather than a redirect, login page, or HTML error.

How to Use This Tool:

Begin with a reviewed canonical URL inventory and the exact HTTP or HTTPS origin that owns it.

  1. Paste one URL or path per line into URL inventory, or load a local TXT, CSV, or TSV file. Optional columns follow the order URL, lastmod, changefreq, and priority.
  2. Enter Site origin. Root-relative paths are resolved against it, while absolute URLs on a different host are excluded by this generator.
  3. Choose a Lastmod handling policy. Use per-line values when dates are maintained accurately, apply a fallback only when it represents real significant updates, or omit the element.
  4. Decide whether to emit optional hint tags and whether duplicate URLs or common tracking parameters should be removed. Preserve query parameters when they identify distinct canonical content.
  5. Review URL inventory for Included, Review, and Excluded rows. Resolve unexpected cleanup, invalid dates, cross-host URLs, and duplicates before copying the XML.
  6. Read Publish checks, validate the saved XML, serve it publicly, and confirm the published URL returns the expected document before referencing or submitting it.

Interpreting Results:

Included rows are emitted in the XML. Review rows are also emitted but were changed or given fallback values. Excluded rows do not appear in the sitemap. A nonzero review count is therefore a request for inspection, not a failure count.

Ready with checks means the document passed the generator’s structural and size checks while still requiring a publishing handoff. Split before publishing means the generated file exceeds the inclusive limit of 50,000 URLs or 52,428,800 uncompressed bytes.

Do not read a clean status as evidence that pages are live or indexable. Validate the XML independently, fetch the public sitemap, and inspect canonical, robots, authentication, redirect, and HTTP-status behavior for representative URLs.

Technical Details:

An XML sitemap uses the sitemap protocol namespace and one url element per included address. The required loc child may be followed by optional lastmod, changefreq, and priority children.

Transformation Core: Source line to XML entry

Sitemap URL transformation stages
StageTransformationReview or exclusion
ParseSplit a non-comment line by tab, pipe, or CSV commas.A missing first field is excluded.
ResolveTurn a path into an absolute URL using the normalized site origin.Non-HTTP schemes, whitespace, control characters, and different hosts are excluded.
NormalizeRemove fragments, resolve dot segments, and optionally remove recognized tracking parameters.Any cleanup marks an included row for review.
AnnotateValidate or fill lastmod, then apply per-line or global optional hints.Invalid optional values are omitted or replaced according to policy.
Deduplicate and sortCompare final normalized URLs, then preserve source order, sort by URL, or sort by path depth.With deduplication enabled, later copies are excluded.
SerializeEntity-escape every emitted value and write the XML document.Entry count and UTF-8 byte size feed the publish checks.

A fragment never identifies a separate sitemap URL and is always removed. Tracking cleanup recognizes common advertising and analytics keys; other query parameters remain untouched. Normalization does not determine whether two different URLs serve duplicate content.

Rule Core: Protocol and generator boundaries

Sitemap protocol and generator limits
ItemAccepted boundaryBehavior
Source inventory1 to 4,194,304 charactersBlank or larger input is rejected before generation.
locHTTP or HTTPS and at most 2,048 charactersThe emitted URL is absolute and constrained to the chosen host.
lastmodYYYY-MM-DD or a full timestamp with timezoneCalendar dates, time fields, and offsets through ±14:00 are validated.
priority0.0 to 1.0 inclusiveValid values are serialized to one decimal place; Google ignores the field.
changefreqalways, hourly, daily, weekly, monthly, yearly, or neverInvalid values use the selected fallback or are omitted.
URL countAt most 50,000 per sitemapMore than 50,000 changes the publish status to Split before publishing.
Uncompressed sizeAt most 52,428,800 bytesA larger document must be split even if compressed transfer would be smaller.

The smallest emitted entry has this structure:

<url>
  <loc>ABSOLUTE-CANONICAL-URL</loc>
</url>

Including an XML schema location changes the root declaration only; it does not validate the document. URL order also does not change Google’s interpretation, though stable ordering can make reviews and version-control diffs easier to follow.

Worked Examples:

Tracking cleanup exposes one canonical row

Suppose the source contains /docs?utm_source=x#top and a second copy ending in #other. With tracking cleanup and deduplication enabled, both normalize to the chosen origin plus /docs. The first row is included with a review note and the second is excluded as a duplicate. A cross-host URL in the same list is excluded independently.

References: