Skip to content

Video Schema Generator - JSON-LD for Video Rich Results

Video Details

Media

e.g. PT5M30S = 5 min 30 sec

Google Search Preview
Video Title
example.com
All Google requirements met

JSON-LD Output

What Video Schema Gets You in Search

VideoObject schema powers the rich video results you see in Google: a large thumbnail with a play button overlay, duration badge, and upload date. These results are visually dominant and pull significant clicks. Videos with proper markup also appear in Google Video search, the video carousel on web results pages, Google Discover, and can qualify for video key moments that let users jump to specific sections.

Four Required Fields, Three Recommended Ones

Google requires name, description, thumbnailUrl, and uploadDate. Without all four, you are not eligible for video rich results. The recommended fields, duration, contentUrl (the actual video file), and embedUrl (the embed player), give Google more to work with. Providing at least one of contentUrl or embedUrl helps Google understand how the video can be played.

YouTube Embeds vs. Self-Hosted Video

If you embed YouTube videos, Google can often extract metadata automatically. But "often" is not "always," and you have no control over what Google pulls. Adding explicit VideoObject schema lets you set the exact title, description, and thumbnail you want in search results. For self-hosted videos, this markup is essential. Without it, Google has almost no way to discover or index your video content.

Thumbnails and Accessibility

Your thumbnail is the single biggest factor in whether someone clicks a video result. Use a high-quality image at least 120x120 pixels (Google recommends much larger). Make sure the thumbnail URL and any video file URLs are not behind authentication, paywalls, or robots.txt blocks. Google's crawler needs to access them. And use ISO 8601 for uploadDate and duration (PT5M30S, not "5:30"). Wrong date formats are one of the most common reasons video markup fails validation.

Frequently Asked Questions

What is VideoObject schema markup?
VideoObject schema markup is JSON-LD structured data that describes a video's title, description, thumbnail, duration, and upload date. Google uses this to display rich video results with thumbnails and play buttons.
Which fields does Google require for video rich results?
Google requires the video name (title), description, thumbnail URL, and upload date. Recommended fields include duration, content URL (the video file), and embed URL.
What format should I use for video duration?
Use ISO 8601 duration format. For example, PT5M30S means 5 minutes 30 seconds, PT1H2M means 1 hour 2 minutes, and PT30S means 30 seconds.
Do I need VideoObject schema if I embed YouTube videos?
Google can often extract video data from YouTube embeds automatically. However, adding explicit VideoObject schema gives you more control over how the video appears in search results and ensures all metadata is accurate.
What is the difference between contentUrl and embedUrl?
contentUrl points to the actual video file (e.g. an .mp4 file), while embedUrl points to the embed player page (e.g. a YouTube embed URL). Providing at least one of these helps Google understand how to play the video.