---
title: Free Video Sitemap Generator
slug: video-sitemap-generator
last_reviewed: 2026-06-30
author: editorial
source: LemAudit Free Tools
---

## Intro

A video sitemap is the only reliable way to get your self-hosted (non-YouTube) video content indexed in Google's Video search vertical. Without one, Google might still discover your videos through a regular sitemap or page crawl — but indexing is slow, thumbnails are inconsistent, and the rich video result on the SERP often doesn't appear at all. With a proper video sitemap, the videos show up in the dedicated Video tab in Google Search Console within days and start collecting impressions almost immediately.

The format is fussy. Google's [video sitemap spec](https://developers.google.com/search/docs/crawling-indexing/sitemaps/video-sitemaps) requires five fields per video — page URL, thumbnail URL, title, description, and either a content URL or a player URL — plus a long list of optional metadata fields (duration, publication date, family-friendly flag, restriction tags, etc.). Get any of the required fields wrong and Google silently drops the entry from the index.

This generator handles the spec for you. You paste one row per video — pipe-delimited columns covering the five required fields and two optional ones (duration in seconds, ISO publication date) — and we produce a valid `<urlset xmlns:video=...>` XML file ready to submit to Google Search Console.

A few small choices the generator makes for you:

- **Player vs content URL.** Google accepts either, but uses them differently. If the URL looks like a YouTube embed, a Vimeo player, or has `/embed/` or `/player/` in the path, we use `<video:player_loc>`. Otherwise we use `<video:content_loc>` (which means a direct link to an `.mp4`, `.webm`, or similar). Get this wrong and Google can't render a preview.
- **XML escaping.** Titles and descriptions with apostrophes, ampersands, or angle brackets need to be escaped or the file won't parse. We escape every text field automatically.
- **Validation.** We warn (but don't block) when titles exceed Google's 100-char display limit, when descriptions exceed the 2048-char hard cap, and when durations fall outside Google's 1-second to 8-hour valid range.

After generating, you upload the file to your site (typically as `/sitemap-videos.xml`) and submit it in Google Search Console under Sitemaps. Google starts crawling within hours.

## When not to use this

Don't use a video sitemap for YouTube-hosted videos that aren't embedded on your own pages. If your videos live entirely on YouTube and you have no companion landing pages, YouTube's own indexing handles them. A video sitemap only helps when there's a public page on your domain that hosts or embeds the video — Google indexes the page, not the video file itself.

Don't generate a video sitemap for fewer than three videos. Google's video search vertical favours sites that publish video content regularly. A one-off video on a landing page is better served by an `Article` schema with a `video` property than by a dedicated sitemap.

Don't use this tool to game search results with thin video content. Google's video search uses click-through and dwell-time signals; pages where users abandon within a few seconds get demoted out of video search regardless of how well-formed the sitemap is. The sitemap solves the "Google can't find my videos" problem, not the "my videos aren't interesting" problem.

## FAQ

### Where do I put the file?

Anywhere on your domain that's publicly accessible. Common convention is `/sitemap-videos.xml`. After uploading, add the URL to your `robots.txt` as `Sitemap: https://yoursite.com/sitemap-videos.xml` and submit it in Google Search Console.

### Can I have one big sitemap with both pages and videos?

Yes — Google accepts a sitemap that mixes regular `<url>` entries and `<url>` entries with `<video:video>` children. But for clarity and maintenance, most sites keep them separate.

### What's the difference between `content_loc` and `player_loc`?

`content_loc` points at the raw video file (`.mp4`, `.webm`). Google can fetch it directly to validate. `player_loc` points at an embeddable player URL (a YouTube `/embed/` URL, a Vimeo player URL). Use `content_loc` for self-hosted videos and `player_loc` for embedded third-party players.

### Does the publication date matter?

Yes — Google uses it to sort video results by recency. For evergreen content, set it to the original publish date. For news or time-sensitive content, keep it updated whenever you make a substantial revision.

### How often should I regenerate the file?

Every time you add or remove a video. Google re-crawls submitted sitemaps automatically, but you can force a refresh in Search Console under Sitemaps → Refresh.

### Does this tool support video transcripts or chapters?

Not in this version. The Google video sitemap spec doesn't include transcripts or chapters as official fields — those are surfaced through YouTube's own metadata or through structured data on the host page using `Clip` and `SeekToAction` schema. If you need rich chapter markers in Google Search, add those alongside the sitemap.
