A sitemap generator on Mac turns a reviewed, in-range list of absolute HTTP or HTTPS page URLs into one downloadable sitemap.xml file with URL validation and optional shared metadata.
That approach suits a site owner who already knows which pages belong in the sitemap. It is not a crawler: the tool does not visit pages, follow links, inspect canonical tags, verify HTTP status codes, or read modification dates.

What the Mac browser workflow covers
The XML Sitemap Generator handles the list-to-XML part of the process. Parsing and file creation happen in the current browser tab, so the pasted URLs and generated XML are not uploaded. On a Mac, that means you can work in your browser without sending the site list to an upload service.
After validation, the tool displays the complete XML and relevant counts, then prepares a local sitemap.xml download. The output begins with a UTF-8 declaration and uses a urlset element with the official Sitemaps XML namespace. Each entry contains a url element and a loc element containing the serialized page address.
The result is a regular XML sitemap rather than a crawler-generated site inventory. The tool does not create sitemap indexes, image, video, or news extensions, hreflang markup, gzip archives, robots.txt rules, or Search Console submissions.
Prepare a list the generator can validate
Begin with a plain-text list containing one page URL per line. Every nonblank line must be an absolute HTTP or HTTPS address. The generator rejects bare domains, relative paths, FTP addresses, malformed percent escapes, raw control characters, embedded credentials, and URL fragments.
Whitespace is handled strictly:
- Whitespace-only lines are ignored.
- Leading or trailing whitespace on a nonblank line is an error rather than being silently removed.
- Credentials are rejected so a username or password cannot be copied into a public sitemap.
- Fragments are rejected because they are not sent to the server as part of an HTTP request.
Accepted URLs are serialized with the browser URL parser, which follows the behavior described in the WHATWG URL Standard. This lowercases host names, removes default ports, adds a root slash where required, and percent-encodes non-ASCII URL components. Deduplication happens after serialization, so equivalent normalized forms are removed. The first occurrence keeps its place in the output, and later copies increase the duplicate count.
| Input or output | Required behavior | Preparation tip |
|---|---|---|
| URL lines | One absolute HTTP or HTTPS URL per nonblank line | Remove bullets, headings, and copied column separators |
| Host scope | One serialized host per file, including any non-default port | Split different domains or ports into separate lists |
| Duplicates | Removed after URL serialization while preserving first-seen order | Review the duplicate count reported after generation |
| Final file | UTF-8 XML with a local sitemap.xml download | Inspect the full preview and counts before publishing |
One generated file is restricted to a single serialized host. HTTP and HTTPS URLs for the same host can appear together because the scheme is not part of the host comparison. A non-default port is part of that host, so a file containing example.com cannot also contain example.com:8443. For additional protocol guidance, review Sitemap Protocol Rules When You Build From a URL List.
Generate sitemap.xml on your Mac
- Prepare the reviewed URL list. Copy the public page addresses you want included into a plain-text editor or export. Confirm that each entry is a complete address beginning with http:// or https://, and remove any surrounding spaces.
- Open the browser-based generator. Load the XML Sitemap Generator in your browser on macOS, then paste the entire list into its URL editor. Do not add numbering or bullet characters because every nonblank line must contain only the URL.
- Check the host boundary. Confirm that the list represents one serialized host, including its port when a non-default port is used. If the list mixes unrelated hosts or ports, split it and generate a separate file for each one.
- Leave the optional fields blank or add shared values. Blank fields produce loc-only entries. If the same last-modified date, change frequency, or priority is truthful for every URL, enter it in the corresponding field.
- Generate and review the complete result. Check the reported counts and read the full XML preview. Look for unexpected normalized URLs, duplicate entries, invalid lines, or metadata mistakes. An invalid line or invalid option fails the whole generation instead of producing a partial sitemap.
- Download and publish the file. Download sitemap.xml when the result is ready, then publish that file on the represented site. The tool cannot verify where the sitemap will be hosted, whether that location is publicly accessible, or whether you have permission to submit it elsewhere.
Set optional fields only when they are accurate
Optional fields are omitted by default. When supplied, each value is applied to every URL in the generated file. The lastmod field accepts a real Gregorian date in YYYY-MM-DD format or a complete date-time with seconds and either Z or a valid UTC offset. Calendar validity, leap years, clock fields, and timezone limits are checked, and surrounding whitespace is rejected rather than removed.
The changefreq field accepts always, hourly, daily, weekly, monthly, yearly, or never. The priority field accepts a decimal value from 0.0 through 1.0. These fields are protocol hints, not crawl commands or ranking guarantees.
Use lastmod only for a genuine significant modification, and only when one shared value is truthful for every entry. Applying an arbitrary date to unrelated pages makes the metadata less useful. Invalid optional metadata fails the entire generation, which prevents a misleading file from being downloaded.
Know the limits before generation
The browser tool uses lower limits than the Sitemaps XML protocol to keep parsing, preview, Blob creation, and browser memory bounded. Every limit is all-or-nothing: the tool returns no shortened XML, ellipsis, capped preview, or partial download.
| Measure | Supported limit | Boundary behavior |
|---|---|---|
| Unique URLs | 10,000 | The 10,000th unique URL is accepted; the next unique URL fails |
| Input text | 5,000,000 UTF-16 code units | Exceeding the budget fails the complete request |
| Serialized location | 2,047 characters | A longer normalized loc fails |
| Generated XML | 10,485,760 UTF-8 bytes | The exact byte boundary is accepted; one additional byte fails |
Duplicate lines do not consume unique-URL slots. Invalid lines are never skipped, and excess valid URLs are never silently dropped. Output size is measured after URL serialization, XML escaping, optional tags, indentation, and UTF-8 encoding. For comparison, the protocol permits up to 50,000 URLs and 52,428,800 uncompressed bytes, while this browser implementation intentionally applies the lower limits shown above.
If you edit a URL or optional setting after generating, the previous temporary download is revoked and the old XML, download, and error are cleared. Generate again to create a fresh result. Generating again also revokes the earlier download before validating the replacement.
Review the file before and after publication
The generated file can only reflect the URLs and metadata you supplied. Before publishing, review redirects, duplicate content, blocked pages, private pages, and missing pages. The generator does not inspect these conditions, and it cannot determine whether a page is indexable or whether its canonical tag points elsewhere.
After downloading, publish sitemap.xml on the site represented by the list. For the separate hosting and submission process, follow Google’s guide to building and submitting a sitemap. The generator itself does not submit the file to Google or any other search engine, so external submission remains a separate manual step.
Finally, confirm that the published file is complete and contains only intended public URLs. A valid sitemap can help search engines discover listed pages, but it does not guarantee crawling, indexing, or ranking. The generator handles URL-list conversion and XML production; the surrounding quality review and publication decisions remain your responsibility.
For a deeper look, see Extract URLs From Sitemap on Windows: XML to URL List.