Video Schema Generator (VideoObject JSON-LD)
Add VideoObject structured data so search engines can show your video in rich results and Google Video. Enter the title, thumbnail, upload date and runtime, and get valid JSON-LD you can paste into your page. Everything builds live in your browser.
How to generate video schema
- Enter the video name, thumbnail URL and upload date. These three are required for a video rich result.
- Add the runtime in seconds plus the content or embed URL so the duration and player are described.
- Copy the JSON-LD script and paste it into the <head> or body of the page that hosts the video.
Examples
Two minute tutorial video
name: How to add video schema, thumbnail, uploadDate: 2026-06-09, durationSeconds: 120
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "How to add video schema",
"duration": "PT2M"
}
</script>Video with view count
viewCount: 12000
"interactionStatistic": { "@type": "InteractionCounter", "interactionType": { "@type": "WatchAction" }, "userInteractionCount": 12000 }Frequently asked questions
What is VideoObject schema?
VideoObject is the schema.org type that describes a video to search engines. Added as JSON-LD, it tells crawlers the video's title, thumbnail, upload date, runtime and where the file or player lives. That structured data is what makes a page eligible for video rich results and listings in Google Video.
Which fields does Google require for a video rich result?
Google needs name, thumbnailUrl and uploadDate at minimum, so this generator requires all three and will not build markup without them. Adding duration, contentUrl and embedUrl is strongly recommended: they help Google verify the video, show its length, and enable features like key moments and the inline player.
What is the PT duration format?
Durations use the ISO 8601 format, which always starts with PT and lists hours, minutes and seconds. For example 90 seconds is PT1M30S and two minutes is PT2M. You enter the runtime in plain seconds and the tool converts it to the correct PT string for you.
What is the difference between contentUrl and embedUrl?
contentUrl is a direct link to the raw media file, such as a .mp4, that a crawler can fetch. embedUrl is the URL of an embeddable player, like a YouTube or Vimeo embed link. Provide whichever you have; including both gives Google the most to work with.
How do I test my video schema?
Paste the generated markup into Google's Rich Results Test and the Schema.org validator. They parse the JSON-LD, flag any missing required properties, and confirm the page is eligible for the video rich result. Re-test whenever you change the markup.
Is my data sent anywhere?
No. The JSON-LD is built entirely in your browser. Nothing you type is uploaded, logged or stored, so you can safely use it with unpublished or private video details.
Related tools
Schema Markup Generator
Generate JSON-LD schema markup for Article, Product, FAQ, LocalBusiness, Organization and Breadcrumb. Fill in the fields and copy the script into your page.
Meta Tag Generator
Generate clean HTML meta tags for any page. Set title, description, keywords, author and robots, then copy the head block. Runs in your browser.
Open Graph Generator
Generate Open Graph meta tags for rich link previews on Facebook, LinkedIn and Slack. Fill in title, description, URL and image, then copy the HTML.
Article Schema Generator
Generate Article, NewsArticle or BlogPosting JSON-LD schema. Add headline, author, publisher and dates, then copy the script into your page.
Breadcrumb Schema Generator
Build BreadcrumbList JSON-LD structured data. Add your breadcrumb trail, reorder the steps, then copy or download the script for your page.
Bulk Hreflang Generator
Generate hreflang annotations for many languages at once. Add language and URL rows, pick HTML, XML sitemap, or HTTP header output. Runs in your browser.