Video Schema Generator
Build VideoObject JSON-LD with thumbnails, ISO 8601 duration, and content or embed URLs. Paste a YouTube link to autofill the embed URL and thumbnail, and toggle SeekToAction to opt into key moments.
Builds the embed URL and thumbnail from the video ID. No data is fetched, it is pure text.
Provide the largest version you have. Multiple sizes and aspect ratios help.
Tells Google how to deep-link into timestamps. Requires a URL pattern that accepts a seconds parameter.
Where to paste this
Copy the block, script tags and all, and paste it into the HTML of the page where the video is watchable, ideally a page where the video is the main content. Since Google's 2023 change, thumbnail treatments only appear when the video is the primary thing on the page, so a dedicated video page beats a blog post with a video buried halfway down.
What Google needs to index a video
Three things are required: a thumbnail URL Google can fetch, an upload date, and a way to retrieve the video, meaning a contentUrl, an embedUrl, or both. Duration is recommended and encoded as an ISO 8601 duration, so 9 minutes 42 seconds becomes PT9M42S. Thumbnails must be served over https and be at least 60 by 30 pixels, though in practice you should provide the largest image you have, the same one you would use for an Open Graph card.
Key moments with SeekToAction
The SeekToAction block tells Google how to construct a link into any second of your video. The target URL ends with a placeholder, seek_to_second_number in curly braces, that Google replaces with the timestamp. Your player needs to honor that parameter, the way YouTube honors t= in watch URLs. With the pattern in place, Google detects the interesting moments automatically and can show them as jump links under your result.
Frequently asked questions
Do I need video schema for YouTube embeds?
It helps. Google already understands YouTube videos on YouTube itself, but VideoObject markup on your page tells Google that this specific video belongs to this specific page, with your title, description, and upload date. That connection is what makes your page, rather than only the YouTube watch page, eligible for video treatments in results.
What is the difference between contentUrl and embedUrl?
contentUrl points to the actual video file, such as an .mp4, while embedUrl points to a player page Google can load, such as a YouTube embed URL. Google needs at least one of the two to fetch and understand the video. Provide both when you can: the file helps Google process the video content, the embed covers playback.
What are key moments and how do I get them?
Key moments let Google deep-link into specific timestamps of your video directly from search results, like chapter links. The SeekToAction markup this tool generates tells Google how to build a URL that jumps to any second, using the seek_to_second_number placeholder. Google then identifies the moments automatically. You can alternatively mark up specific clips yourself with Clip markup.
Will video schema get my thumbnail into search results?
It makes the page eligible. Pages with valid VideoObject markup can earn a video thumbnail next to their listing and can appear in the video tab and other video surfaces. Since 2023 Google only shows the thumbnail treatment when the video is the main content of the page, so markup helps most on dedicated video pages.