Video Schema Generator
Mark up videos with VideoObject JSON-LD. Works for YouTube embeds, Vimeo, self-hosted videos. Helps videos appear in Google video results.
Add title and description
Required fields for Google.
Add thumbnail and upload date
Both required for video rich results.
Optional: duration and URLs
Embed URL for YouTube, content URL for direct video files.
Video details
How Video schema helps videos rank
When you embed a YouTube video on your blog, Google does not automatically know what it is. Video schema tells Google: this page contains a video about X, here is the thumbnail, here is when it was uploaded. This is what makes videos eligible for video rich results, video carousels, and the special "key moments" feature.
ISO 8601 duration cheat sheet
PT5M30S= 5 minutes 30 secondsPT1H15M= 1 hour 15 minutesPT45S= 45 secondsPT2H= 2 hours
Frequently asked questions
Does YouTube already have its own video schema?
On youtube.com, yes. But when you embed a YouTube video on your blog, your page needs its own schema for that page to compete in search.
What is the difference between embedUrl and contentUrl?
embedUrl is the iframe link (e.g. youtube.com/embed/abc). contentUrl is the actual video file (.mp4). Include both when possible.
How big should the thumbnail be?
Minimum 60x30 px, recommended 1280x720 (16:9). Higher resolution helps in carousels.
Will my video appear in Google video search?
Maybe. Schema is necessary but not sufficient. The video must also be relevant, the page useful, and competition not too fierce.
Can I have multiple videos on one page?
Yes, add multiple VideoObject schemas, one per video. Or nest them inside an ItemList for video gallery pages.