Updated · Built and checked by the PlinzoTools team, formulas tested against published sources
Generate a validated sitemap.xml or sitemap index, with image entries and hreflang alternates.
4 URLs · no errors
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.com/</loc>
</url>
<url>
<loc>https://example.com/about</loc>
<lastmod>2026-01-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://example.com/gallery</loc>
<lastmod>2026-02-01</lastmod>
<image:image>
<image:loc>https://example.com/img/hero.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://example.com/en/pricing</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/pricing"/>
<xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/preise"/>
</url>
</urlset>A sitemap.xml file lists a site's URLs for search engines, helping them discover pages they might not reach by following links. This tool builds a Sitemaps-protocol file from a plain list of URLs. It can add image entries and hreflang language alternates, or build a sitemap index that points to several sitemap files. It also checks every line as you type, so mistakes are caught before the file is uploaded.
Choose URL Sitemap and enter one URL per line. Optional details follow, separated by a vertical bar: url | lastmod | changefreq | priority. Add image: followed by an image URL to list an image on that page, and alt:de= followed by a URL to list a language version. Choose Sitemap Index to list sitemap files instead, one per line as url | lastmod. Any problems appear above the generated XML with their line number. Download the result as sitemap.xml or sitemap_index.xml.
loc (the URL) is the only required field. lastmod is the date the page last changed meaningfully, as YYYY-MM-DD or a full date-time with a timezone. changefreq (always, hourly, daily, weekly, monthly, yearly, never) and priority (0.0 to 1.0) are optional hints. Google has said it ignores both and relies on an accurate lastmod instead. image:loc tells Google about an image on the page, and xhtml:link lists the page's other language versions.
Reference the finished file from your Robots.txt Generator output so crawlers find it, and double-check an existing file with the XML Sitemap Validator.
Each line starts with the page URL. After it, parts separated by a vertical bar are read in two ways. A part beginning with image: adds an image, and a part beginning with alt: adds a language alternate. You can use as many of each as you need, in any position. Every other part fills lastmod, changefreq and priority, in that order. An empty part still takes its place, so https://example.com/news | | daily sets only changefreq. Spaces around the bars are trimmed and blank lines are skipped.
The output always declares the standard sitemap namespace. The image namespace and the xhtml namespace are added only when at least one line uses an image or an alternate, so a plain sitemap stays plain. URLs are XML-escaped automatically: an ampersand in a query string is written as &, which is required for the file to be valid XML.
The tool opens with four sample lines. The first is a bare home page URL, which becomes a url block with just a loc. The second adds a date, a monthly frequency and a priority of 0.8. The third adds a date and one image, producing an image:image block. The fourth lists an English pricing page with two alternates: itself as en and the German page as de. That produces two xhtml:link lines. All four pass the checks, and the generated file declares all three namespaces because images and alternates are both used.
These are the same URL and date rules the XML Sitemap Validator applies, so a file this tool reports as clean also passes that validator.
Alternates only work when they are reciprocal. If the English page lists the German page, the German page must list the English page, and each must list itself. In practice, give every language version its own line with the same complete set of alternates. Add alt:x-default= to name the page shown to visitors whose language you don't serve. The tool can check each line on its own, but it can't tell whether a page you didn't list carries the matching tags.
Upload the file, confirm it opens in a browser, add a Sitemap line to robots.txt, and submit it in your search engines' webmaster tools. For an index, upload every child sitemap as well and submit only the index. A sitemap helps discovery but doesn't guarantee crawling or indexing. List only canonical pages that return a normal 200 response -- not redirects, not pages blocked in robots.txt, and not pages marked noindex.
No. Only the URL is required. If you do add lastmod, keep it truthful -- search engines learn to ignore dates that change without the content changing.
Usually at the root of the site (for example example.com/sitemap.xml). Then add a Sitemap line to robots.txt and, optionally, submit it in Google Search Console and Bing Webmaster Tools.
Yes: 50,000 URLs or 50 MB uncompressed per file. Larger sites split their URLs into several sitemaps and list those files in a sitemap index, which the Sitemap Index tab builds.
Type them normally. The tool converts each ampersand to the escaped form XML requires, so the file stays valid.
No. Google stopped using the image caption, title, license and location tags, so the tool writes only the image location, which is all Google reads.
When you have more than 50,000 URLs, or when you want separate sitemaps for sections such as pages, posts and products. List each sitemap file in the index and submit the index.
No. Include only canonical, indexable pages that return a normal successful response.
Reference: MDN Web Docs