Ctrl / ⌘ + Enter to run

Input and sitemap scope

If supplied, entries must match its origin and directory scope. Otherwise, only agreement between entry origins is checked.

UTF-8 only, up to 256 KiB. The file stays in your browser.

No local file loaded.

Example URLs are loaded. Replace them with your actual canonical URLs before building.

256 KiB UTF-8 input/output · Up to 1,000 entries · No URLs fetched

Tab indents · Esc, then Tab moves focus Ln 1, Col 1
Select and copy any part of this code. Ln 1, Col 1
Export sitemap XML
XML

Validation covers the supported core sitemap structure. It does not establish URL availability, ownership, canonical status, crawl access or indexing. XML validation produces normalized output; it does not preserve source formatting or comments.

Build a sitemap from an explicit inventory

  1. Choose a URL list or CSV. A list contains one absolute page URL per line; a sitemap index instead lists the URLs of your sitemap files.
  2. Optionally supply the URL where this XML will be published. It lets the tool check origin and directory scope.
  3. Build, review and download the XML. To check an existing file, switch to Validate existing XML and paste or load its UTF-8 text.

CSV columns and honest modification dates

A comma-delimited CSV must start with loc. Optional unique columns are lastmod, changefreq and priority. Standard quoted fields and doubled quote escaping are parsed with Papa Parse. Each row must match the header width. Blank optional cells are omitted. For example:

loc,lastmod
https://example.com/,
https://example.com/article,2025-01-15

The illustrated date is fictional. lastmod means when the referenced page changed, not when this tool ran. For an index, it describes the referenced sitemap file. Supply a real YYYY-MM-DD date or a date-time with an explicit zone, optional seconds and at most millisecond precision. Omit a date you do not know. Year-only, month-only, zone-free times and leap seconds are outside this tool’s supported subset.

URL sets, indexes and protocol limits

A urlset contains page entries; a sitemapindex references separate sitemap files. This tool supports both core structures in http://www.sitemaps.org/schemas/sitemap/0.9. Image, video, news, alternate-language and other extensions are intentionally outside its scope and are rejected rather than silently discarded.

The sitemap protocol allows up to 50,000 URLs and 50 MB uncompressed per sitemap; this tool deliberately limits input and output to 256 KiB UTF-8 and 1,000 entries. It rejects location URLs of 2,048 characters or more after normalization. XML tree depth is limited to four below the document node, with 20,000 nodes. Large collections should be split with another workflow and referenced from an index.

Origins, duplicates and escaping

Entries must share a scheme, hostname and port. If a published location is supplied, entries must also belong to its directory or a descendant. Cross-site ownership/submission arrangements are outside this local checker. Standard URL serialization handles Unicode and host normalization, then duplicate serialized URLs are rejected. Redirects and alternate URLs that a server treats as equivalent cannot be detected without inspecting that server.

Provide literal URLs in lists and CSV, including a normal ampersand in query strings. Generated XML escapes ampersands and other XML characters. In pasted XML, use predefined escapes such as & or numeric character references. Whitespace, credentials, fragments, malformed percent escapes and non-HTTP(S) schemes are rejected in locations.

What does XML validation mean here?

The browser’s native XML parser checks well-formedness in a separate document. The tool then checks the root namespace, supported nesting, single required location per entry, optional fields, dates, duplicates and URL scope. Prefixes are accepted when they resolve to the correct namespace. DTD/entity declarations are rejected before parsing. Processing instructions and unsupported attributes are rejected, and no schema file or listed URL is fetched. A schemaLocation annotation may be present on the root but is not resolved.

This is a check of the supported core model, not complete XSD validation or a search-engine submission check. Parsing is synchronous native browser work and cannot be interrupted midway; the small input cap limits its scope. A malformed XML message may include the browser’s line and column; semantic issues identify an entry or field. Accepted XML is rebuilt with normalized URLs, standard field order and escaped text.

Will this make Google index my URLs?

A sitemap can help discovery, but submitting one does not guarantee crawling or indexing. This page neither crawls nor submits anything. Google ignores changefreq and priority; the URL-set builder accepts them only as optional protocol fields. It never adds them or a modification date automatically.

Read the official Sitemaps protocol , Google sitemap guidance , and W3C date-time profile . Native parsing behavior is documented by MDN DOMParser .