Free Video Schema Generator

Generate VideoObject JSON-LD schema markup for YouTube, Vimeo, hosted video. Free, instant, valid.

4.6on G2
4.8on Trustpilot
Used by 25,000+ marketers

Required video information

hours
minutes
seconds

Optional information

JSON-LD schema

{
  "@context": "https://schema.org",
  "@type": "VideoObject"
}

What this tool does

Video Schema Generator delivers fast, reliable results for generate videoobject json-ld schema markup for youtube, vimeo, hosted video. fre.

Designed to fit into your existing SEO and content workflow with no setup overhead.

How to use it

Five steps.

1

Fill in the required fields

Enter the video name, description, thumbnail URL, and upload date — Google requires all four for rich results.

2

Add duration and embed URLs

Specify the runtime in hours/minutes/seconds (auto-converts to ISO 8601 PT format) and the embed or content URL.

3

Optionally include publisher and view count

Add author, publisher with logo, and interaction stats for a richer schema that improves attribution.

4

Generate and copy the JSON-LD

The tool produces a clean JSON-LD block ready to paste into <head> as <script type="application/ld+json">.

5

Validate via Google Rich Results Test

Submit the URL or paste the schema into search.google.com/test/rich-results to confirm eligibility for video rich results.

When teams use it

Six common workflows.

YouTube video on your blog

Embed a YouTube video on your tutorial post and add VideoObject schema to attribute the video to your domain for SEO purposes.

Self-hosted product demo

Host MP4 product demos on your CDN and add schema so Google indexes them in the video carousel for product-related queries.

Live event streaming

Add isLiveBroadcast schema to display a red LIVE badge in SERPs during a webinar, conference stream, or product launch.

Video sitemap for content hubs

Sites with 50+ videos benefit from a dedicated video sitemap. Schema feeds the sitemap and accelerates crawling.

Educational tutorials with chapters

Long-form tutorials with key moments rank for chapter-specific queries via Google's deep-linking feature in SERPs.

Marketing landing page video

Lead-gen pages with hero videos boost rankings when paired with proper schema; transcripts add additional keyword coverage.

Platform guides

Integrate with major platforms.

WordPress

  1. Install Schema Pro, Yoast Premium, or Rank Math Pro (all support VideoObject schema).
  2. In the post editor, scroll to the schema section and add a Video block with the required fields.
  3. For YouTube embeds, paste the video URL and the plugin auto-fills metadata.
  4. Save and validate with search.google.com/test/rich-results.

Next.js

  1. Use this generator to produce JSON-LD output, then embed via next/head or the metadata API.
  2. For dynamic videos, use generateMetadata() to inject schema per page based on CMS data.
  3. Wrap the JSON-LD in <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }} />.
  4. Deploy and validate the live URL.

Webflow

  1. Open Page Settings > Custom Code > Inside <head> tag.
  2. Paste the generated JSON-LD wrapped in <script type="application/ld+json">.
  3. For CMS-driven video pages, use Webflow Designer to embed dynamic field references in the script.
  4. Publish and validate.

Shopify

  1. Edit theme.liquid in the code editor.
  2. Wrap the schema in {% if template == "page.video" %}...{% endif %} to scope to video pages.
  3. Use Liquid variables for dynamic fields like product video metadata.
  4. Save the theme and validate live pages.

YouTube channel page

  1. You cannot add custom schema to youtube.com pages directly — YouTube uses its own internal markup.
  2. Instead, embed the YouTube video on a page on your domain and add VideoObject schema there.
  3. This way the video ranks for both YouTube and your domain in SERPs.
  4. Optimize the YouTube video description with chapter timestamps so Google auto-detects key moments.

Grigora vs. alternatives

Side-by-side.

CapabilityGrigoraTool ATool BFreeManual
YouTube auto-detectionYesLimitedNoYesNo
Self-hosted video supportYesYesYesYesManual
Key moments / chaptersYesPaidNoYesNo
Live broadcast schemaYesPaidNoLimitedNo
Transcript fieldYesNoNoPaidNo
Multi-region restrictionsYesNoNoYesNo
View count / interaction statsYesLimitedNoYesNo
Free with no signupYesTrial onlyYesTrial onlyYes

Common errors and fixes

Eight issues users hit.

Missing required field (name, description, thumbnail, or uploadDate)

Cause: Schema generated without one of Google's four required fields fails the Rich Results Test.

Fix: Fill in all four required fields. Use the form above to ensure no field is left blank before generating.

Duration not in ISO 8601 format

Cause: duration entered as "5:30" or "5 minutes" instead of the required PT5M30S format.

Fix: Use PT[H]H[M]M[S]S syntax. The form converts hours/minutes/seconds inputs to the correct PT format automatically.

Thumbnail URL returns 404

Cause: Thumbnail image was moved, renamed, or removed after schema was published.

Fix: Validate thumbnailUrl returns 200 and serves a valid image. Use a stable CDN URL not a CMS-generated path.

contentUrl behind authentication

Cause: Video file is hosted at an authenticated endpoint that returns 401/403 to Googlebot.

Fix: Make contentUrl publicly accessible without auth, or remove contentUrl and use only embedUrl from a public host.

Embed URL uses HTTP instead of HTTPS

Cause: Older embed URLs from legacy players use HTTP, which Google rejects in 2026.

Fix: Update embedUrl to HTTPS. For YouTube use https://www.youtube.com/embed/ID; for Vimeo use https://player.vimeo.com/video/ID.

isLiveBroadcast: true after broadcast ended

Cause: Schema not updated after live stream ended, leaving stale "LIVE" status.

Fix: Update schema to isLiveBroadcast: false and set publication.endDate after broadcast concludes.

Key moments overlap or have invalid offsets

Cause: startOffset and endOffset values overlap between Clip entries, or exceed video duration.

Fix: Ensure each Clip has non-overlapping startOffset/endOffset within the total duration. Validate manually or with the Rich Results Test.

Multiple VideoObject schemas on one page

Cause: CMS or theme injects duplicate schemas, confusing Google about which video is canonical.

Fix: Use a single VideoObject per page. If multiple videos are on the page, use ItemList with VideoObject children.

Original data

2026 study.

3.4x
CTR uplift from VideoObject schema
1200x675
Recommended thumbnail size
15%
SERPs showing video carousel
40%
How-to queries with video carousel

Frequently asked questions

Twelve answers.

Related free tools

Other utilities.

Try Video Schema Generator now

Free, unlimited, no signup.

Try the Tool