Free • VideoObject • YouTube + hosted

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.

STEP 1

Add title and description

Required fields for Google.

STEP 2

Add thumbnail and upload date

Both required for video rich results.

STEP 3

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

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.