Video Schema Generator

Build VideoObject JSON-LD with thumbnail, upload date, duration, video URLs and Clip markup for key moments.

Runs in your browser — nothing you enter is uploaded Free · no sign-up

Validate a live page

    

Paste the code into the page’s <head> or <body>. Valid markup makes a page eligible; Google decides whether to show a rich result. Mark up only content visible on the page. Fields are saved in your browser.

About the Video Schema Generator

VideoObject markup helps Google find and understand videos hosted on your own pages, which can make them eligible for video results and features like key moments. Google requires name, thumbnailUrl and uploadDate; contentUrl, embedUrl, description and duration are recommended, and Clip items let you define key moments with a name, start offset and URL for each section.

This video schema generator builds the markup in your browser without uploading anything. Use a thumbnail URL that Google can crawl, write uploadDate in ISO 8601 with a time zone, and give duration as an ISO 8601 value such as PT4M30S. Google generally shows video results for pages where the video is the main content, so mark up the watch page rather than a blog post with a small embedded clip in the sidebar.

How to use it

  1. Enter the video title, description and thumbnail URL.
  2. Add upload date, duration and the contentUrl or embedUrl.
  3. Optionally add Clip entries with names and start times for key moments.
  4. Copy the JSON-LD to the video's watch page and test it.

Frequently asked questions

What properties are required for VideoObject?

Google requires name, thumbnailUrl and uploadDate. Recommended properties include description, duration, contentUrl (the video file), embedUrl (the player), expires for videos that will be removed, hasPart for Clip key moments and interactionStatistic for view counts. The thumbnail must be crawlable and the upload date should include a time zone.

How do key moments work with Clip markup?

Each Clip marks a segment of the video with a name, a startOffset in seconds, an optional endOffset and a URL that starts playback at that point. Google can use these to show labelled segments. Clips should match real sections of the video and the URL must jump to the right time.

Do YouTube videos embedded on my site need VideoObject markup?

It can help when the video is the main content of your page, because Google then has clear details about your page's video. Use the YouTube embed URL as embedUrl. For pages where the video is incidental, markup is unlikely to change how the page appears.