A sitemap comparison tool shows how two XML sitemap lists differ. Screpy identifies URLs found only in the current source, URLs found only in the previous source, and locations shared by both. It also compares the supplied lastmod strings for shared URLs. Use it after a release, during a migration or when investigating an unexpected change in your published URL inventory.
Choose the two versions you want to compare
Enter the previous and current sitemap addresses, or select pasted XML independently for either side. A saved XML copy is useful when the old address now serves the new sitemap. Screpy does not retrieve historical versions. If both inputs point to the same current file, the comparison cannot reconstruct what that file contained before deployment.
Use a public XML URL such as https://example.com/sitemap.xml. This address is illustrative. To locate your site's sitemap first, use Sitemap Checker. Each pasted document can contain up to 256 KiB of UTF-8 XML.
Read additions and removals as list differences
An added URL appears in the current list but not in the previous complete list. A removed URL appears in the previous list but not in the current complete list. Shared URLs occur in both. Hostname normalization does not merge distinct paths, query strings or trailing-slash variants: /products/, /Products/ and /products can remain separate addresses.
A removal is not automatically an SEO error. A deleted product may have been intentionally removed from the sitemap; an active landing page may have been omitted accidentally. Investigate the affected address before deciding what to change. Bulk HTTP Status Checker helps check page responses and redirects separately.
Check dates without treating them as proof of updates
For shared URLs, the table displays the previous and current lastmod values. The change count compares supplied strings, including adding or removing a value. It does not verify when the underlying page changed or decide whether two timestamp formats describe the same instant.
Keep modification dates tied to meaningful content changes. A sitemap generator that replaces every date on each build can create many differences without a corresponding content update. Use Sitemap Validator to investigate XML structure and supported field values. The Sitemaps protocol describes sitemap and index formats.
Read coverage before trusting an absent URL
For remote indexes, Screpy follows same-origin child files within a two-level depth limit. Each side is bounded to ten files, 10,000 unique page URLs and 20,000 processed entries. A remote file can contain up to 5 MiB of downloaded and decoded content, with a 10 MiB decoded total per side. Pasted indexes do not fetch their children, because those live files might not represent the saved version.
A timeout, inaccessible child, unsupported scope or processing limit can leave a source incomplete. In that case, an address seen only on one side is not proof that the other side lacks it. Read observed-only labels and unknown totals literally; unknown does not mean zero. Duplicate page locations are merged, while invalid locations and repeated fields are reported.
Export the evidence you actually reviewed
Filter by change type or URL text, then export the retained matching rows as CSV. JSON includes the bounded report and source observations. At most 1,000 detail rows are returned, so summary counts can exceed the table or export. Large analyses may require comparing smaller source files separately.
This report does not request every listed page, identify Google's selected canonical or establish indexing. Use Canonical Tag Checker for declared canonical evidence and Search Console for Google's recorded indexing state. A clean list comparison proves only the reported comparison within its stated scope.