Staaarter

Image Sitemap Generator

Add rows of page URL, image URL, and an optional caption, and generates valid sitemap XML using Google's image sitemap extension (xmlns:image), grouping every image under its parent page's single <url> entry the way the spec expects, with XML-escaped output ready to upload. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-08-04
By Staaarter Team
generatorimagescrawling

Overview

Introduction

Google can often find images on its own by crawling a page's HTML, but that discovery isn't guaranteed for images loaded dynamically, hosted on a separate image CDN domain, or buried deep in a large gallery site.

An image sitemap gives search engines an explicit, structured list of which images belong to which page, and this tool generates that XML from a simple row-based form instead of requiring you to hand-write the nested <url>/<image:image> structure.

What Is Image Sitemap Generator?

A generator that turns rows of {page URL, image URL, caption} into valid sitemap XML using both the base sitemaps.org <urlset> schema and Google's image sitemap extension namespace (xmlns:image="http://www.google.com/schemas/sitemap-image/1.1").

Rows sharing the same page URL are automatically grouped into a single <url> block with multiple <image:image> children, matching the structure Google's image sitemap documentation expects rather than producing one <url> entry per image.

How Image Sitemap Generator Works

Each row you fill in is validated as needing both a valid absolute http:// or https:// page URL and image URL; rows missing either (or left entirely blank) are skipped from the output and counted, not silently dropped without explanation.

Valid rows are grouped by page URL preserving first-seen order, and for each group a <url><loc>page</loc><image:image><image:loc>image</image:loc>...</image:image>...</url> block is built, with every URL and caption run through XML character escaping.

When To Use Image Sitemap Generator

Building an image sitemap for a photography portfolio, product catalog, or gallery site where images carry real SEO value through Google Images traffic.

Submitting image URLs that live on a separate CDN or subdomain from the page itself, which Google's crawler might not automatically associate with the right page without an explicit sitemap.

Features

Advantages

  • Automatically groups multiple images under one page's <url> entry instead of requiring you to hand-build that nested structure, which is the part of the image sitemap spec most likely to get flattened incorrectly by hand.
  • Escapes XML special characters in every URL and caption, avoiding a common cause of malformed sitemap XML from a URL's query string or an ampersand in a caption.
  • Reports how many rows were skipped as invalid, so a typo'd URL doesn't just silently vanish from the generated sitemap without you noticing.

Limitations

  • This only generates the image sitemap XML text; it doesn't verify that the image URLs actually resolve, that they're publicly crawlable, or that they match Google's image sitemap content guidelines (like not linking to images blocked by robots.txt).
  • It doesn't support every optional image sitemap field from Google's older spec (geo_location, license, title) - only <image:loc> and <image:caption>, which cover the fields most sites actually use.

Examples

Two images grouped under one page

Input

Row 1: page https://example.com/gallery, image https://example.com/img/sunset.jpg, caption "Sunset over the bay"
Row 2: page https://example.com/gallery, image https://example.com/img/pier.jpg, caption "" (blank)

Output

<url>
  <loc>https://example.com/gallery</loc>
  <image:image>
    <image:loc>https://example.com/img/sunset.jpg</image:loc>
    <image:caption>Sunset over the bay</image:caption>
  </image:image>
  <image:image>
    <image:loc>https://example.com/img/pier.jpg</image:loc>
  </image:image>
</url>

Both rows share the same page URL, so they're merged into a single <url> block with two <image:image> children; the second image's blank caption simply omits the <image:caption> element.

Best Practices & Notes

Best Practices

  • Only list images that are meaningful content on the page (product photos, article images), not decorative background images or UI icons, which Google's guidelines say not to include.
  • Keep an image sitemap under the same 50,000-URL / 50MB limits as a regular sitemap, splitting a very large image catalog across multiple sitemap files and a sitemap index if needed.

Developer Notes

Grouping is done with a Map keyed by exact trimmed pageUrl string, so "https://example.com/gallery" and "https://example.com/gallery/" are treated as two different pages and produce two separate <url> blocks; keep page URLs consistent across rows for the same page to avoid an accidental split.

Image Sitemap Generator Use Cases

  • Submitting a photography portfolio or product catalog's images to Google Images via a dedicated sitemap
  • Making JavaScript-loaded gallery images discoverable to search engines without relying on crawl-time rendering
  • Documenting which images belong to which page when images are served from a separate CDN domain

Common Mistakes

  • Creating a separate <url> entry per image instead of grouping same-page images together, which works against the sitemap protocol's expectation and can make a large site's sitemap needlessly bloated.
  • Listing image URLs that are blocked by robots.txt or return a non-200 status, which contradicts the sitemap's claim that the image is available and crawlable.

Tips

  • Enter every image for the same page using the exact same page URL string across rows (including trailing slash consistency) so they get grouped into one <url> block instead of accidentally splitting into two.

References

Frequently Asked Questions