SERP Snippet Preview
See how your title and description will look in Google results.
VideoObject markup with duration, thumbnail and key moments.
Must be fetchable by Google. 60x30 is the floor; use the largest still you have.
A timestamp then a label. Each becomes a Clip, with its end time taken from the moment after it.
Your generated code appears here.
The Video Schema Generator produces VideoObject JSON-LD with the four properties Google requires — name, description, thumbnailUrl and uploadDate — plus duration and the Clip objects behind key moments. Timestamps are entered the way you would write them in a description, and the ISO durations are calculated from them.
Enter the video title, thumbnail, upload date and duration, and the generator writes the VideoObject JSON-LD. It also builds the Clip list Google uses for key moments, which is the part that turns a single video result into a set of jumpable chapters.
Four properties are required and all four are easy to get subtly wrong. name and description are straightforward. thumbnailUrl must point at an image Google can actually fetch, at least 60x30 pixels and ideally far larger. uploadDate must be an ISO 8601 date with a timezone offset, not a bare date. Duration follows the same ISO duration format as HowTo — PT8M42S for eight minutes forty-two — and this tool converts plain minutes and seconds for you. Key moments need a start time in seconds and a label, one per line, and a URL fragment pointing at that time.
Write "0:00 Intro" per line and each becomes a Clip with start and end times worked out from the next one.
Enter eight minutes forty-two and get PT8M42S, without looking up the format.
The four properties Google requires are validated before you copy, with a note on what each one needs.
Both are supported and explained, since the difference between the media file and the player trips people up.
The upload date is written with an offset rather than as a bare date.
Name, description, thumbnail URL and the page the video is embedded on.
Upload date with a timezone, and the runtime in minutes and seconds — the ISO form is written for you.
contentUrl points at the media file, embedUrl at the player. Give whichever you have; both is better.
One per line as "0:00 Intro". Each becomes a Clip with its start and end times worked out.
Paste it into the page the video sits on, not into the video host.
It helps. YouTube carries its own markup on the YouTube watch page, but that does not describe your page. VideoObject markup on your page is how Google learns the video is a substantial part of it, which is what makes your URL eligible for video results rather than only YouTube's.
Key moments are the chapter links Google shows under a video result. You can supply them through Clip objects with start and end times, which is what this tool generates, or let Google infer them from chapter timestamps in a YouTube description. Explicit Clip markup gives you control over the labels.
ISO 8601 with a timezone offset, such as 2026-03-14T09:00:00+00:00. A bare date usually passes validation but leaves the time ambiguous, which matters for anything time-sensitive.
The stated minimum is 60x30 pixels, but that is a floor rather than a target. Use the largest good-quality still you have; small thumbnails are technically valid and practically useless.
What people who use the Video Schema Generator think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the Video Schema Generator. It takes half a minute and no account.
Write the first reviewSee how your title and description will look in Google results.
Score a headline on length, structure, and the words that pull.
Write a valid ads.txt so your ad inventory is not spoofed.
Cluster a keyword list into groups by the words they share.
Build an image sitemap so Google can find pictures it would miss.
Deduplicate, trim and tidy a messy keyword export.
Find every image with no alt text, or bad alt text.
Write responsive search ad copy against the real character limits.