Sitemap.xml generator (paths or CSV)
Related Tools
About Sitemap.xml generator (paths or CSV)
This tool builds a standard sitemaps.org `sitemap.xml` from a list of URL paths, full URLs, or a two-column CSV (path, lastmod). It is aimed at teams using Next.js, Vite, React SPAs, Astro, and other non-WordPress stacks where the list of public routes often comes from a build script, a CMS export, or a hand-maintained file — not a traditional crawl-only plugin. You set a site base (origin or subdirectory), choose whether to add optional `lastmod` values, and copy or download the result. The XML is built entirely in the browser.
Key Features
- Path list mode: one path (e.g. /about) or absolute URL per line; supports # comments and blank lines
- CSV mode: path in the first column, optional W3C lastmod in the second; optional header row
- Optional lastmod: omit, same calendar date for every URL, or per-row from CSV for mixed publish dates
- Subdirectory bases: e.g. https://docs.example.com/help/ with relative path segments under that base
- Dedupes by final URL, caps at 50,000 entries per the sitemap protocol
- Copy to clipboard and download sitemap.xml for deployment or Search Console
Use Cases
- After shipping a new marketing site, paste all static routes and submit the sitemap in Google Search Console
- Vite or Rollup static builds: feed paths from your route manifest or a glob export
- Next.js or Nuxt: combine known app routes and dynamic slug lists exported from a CMS as CSV with lastmod
- A/B staging: compare a rebuilt sitemap against production before you swap DNS
- Multi-origin products: list full https URLs in the path list to include partner or docs domains in one file
Pro Tips
- List paths starting with / so the generator joins them to your site origin; use full URLs to override or add another host
- lastmod is optional for Google; if you set it, use real change dates (YYYY-MM-DD is fine) rather than a fake “today” on every URL
- Host sitemap at /sitemap.xml (or a sitemap index) and reference it in robots.txt with a Sitemap: line for crawlers that read it first
- If you exceed 50,000 URLs or 50MB uncompressed, split into multiple sitemap files and a sitemap index — this tool is for typical marketing and app site sizes in one file
- For Next.js 13+ app router, you can still use this to assemble routes from a script even when you add generateSitemaps later
Frequently Asked Questions
Is this a replacement for the Next.js sitemap or Vite plugin?
No — those integrate with your build and can be ideal for large apps. This page is a fast, login-free way to turn a list of paths (from a spreadsheet, a script, or a migration) into valid sitemap XML you can check in, serve as a static file, or test in Search Console. Use it when the source of truth is a route list, not a WordPress sitemap plugin.
What date format should lastmod use?
Google and the sitemaps spec accept a W3C date: YYYY-MM-DD, or a full ISO-8601 datetime. This tool accepts common inputs (and CSV cells) and normalizes to a safe string in the output.
Do I need lastmod in my sitemap?
It is optional. It can help crawlers prioritize recrawls of updated pages, but it does not guarantee indexing or ranking. If you are unsure, you can select “Omit” and only add lastmod when you can keep it accurate.
Are my paths uploaded to a server?
No. The generator runs in your browser; AllOneTools does not receive the URL list. Clear the field when you are done on a shared device.
What is the 50,000 URL limit?
The sitemap protocol allows at most 50,000 URLs and 50MB (uncompressed) per sitemap file. This tool enforces the URL count. For very large sites, create multiple sitemap files and a sitemap index, or use a server-side sitemap on your app.
