XML Sitemap GeneratorCreate sitemap.xml from a URL list

Paste a list of URLs and download a sitemap.xml in the sitemaps.org format. Set lastmod, priority and changefreq by URL pattern, import and check an existing sitemap, and split large lists into several files with a sitemap index.

Your input is never sent anywhere.

Details

Base URL (for relative paths)

URLs in your sitemap

0URLs
Estimated size ~0B

Tags to include

Google ignores changefreq and priority. “lastmod only” gives you a smaller file.

Split size

sitemap.xml preview

Add URLs to see a sitemap.xml preview here

URL list and HTML sitemap export

Import a sitemap.xml to pull out just its URLs. The CSV also includes lastmod, changefreq and priority.

HTML sitemap (for a visitor-facing page)

A <ul> list of links to paste into a visitor-facing sitemap page. Link text is the URL path (the home page is labeled “Home”), so rename the links if you like.

Line to add to robots.txt

Sitemap: https://example.com/sitemap.xml

Bulk actions

Rules by URL pattern

Sets priority and changefreq on every URL that contains the text (not case sensitive). If several rules match, the one highest in the list wins.

Normalize URLs

Lowercasing also changes the path. Use it only if your server treats /About and /about as the same page.

Exclude URLs

Remove URLs you don’t want in the sitemap, such as noindex pages, tag archives or admin paths. Separate several keywords with commas.

URL list (0)

Added URLs will appear here

What an XML sitemap is and what this tool builds

An XML sitemap is a file that lists the URLs on your site, with an optional lastmod, changefreq and priority value for each one. Search engines read it to discover pages, including new pages and pages with few internal links.

This sitemap generator turns a pasted list of URLs into a sitemap.xml file in the sitemaps.org format. Relative paths such as /about are joined to the base URL you enter. You can set lastmod, changefreq and priority one URL at a time, for the whole list, or by URL pattern such as /blog/.

It can also load an existing sitemap.xml for editing, flag common problems, remove URLs you don't want, export the URL list as TXT or CSV, create an HTML sitemap, and split lists that are too big for one file. Google ignores priority and changefreq, so the tool lets you leave them out of the file.

Where it helps: launches, static sites, migrations, audits

Submitting a new site to Search Console

Build a sitemap from your list of URLs, then submit it in the Sitemaps report. The tool also writes the Sitemap line for your robots.txt.

Static sites and hand-built pages

If nothing on your site generates a sitemap, keep your URLs in a list and rebuild the file whenever pages are added or removed.

Cleaning up a CMS-generated sitemap

Load the file, remove tag pages, parameter URLs and admin paths, fix inconsistent trailing slashes, and download a clean version.

Pulling the URLs out of a sitemap

Load a sitemap.xml and save its URLs as TXT or CSV for a site migration checklist, a crawl, or a spreadsheet.

Making an HTML sitemap page

Turn the same list into a list of links you can paste into a sitemap page for visitors.

Splitting a very large URL list

Break a list of more than 50,000 URLs into several files and a sitemap-index.xml that points to them.

How to build a sitemap file from a URL list (5 steps)

  1. Enter your site's base URL, such as https://example.com. You need it if any URLs are relative paths like /about, and for the sitemap index when a list is split.
  2. Paste one URL per line under Paste URLs and select Add to list. To start from an existing file, open Import existing sitemap and load the XML or choose the file.
  3. Set lastmod, changefreq and priority under Bulk actions. Use Set priority by path depth, or add rules by URL pattern and select Apply rules.
  4. Read the Sitemap check. Use Normalize URLs, Exclude URLs, Remove duplicates or Remove invalid to fix what it flags.
  5. Choose the tags to include, check the preview, then select Download sitemap.xml or Copy XML. Upload the file to your site and submit it in Search Console.

Note: Your URLs are processed in your browser and are not uploaded. Your base URL, your rules and the first 2,000 URLs of your list are saved in this browser's local storage, so you can pick up where you left off.

Before you upload: URL rules and file limits

  • One sitemap file can hold up to 50,000 URLs and 50 MB uncompressed. When your list is longer than the split size you choose (50,000, 10,000, 5,000 or 1,000), the tool outputs several files plus a sitemap-index.xml. The index points to your base URL, or to https://example.com if the field is empty.
  • Use one form of each URL: one protocol (http or https), one host, and one trailing-slash style. The Sitemap check flags mixes of these.
  • List only the canonical URLs you want in search results. Leave out noindex pages, redirects, error pages and parameter URLs.
  • Google ignores priority and changefreq. It uses lastmod only when the dates are consistently accurate, so set it to the day the page content really changed. URLs you paste start with today's date; change it if that isn't true.
  • Imported sitemaps keep each URL's lastmod date (the time of day is dropped), and a missing lastmod stays blank.
  • Lowercase URLs changes the whole URL, including the path. Paths are often case-sensitive, so use it only if your server treats /About and /about as the same page.
  • Put the file on the site it describes, usually at /sitemap.xml. Unless you submit it in Search Console, a sitemap only covers URLs in its own directory and below, so the site root is the safest place.

Typical priority and changefreq values by page type

Use these as starting points. Google ignores both tags, so treat them as optional hints for other tools that read them.

Page typePriorityChangefreqWhy
Home page1.0dailyIt's the entry point, and new content is linked from it
Category or archive pages0.8daily to weeklyThey change as items are added and lead to deeper pages
Articles and product pages0.6 to 0.5monthlyThere are many of them, and each changes rarely after publishing
About and contact0.4yearlyThey are rarely updated
Terms and privacy policy0.3yearlyThey change only when the policy changes
Old archive pages0.3neverThe content is final

Priority is relative to your own site. Giving every page 1.0 tells a crawler nothing. Set priority by path depth assigns 1.0 to the home page, 0.8 to paths with one segment such as /blog, 0.6 to two segments, 0.5 to three, and 0.3 to anything deeper.

Rules by URL pattern work on any text in the URL. For example, add /category/ with 0.8 and daily, and /blog/ with 0.6 and monthly, then select Apply rules. Each URL takes the values of the first matching rule in the list. URLs that match no rule are left as they are.

lastmod is the tag to keep accurate. Google uses it only if it is consistently and verifiably accurate, so don't reset every date to today.

sitemap.xml format: required tags, dates and limits

What the generated file contains, based on the sitemaps.org protocol, in case you write or review a sitemap by hand.

Required tags: urlset and loc

A sitemap needs a <urlset> element with the namespace http://www.sitemaps.org/schemas/sitemap/0.9, and a <url> with a <loc> for each page. lastmod, changefreq and priority are optional.
Save the file as UTF-8 and escape special characters such as & in URLs. The tool adds the namespace and escapes every value for you.

The lastmod date format

lastmod uses the W3C Datetime format: a date like 2026-11-02, or a full timestamp like 2026-11-02T10:00:00+00:00. This tool writes dates only. A value such as 2026/11/02 isn't valid, and the tool leaves invalid dates out of the output.

File limits and the sitemap index

One sitemap file is limited to 50,000 URLs and 50 MB uncompressed. For more, create several sitemaps and list them in a sitemap index file, which you can submit to Google in place of the individual files.
The tool builds sitemap-1.xml, sitemap-2.xml and so on, plus sitemap-index.xml. Each index entry points to your base URL, and the lastmod on every entry is the newest lastmod in your list.

What belongs in a sitemap

List the canonical URLs you want to appear in search results. Leave out noindex pages, redirects, error pages and parameter URLs, and use one protocol, one host and one trailing-slash style.
Exclude URLs removes anything that contains your keywords (separated by commas) or matches a regular expression. Normalize URLs can remove trailing slashes, strip ? and # parts, or lowercase the URLs.

Exporting a URL list or an HTML sitemap

Save URLs as TXT writes one URL per line, which is also a sitemap format Google accepts. Save URLs as CSV adds lastmod, changefreq and priority columns.
An XML sitemap is for crawlers; an HTML sitemap is a page of links for visitors. The tool builds the HTML version as a <ul> list from the same URLs.

Telling search engines where the sitemap is

Upload the file to your site, then submit its URL in the Sitemaps report in Google Search Console, which shows when Googlebot fetched it and any processing errors. You can also add a line like Sitemap: https://example.com/sitemap.xml to robots.txt. The tool writes that line under the preview, using sitemap-index.xml when your list is split.

Common sitemap mistakes and how to fix them

Listing URLs that no longer exist

Deleted or merged pages stay in the file, so crawlers keep requesting URLs that redirect or return errors.

💡 See the solution▼
Load your live sitemap.xml, use Exclude URLs to remove the old paths, and download the cleaned file.

Giving every page priority 1.0

A value that is the same on every URL carries no information.

💡 See the solution▼
Use Set priority by path depth or rules by URL pattern, or choose “lastmod only” because Google ignores priority anyway.

Mixing parameter URLs and tag pages into the list

A list collected by a crawler often includes search results, tag archives and URLs like ?preview=.

💡 See the solution▼
Run the Sitemap check, use Strip ? and # to normalize, then use Exclude URLs with keywords such as /tag/ or ?preview=, or with a regular expression.

Setting lastmod to today on every page

If dates change when the content didn't, they stop being reliable. Google uses lastmod only if it is consistently and verifiably accurate.

💡 See the solution▼
Edit the date only on pages you actually changed. If you can't keep dates accurate, turn lastmod off under Tags to include.

Uploading the file but not telling search engines

A sitemap does nothing if search engines don't know where it is.

💡 See the solution▼
Submit the file's URL in the Search Console Sitemaps report, and add the Sitemap line from the tool to your robots.txt.

Splitting a list without entering the base URL

When the base URL field is empty, the sitemap index and robots.txt line use https://example.com as a placeholder.

💡 See the solution▼
Enter your real site URL in Base URL before you download sitemap-index.xml or copy the robots.txt line.

Sitemap questions: priority, limits, submission

Q.What is a sitemap.xml file, and do I need one?

Q.

A. A sitemap.xml file lists the URLs on your site that you want search engines to know about. Search engines can also find pages by following links, but a sitemap helps with new pages, pages that few other pages link to, and large sites. It does not guarantee that a page will be crawled or indexed.

Q.How do I create a sitemap.xml file?

Q.

A. Paste one URL per line, select Add to list, then select Download sitemap.xml. Lines that start with / are joined to the base URL you enter. If you leave the base URL empty, an entry such as example.com/page gets https:// added, while a bare /page stays relative and is flagged as invalid and left out of the file.

Q.Does Google use priority and changefreq in a sitemap?

Q.

A. No. Google's documentation says it ignores both values. It uses lastmod only if the dates are consistently and verifiably accurate. The tool still lets you set priority and changefreq in case another tool reads them, and the “lastmod only” button removes both from the output.

Q.What priority should I give each page?

Q.

A. Priority is a number from 0.0 to 1.0 that ranks a page against other pages on your own site. A common pattern is 1.0 for the home page, about 0.8 for category pages, and 0.5 to 0.6 for individual articles or products. The tool can set priority by path depth, or by rules such as “URLs containing /blog/ get 0.6”. If you only care about Google, you can skip priority entirely.

Q.How many URLs can one sitemap contain?

Q.

A. A single sitemap can hold up to 50,000 URLs or 50 MB uncompressed, whichever limit you reach first. For larger lists you need several sitemaps, and you can list them in a sitemap index file. The tool does this for you: pick a split size of 50,000, 10,000, 5,000 or 1,000 URLs and it builds sitemap-1.xml, sitemap-2.xml and so on, plus sitemap-index.xml.

Q.How do I submit a sitemap to Google Search Console?

Q.

A. Upload the file to your site, usually at /sitemap.xml, then open the Sitemaps report in Search Console and submit the file's URL. The report shows when Googlebot fetched the file and any processing errors. You can also add a Sitemap line to robots.txt; the tool writes that line for you under the preview.

Q.Can I edit an existing sitemap.xml?

Q.

A. Yes. Open Import existing sitemap, paste the XML or choose the file, and the tool loads each URL with its lastmod date, changefreq and priority. It does not fetch anything from your site, so you paste or choose the file yourself. Values it does not accept are replaced: an invalid lastmod is cleared, and a changefreq or priority it does not accept is set to your bulk settings (priority must be 0.0 to 1.0 in steps of 0.1). A missing lastmod stays blank, and only the date part of a timestamp is kept. If you load a sitemap index, you get the URLs of its child sitemaps, not their pages.

Q.How do I get a list of URLs from a sitemap?

Q.

A. Load the sitemap.xml with Import existing sitemap, then select Save URLs as TXT for one URL per line, or Save URLs as CSV for columns named loc, lastmod, changefreq and priority. The CSV is saved as UTF-8 with a byte order mark so Excel opens it correctly. Only valid URLs are exported.

Q.What is the difference between an XML sitemap and an HTML sitemap?

Q.

A. An XML sitemap is a file for search engine crawlers. An HTML sitemap is a regular page of links for visitors. The tool can produce both from the same list: the HTML output is a <ul> list of links, with the URL path as the link text, and the home page labeled “Home”.

Q.Can I download the sitemap as a .xml.gz file?

Q.

A. Yes, for a single sitemap file, as long as your browser supports compression streams. Select Download as .xml.gz. The button is turned off when your list is split into several files, because each part would need to be compressed and referenced separately. The 50 MB limit applies to the uncompressed file.

Q.Is my URL list sent to a server?

Q.

A. No. The tool builds the XML in your browser and does not upload your URLs. Your base URL, rules and the first 2,000 URLs of your list are saved in this browser's local storage so you can continue later. Select Clear list to empty the list.

User Feedback & Request

Your feedback
makes this tool better.

Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.

Send feedback