SchemaValid
ENDE

Video Schema Generator

Create valid VideoObject JSON-LD structured data for your videos — with thumbnail, upload date, duration and publisher, ready for Google video rich results and AI search. Instant, in your browser, free.

Try an example

Video details


Duration & URLs

Duration (optional)

Converted to ISO 8601, e.g.

Recommended: provide an embed URL or a content URL. Google strongly prefers at least one so it can locate and play the video.


Publisher (optional)

JSON-LD code

Fill in the required fields (title, description, thumbnail, upload date) to generate the JSON-LD code.

Why Video schema matters in 2026

VideoObject structured data tells search engines and AI assistants exactly what a video on your page is about — its title, description, thumbnail, upload date and duration. In 2026 this is one of the highest-leverage markups you can add: it makes your pages eligible for video rich results and the video thumbnail treatment in Google Search, and it is increasingly used by AI-powered search (GEO/AEO) to understand, cite and surface video content in generated answers. A page with clean VideoObject markup gives both classic search and AI answer engines the structured facts they need, which can mean a prominent thumbnail in results and a much higher chance of being featured. It works for free — just valid markup on an indexable page that actually embeds the video.

Required fields and the duration format

Google requires a name, a description, a thumbnailUrl and an uploadDate for video markup — the four fields this tool enforces before it outputs code. Beyond those, you should provide either an embedUrl (the player URL) or a contentUrl (the raw video file), because Google needs a way to actually locate and play the video; providing at least one is strongly recommended. The duration is optional but valuable, and it must be expressed in ISO 8601 format. This tool lets you simply type minutes and seconds — for example 1 and 33 — and converts them into the correct PT1M33S string automatically, so you never have to hand-write the format.

How to add the schema to your site

Copy the generated code and paste it into a script tag of type application/ld+json in the head section of the page that embeds the video — one video per markup block. The title, description and thumbnail in the markup must match the video visible on the page. A minimal example looks like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How IBAN check digits work",
  "description": "A short explainer on the two IBAN check digits.",
  "thumbnailUrl": "https://www.example.com/thumb.jpg",
  "uploadDate": "2026-07-12",
  "duration": "PT1M33S",
  "embedUrl": "https://www.example.com/embed/abc123"
}
</script>

Frequently asked questions

Which fields are required for Video schema?
Google requires a title (name), a description, a thumbnailUrl and an uploadDate. This tool enforces exactly those four. You should also add an embed or content URL so Google can locate and play the video.
What is the difference between embedUrl and contentUrl?
embedUrl is the URL of the video player (for example an iframe embed), while contentUrl points to the raw video file such as an .mp4. Google accepts either, but providing at least one is strongly recommended so the video can actually be played.
How does the duration field work?
Just type the minutes and seconds into the two boxes — for example 1 and 33. The tool converts them into the ISO 8601 duration format that Google requires, in this case PT1M33S, so you do not have to write it by hand.
Does Video schema help with AI search?
Yes. AI-powered search and answer engines (GEO/AEO) rely on structured data to understand and cite content. Clean VideoObject markup gives them the title, description and thumbnail they need, making your video more likely to be surfaced in AI-generated answers.
How do I validate the markup?
Paste your page URL or the generated code into Google's Rich Results Test or the schema.org validator. They parse the JSON-LD and report whether the VideoObject structure is valid and eligible for video rich results.
What is VideoObject schema markup?
VideoObject schema markup is a JSON-LD snippet based on the schema.org VideoObject type that describes a video in a machine-readable way — its title, description, thumbnail, upload date and where to find or play it — on top of the video already embedded on the page.
Can I use this for a YouTube video embedded on my site?
Yes. Set the embedUrl field to the YouTube embed link (the iframe player URL, not the regular watch page URL), and Google can associate your VideoObject markup with the embedded player on your page.
Can I mark up multiple videos on one page?
Yes, but each video needs its own complete VideoObject block — don't mix fields from different videos into one object. If a page genuinely features several distinct videos, generate this markup once per video and include each as its own JSON-LD block.
Does this work for live streams or webinars?
This tool is built for regular, already-recorded videos. For live or upcoming broadcasts, schema.org offers a separate BroadcastEvent structure with start and end times instead of a fixed duration — you'd need to adjust the generated code manually for that case.
Do I need to host the video myself?
No. You can embed a video from YouTube, Vimeo or any other platform, as long as it's actually playable on your page — just point embedUrl or contentUrl at wherever the video lives.
Can I combine VideoObject schema with other schema types?
Yes. It's common to pair a VideoObject with Article schema for a video-embedded blog post, or with Product schema for a product demo video — each is its own JSON-LD block and they don't conflict with each other.
Does valid markup guarantee my video appears in Google's video results?
No. Valid VideoObject structured data makes your video eligible for video rich results, but Google decides which videos actually get shown there based on relevance, quality and overall page trustworthiness.

Related tools