Key moments
Live stream
Adds BroadcastEvent for the LIVE badge.
Checking… ·
VideoObject markup with key moments and live streams
This video schema generator writes VideoObject JSON-LD for a page that hosts or embeds a video. Fill in title, thumbnails and upload date, add key moments or a live stream, and copy the validated script.
Last updated:
How it works
Start from the video
Paste a YouTube link to fill the player and thumbnail URLs, or enter your own file and player URLs.
Title, date and duration
Type the duration as 12:47 or 1:02:03 – it becomes PT12M47S. The upload date gets the time zone you choose.
Key moments or live
List clips with start and end, or give a URL template for automatic key moments; mark live streams for the LIVE badge.
Features
YouTube link to URLs
The video id is taken from watch, youtu.be, shorts or embed links and turned into embed and thumbnail URLs – by string rules, without contacting YouTube.
Clips for chapters
Each clip gets a name, start and end in m:ss (written as seconds) and a URL that starts the video there.
SeekToAction
For automatic key moments the URL template must contain {seek_to_second_number}; the startOffset-input annotation is added for you.
Live streams
A BroadcastEvent with isLiveBroadcast and start and end times makes the stream eligible for the LIVE badge.
Limits & privacy
Imported JSON-LD or HTML can be up to 1 MB. The form covers one video per page; pages with several videos need one VideoObject each, combined in the JSON.
Thumbnail and video URLs are not fetched or checked for availability. Thumbnails derived from a YouTube id use YouTube’s standard image names; maxresdefault does not exist for every video, so the hqdefault fallback is listed too.
Validation uses the schema.org vocabulary (© schema.org sponsors, CC BY-SA 3.0, see licenses). Everything stays in your browser – see the privacy page.
FAQ
Which video properties does Google require?
name, thumbnailUrl and uploadDate. Recommended are description, duration, contentUrl or embedUrl, and interactionStatistic.
Do I need markup for YouTube videos embedded on my page?
Google can often detect embedded YouTube videos, but markup describes your page's video explicitly and adds key moments and dates.
Clip or SeekToAction?
Clip when you define chapters yourself. SeekToAction when Google may find key moments automatically and your player can jump to any second through the URL.
How is duration written?
In ISO 8601: PT1M54S is 1 minute 54 seconds. Type 1:54 here and it is converted.
Should the video be the main content of the page?
For video features in Search, yes: the video should be prominent and easy to find on the page, not hidden in a sidebar.