Done
Add URL
Defaults:
Bulk Add URLs
Apply to all:
URL List 0
# URL Changefreq Priority Last Modified Actions
<!-- Add URLs above to generate XML -->
Sitemap Stats
0
URLs
0 B
Est. Size
50K
Limit
0%
Used
Priority Distribution
Changefreq Breakdown
SEO Best Practices
Max 50,000 URLs per sitemap file or 50 MB uncompressed. Use sitemap index for larger sites.
Priority 1.0 = homepage only. Use 0.8 for key pages, 0.6 for blog posts, 0.4 for tags.
Changefreq is a hint, not a command — search engines may ignore it. Use "weekly" for blogs.
Submit via Google Search Console → Sitemaps, or add to robots.txt: Sitemap: https://…/sitemap.xml
Only canonical URLs — exclude noindex, paginated duplicates, and redirect chains.
robots.txt Snippet
# Add sitemap URL above first

How to Create an XML Sitemap in 5 Steps

This generator builds valid XML sitemaps conforming to the sitemaps.org protocol supported by Google, Bing and all major search engines. Here's how to use it.

Set Your Base URL

Enter your website's root URL (e.g. https://example.com) in the Base URL field in the Defaults bar. All relative paths you add — like /about or /blog/post — will be automatically prefixed with this base to produce absolute URLs in the final sitemap.

Add URLs Individually or in Bulk

Use the Add URL form to enter each page with its own changefreq and priority. Or use the Bulk Add URLs area to paste dozens of URLs at once — one per line — and apply a shared changefreq and priority to all of them in a single click. Full URLs and relative paths are both accepted.

Configure Priority, Changefreq and Lastmod

Set a priority from 0.1 to 1.0 for each URL (1.0 = homepage, 0.8 = key pages, 0.6 = blog posts, 0.4 = archive pages). Set a changefreq value to indicate how often the page changes. Enable or disable the lastmod element and choose today's date or a custom date per URL.

Review, Sort, Edit and Reorder

The URL list table lets you review all entries, filter by keyword, sort A–Z or by priority, drag rows to reorder, click the edit icon to change any field inline, duplicate or delete rows, and remove all duplicates in one click. For large sites (50,000+ URLs), use the Sitemap Index tab to generate a sitemapindex file.

Validate, Download and Submit

Switch to the Validate tab to confirm all checks pass: URL count under 50,000, file size under 50 MB, all URLs starting with https://, no duplicates, and valid priorities. Then click Download sitemap.xml, upload the file to your site root, and submit it in Google Search Console under Indexing → Sitemaps.

XML Sitemap Protocol Quick Reference

Parameter Valid Values Required? Notes
XML namespace http://www.sitemaps.org/schemas/sitemap/0.9 ✅ Yes Must be on the <urlset> root element
<loc> Absolute URL starting with https:// ✅ Yes One per <url> entry. Max 2,048 characters. UTF-8 encoded.
<lastmod> W3C Datetime: YYYY-MM-DD or ISO 8601 ❌ Optional Only update if content substantially changed. Google uses this to prioritise re-crawling.
<changefreq> always, hourly, daily, weekly, monthly, yearly, never ❌ Optional A hint only — Google and Bing may ignore it. Default recommendation: weekly.
<priority> 0.1 – 1.0 (decimal) ❌ Optional Default 0.5. Relative to other pages on your site only — not an absolute ranking signal.
Max URLs per file 50,000 ✅ Hard limit Exceed this and use a <sitemapindex> file instead.
Max file size 50 MB uncompressed ✅ Hard limit Compress with gzip to reduce to ~5–10% of uncompressed size.
URL encoding UTF-8. Escape: &amp; &apos; &quot; &lt; &gt; ✅ Required Ampersands in URLs must be written as &amp; in XML.
Sitemap index root <sitemapindex xmlns="…/sitemap/0.9"> — (when needed) References individual sitemap files. Each child uses <sitemap><loc>.

About This XML Sitemap Generator

The TechOreo XML Sitemap Generator is a free, browser-based tool that builds valid XML sitemaps conforming to the sitemaps.org protocol version 0.9 — the standard supported by Google, Bing, Yahoo and Ask since 2006. All generation happens entirely client-side in JavaScript: no URLs or sitemap data are ever sent to a server.

Unlike basic generators, this tool includes a sitemap index builder for large sites, drag-to-reorder for fine-tuning crawl priority, inline editing without page reloads, bulk URL import for adding hundreds of pages at once, and a validation panel that checks all sitemaps.org limits before you download. The XML preview uses syntax highlighting so you can verify the output before export. Your URL list is automatically saved to your browser's localStorage so you can continue where you left off.

Tool Features

Valid sitemaps.org XML output
📋Bulk URL import (paste multiple lines)
✏️Inline editing — change any field in-place
↕️Drag-and-drop row reordering
🔍Real-time URL filter / search
🔁Duplicate URL detection and removal
📑Sitemap index file generator
🎨Syntax-highlighted XML live preview
📊Priority and changefreq distribution charts
🤖robots.txt Sitemap directive snippet
⬆️Import existing sitemap.xml files
💾Auto-saves to browser localStorage

Frequently Asked Questions

Common questions about XML sitemaps, the sitemaps.org protocol, and how to use this generator effectively.

An XML sitemap is a structured file that lists the URLs of your website, helping search engine crawlers discover and index your pages more efficiently. While Google and Bing can often find pages through internal links alone, a sitemap is especially valuable for new websites, large sites with thousands of pages, sites with poor internal linking, or pages that aren't linked from anywhere. The sitemaps.org protocol — supported by Google, Bing, Yahoo and Ask — defines the XML format your sitemap must follow.
A single XML sitemap file can contain a maximum of 50,000 URLs and must not exceed 50 MB when uncompressed. If your site has more than 50,000 URLs, you must split them across multiple individual sitemap files and reference all of them in a sitemap index file — a special XML document with the root element <sitemapindex> that lists the locations of your sitemap files. Use the Sitemap Index tab in this generator to build one. You submit only the index URL to Google Search Console.
Priority is a decimal value between 0.0 and 1.0 (default: 0.5) that indicates the relative importance of a URL compared to other pages on your site. Recommended values: 1.0 for the homepage only; 0.9 for your most important category or product pages; 0.8 for key landing pages and primary content; 0.6 for standard blog posts; 0.4 for tag, author and archive pages. Priority only signals relative importance within your site — it does not directly influence search rankings.
The seven valid changefreq values are: always (for pages that change on every access, like live feeds), hourly, daily, weekly, monthly, yearly, and never (for archived content). changefreq is a hint to crawlers about how often the content changes — it does not guarantee crawl frequency. Google has stated it uses this value as a rough guide and may override it based on its own crawl signals.
The <lastmod> element must use the W3C Datetime format. The simplest valid format is YYYY-MM-DD (e.g. 2025-06-15). You may also include time with timezone as YYYY-MM-DDThh:mm:ss+00:00 or in UTC as YYYY-MM-DDThh:mm:ssZ. Only update lastmod when the page content has been substantially changed — not for trivial tweaks. Google uses accurate lastmod dates to decide which pages to recrawl first.
A valid XML sitemap must declare the sitemaps.org namespace on its root <urlset> element: xmlns="http://www.sitemaps.org/schemas/sitemap/0.9". This generator also adds the xmlns:xsi and xsi:schemaLocation attributes for full XML Schema validation compliance. The namespace is added automatically — you don't need to type it manually.
There are two recommended methods. First, upload sitemap.xml to your website's root so it is accessible at https://yourdomain.com/sitemap.xml. Then: (1) Google Search Console: go to Indexing → Sitemaps, enter your sitemap URL and click Submit. (2) robots.txt: add the line Sitemap: https://yourdomain.com/sitemap.xml — Google discovers it automatically during crawling. Both methods are recommended. Use the robots.txt snippet in the sidebar to copy the correct directive.
Only include canonical, indexable pages you want search engines to rank. Exclude: pages with a noindex meta tag or X-Robots-Tag; redirect URLs (301, 302, 307); pages blocked by robots.txt; paginated pages beyond page 1 (unless they contain unique content); duplicate or thin-content pages; admin, login, cart and checkout pages; pages with ?session=, tracking, or other parameter variants of the same canonical page; and any URL that returns a non-200 HTTP status code.
Yes. Click Import XML in the top toolbar and select your existing sitemap.xml file. The tool parses all <loc>, <changefreq>, <priority> and <lastmod> values and adds them to your URL list, skipping duplicates automatically. This is useful for editing, expanding, or merging sitemaps before re-exporting.
According to Google's own documentation, changefreq and priority have limited effect on how Googlebot crawls your site. Google primarily uses its own signals — PageRank, content freshness, server response time and crawl budget — to determine crawl frequency and priority. However, lastmod is actively used: accurate lastmod dates help Google prioritise which pages to recrawl after updates. The most important function of a sitemap is simply making sure Google knows your pages exist — especially for new or deeply nested content.