Sitemap XML Generator
Build your sitemap.xml manually β no crawling required
π All processing runs in your browser β no URLs are sent to any server. Your site data never leaves your device.
Related Tools
Robots.txt Generator
Generate robots.txt files. Block AI crawlers, configure user-agents, allow/disallow paths.
URL Encoder & Decoder
Encode and decode URLs and query strings.
Domain Expiry Checker
Check when any domain expires β expiry date, days remaining, registrar and nameservers.
URL Parser
Parse any URL into protocol, host, path, query params and hash.
.gitignore Generator
Generate .gitignore files for Node.js, Python, Java, Go, Rust and 30+ technologies.
What is an XML Sitemap?
An XML sitemap is a structured file that tells search engines β Google, Bing, Yandex, DuckDuckGo β which pages on your website you want them to discover and index. It follows the open Sitemaps Protocol at sitemaps.org, first introduced by Google in 2005 and now supported by all major search engines. Without a sitemap, search engines find your pages by following links; with a sitemap, you give them a direct, exhaustive list.
A sitemap is an XML file that begins with a standard XML declaration and a <urlset> root element. Inside, each URL is wrapped in a <url> element containing one required child β <loc>, the fully qualified URL β and up to three optional children: <lastmod>, <changefreq>, and <priority>.
Sitemaps are most valuable in four scenarios: you have a new site with few inbound links so crawlers have not yet found your pages; you have orphan pages that are not linked from anywhere else on your site; your site uses JavaScript-heavy navigation or complex dynamic URLs that crawlers struggle to follow; or your site contains rich media (images, video) that needs additional discovery hints. Even for well-established sites with strong internal linking, a sitemap is a free, low-effort signal that can only help β never hurt β your discoverability.
How to Use This Sitemap Generator
- 1.Enter the full URL of a page in the URL field. The URL must begin with
https://orhttp://. For your homepage, use the trailing slash form:https://example.com/. - 2.Optionally set Change Frequency (how often the page content changes), Priority (how important this URL is relative to others on your site), and Last Modified (the date the content was last updated). All three fields are optional β leaving them blank omits them from the sitemap XML.
- 3.Click Add URL. The entry appears in the list below. Repeat for every page you want in the sitemap. Press Enter in the URL field to add quickly.
- 4.To add many URLs at once, switch to Bulk Paste mode, paste your URLs one per line, and click Add URLs. Invalid entries stay in the textarea for correction; valid ones are added to the list.
- 5.Click Generate sitemap.xml. The valid XML appears in the output area below the button.
- 6.Click Download sitemap.xml to save the file, or Copy to paste the XML directly into your code editor or server.
When to Use a Manual Sitemap Builder
Most online sitemap generators work by crawling your live website β they follow links from the homepage and collect every URL they find. That works well for established sites but fails in several common situations. If your site is not live yet, the crawler has nothing to visit. If pages exist but are not linked from anywhere, the crawler never discovers them. If you are working on a static site built with Astro, Eleventy, or Hugo and just want to hand-craft the sitemap before uploading, a form-based generator is exactly what you need.
Manual sitemap builders also give you full control over priority values. Crawl-based tools typically assign generic priorities, but you might want your cornerstone content at 0.9, recent blog posts at 0.7, and tag pages at 0.3. A form lets you be deliberate about those choices rather than accepting defaults.
Another common use case is a sitemap containing only a curated subset of URLs. Many sites generate massive sitemaps with thousands of auto-discovered pages, but what you actually want is a focused sitemap of only the 50 pages that represent your best content. Building that list manually gives you confidence that every URL in the file is canonical, indexable, and genuinely worth crawling β unlike an auto-generated sitemap that might include pagination, filter, and session-based URLs that should never be indexed.
Sitemap Fields Explained: loc, lastmod, changefreq, priority
loc (required)
The <loc> element contains the full URL of the page and is the only required field. It must be a fully qualified URL including the protocol (https:// or http://), the domain, and the path. Special XML characters in the URL β ampersands (&), less-than (<), greater-than (>), and quotes β must be XML-escaped. This generator handles escaping automatically. Use the canonical version of each URL: the one with the canonical tag that should appear in search results.
lastmod (optional, most useful)
The <lastmod> element is the date the page was last significantly updated. It uses the W3C datetime format β either a full timestamp like 2024-06-15T12:00:00+00:00 or a simple date like 2024-06-15. Of the three optional fields, lastmod is the one Google actually uses β it helps Googlebot decide whether to recrawl a page based on whether it has changed since the last visit. Only set lastmod if you can accurately maintain it; setting a false or static lastmod causes Google to lose trust in the value and eventually ignore it.
changefreq (optional, hint only)
The <changefreq> element suggests how often the page is updated. Valid values are always, hourly, daily, weekly, monthly, yearly, and never. Google has stated publicly that it ignores changefreq and determines recrawl frequency using its own signals based on actual content changes and page importance. Despite this, setting an accurate changefreq communicates intent and is worth including for large sites where crawl budget is a real constraint.
priority (optional, relative)
The <priority> element is a decimal between 0.0 and 1.0 indicating how important this URL is relative to other URLs on your site. The default is 0.5 when omitted. Common conventions: homepage at 1.0, top-level category pages at 0.8β0.9, regular content pages at 0.5β0.7, archive and tag pages at 0.1β0.4. Google has confirmed it ignores priority as a ranking factor. Setting all pages to 1.0 provides no benefit β the signal only has meaning when there is variation across your sitemap entries.
How to Submit Your Sitemap to Google, Bing, and Yandex
After generating and uploading your sitemap.xml to the root of your domain (so it lives at https://yourdomain.com/sitemap.xml), submit it to each major search engine.
- Google Search Console: Navigate to Search Console β Sitemaps, enter the path
sitemap.xml, and click Submit. The Console shows how many URLs Google discovered and any errors in coverage. - robots.txt directive: Add
Sitemap: https://yourdomain.com/sitemap.xmlto the end of yourrobots.txt. All major crawlers read robots.txt and discover the sitemap automatically during their next visit. - Bing Webmaster Tools: Log in at webmaster.bing.com, go to Sitemaps, and submit the full URL. Bing also has a URL submission tool for immediate indexing of specific pages.
- Google Ping (direct): Send a GET request to
https://www.google.com/ping?sitemap=https://yourdomain.com/sitemap.xml. This triggers an immediate crawl request outside of the normal schedule β useful after a large content update.
Common Sitemap Mistakes to Avoid
- Including noindex pages. If a page has a
<meta name="robots" content="noindex">tag or anX-Robots-Tag: noindexresponse header, omit it from the sitemap. Including noindex pages sends a contradictory signal β you want it crawled but not indexed β which confuses crawlers and wastes crawl budget. - Including redirected URLs. Every URL in the sitemap should return a 200 HTTP response. Including URLs that redirect (301 or 302) forces crawlers to follow the redirect, wasting crawl budget. Only include the final destination URL.
- Including robots.txt-blocked URLs. If a path is disallowed in robots.txt, it should not appear in the sitemap. Robots.txt takes precedence over the sitemap β the page will not be crawled regardless.
- Using relative URLs. All
<loc>values must be fully qualified URLs./aboutis invalid;https://example.com/aboutis correct. - Setting all priorities to 1.0. If every page has priority 1.0, the signal carries no information. Vary priorities across your content to give crawlers a meaningful hierarchy to follow.
- Not updating the sitemap after publishing new content. A sitemap that reflects last month's content structure delays discovery of new pages. Update and resubmit your sitemap whenever you publish significant new pages.