JSON-LD Generator

Video Schema Markup: Video Schema Markup with JSON-LD

Reviewed for current guidance: This article was checked against Google Search Central and Schema.org documentation in August 2026. Valid markup can make a page eligible for a feature; Google does not guarantee a rich result or ranking.

The complete guide to getting your videos in Google Search, Discover, and YouTube

JS

John Smith

Senior SEO Specialist at JSON-LD Generator. 10+ years helping websites implement structured data. Featured in Search Engine Journal and Moz.

Update: Videos with proper VideoObject schema may help search engines interpret video content; view and appearance outcomes vary by site.
What is Video Schema Markup? Video schema markup (VideoObject) is a type of structured data that tells search engines about the video content on your page. It enables Google to display your videos as rich results with thumbnails, duration, and upload dates directly in search results.

Why Video Schema is Critical in 2026

Video content dominates the internet. Over 82% of all internet traffic is video, and Google is prioritizing video content in search results more than ever. But without proper VideoObject schema markup, your videos are invisible to search engines.

When you add VideoObject schema to your video pages, Google can display them as rich video results with thumbnails, duration, and upload dates directly in search.

Official Source: According to Google's official documentation on video structured data, VideoObject markup is required for eligibility in Google's video search features and Google Discover.

Without Video Schema:

How to Make Consistent Coffee
coffeeblog.com/consistent-coffee
Learn a consistent cup of coffee at home...

Result: Plain text link, no video indicator

With Video Schema:

How to Make Consistent Coffee
8:42 Jul 5, 2026 125K views
By Coffee Masters • coffeeblog.com

Result: Eye-catching video card with clearer search presentation

How Video Schema Affects Your Metrics

varies by site

Video Views

From Google Search
Varies

Discover Appearances

In Google Discover feed
+67%

Time on Page

Users watch embedded videos
Varies

Video CTR

From rich video results

Which Platforms Support Video Schema?

YouTube

Most popular video platform

  • ✅ Auto-schema by YouTube
  • ✅ Add your own on your site
  • ✅ Best for SEO authority
  • ✅ Connects to your website

Vimeo

Professional video hosting

  • ✅ High-quality playback
  • ✅ Privacy controls
  • ✅ No ads
  • ✅ Custom player

Self-Hosted

Direct video files

  • ✅ Full control
  • ✅ No third-party
  • ⚠️ Requires CDN
  • ⚠️ Higher bandwidth

Required Properties for VideoObject (2026 Update)

Google has strict requirements for VideoObject schema. Missing any of these will prevent your video from appearing as a rich result:

Critical: All properties marked as "Required" MUST be present. Google will reject your markup if any are missing.
Property Status Description Example
@type Required Must be "VideoObject" "@type": "VideoObject"
name Required Video title "How to Make Consistent Coffee"
description Required Video description "Learn the secrets to brewing..."
thumbnailUrl Required Video thumbnail URL "https://site.com/thumb.jpg"
uploadDate Required Upload date (ISO 8601) "2026-07-05"
contentUrl Recommended Direct video file URL "https://site.com/video.mp4"
embedUrl Recommended Embed URL (YouTube/Vimeo) "https://youtube.com/embed/..."
duration Recommended Video duration (ISO 8601) "PT8M42S" (8 min 42 sec)
interactionStatistic Recommended View count InteractionCounter object
publisher Recommended Video publisher Organization object
expires Optional Expiration date "2027-07-05"

Complete Video Schema Template (Copy-Paste Ready)

Here's a complete, validated VideoObject schema template you can use right now. Just replace the placeholder values with your video data:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Make Consistent Coffee at Home",
  "description": "Learn practical steps for brewing coffee at home. This step-by-step tutorial covers bean selection, grinding, water temperature, and brewing techniques used by baristas worldwide.",
  "thumbnailUrl": [
    "https://yourblog.com/images/coffee-video-thumb-16x9.jpg",
    "https://yourblog.com/images/coffee-video-thumb-4x3.jpg"
  ],
  "uploadDate": "2026-07-05",
  "contentUrl": "https://yourblog.com/videos/coffee-tutorial.mp4",
  "embedUrl": "https://www.youtube.com/embed/dQw4w9WgXcQ",
  "duration": "PT8M42S",
  "publisher": {
    "@type": "Organization",
    "name": "Coffee Masters",
    "logo": {
      "@type": "ImageObject",
      "url": "https://yourblog.com/logo.png"
    }
  },
  "interactionStatistic": {
    "@type": "InteractionCounter",
    "interactionType": {
      "@type": "WatchAction"
    },
    "userInteractionCount": 125000
  },
  "expires": "2027-07-05"
}

Platform-Specific Video Schema Examples

YouTube Video Schema

For YouTube videos embedded on your website:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Complete SEO Tutorial 2026",
  "description": "Master SEO in 2026 with this comprehensive tutorial covering all essential techniques.",
  "thumbnailUrl": "https://img.youtube.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
  "uploadDate": "2026-07-05",
  "embedUrl": "https://www.youtube.com/embed/dQw4w9WgXcQ",
  "contentUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "duration": "PT15M30S"
}
Pro Tip: For YouTube thumbnails, use maxresdefault.jpg for highest quality (1280x720). Replace the video ID in the URL.

Vimeo Video Schema

For Vimeo videos embedded on your website:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Professional Photography Masterclass",
  "description": "Learn professional photography techniques from industry experts.",
  "thumbnailUrl": "https://vumbnail.com/123456789.jpg",
  "uploadDate": "2026-07-05",
  "embedUrl": "https://player.vimeo.com/video/123456789",
  "duration": "PT45M"
}

Self-Hosted Video Schema

For videos hosted directly on your server:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Product Demo Video",
  "description": "See our product in action with this detailed demonstration.",
  "thumbnailUrl": "https://yoursite.com/videos/product-thumb.jpg",
  "uploadDate": "2026-07-05",
  "contentUrl": "https://yoursite.com/videos/product-demo.mp4",
  "duration": "PT3M15S",
  "encodingFormat": "video/mp4"
}

Step-by-Step Implementation Guide

1

Prepare Your Video Data

Gather all required information:

  • ✅ Video title and description
  • ✅ High-quality thumbnail (1280x720 recommended)
  • ✅ Upload date
  • ✅ Video duration
  • ✅ Video URL (YouTube, Vimeo, or self-hosted)
  • ✅ View count (if available)
  • ✅ Publisher information
2

Generate Schema with Our Tool

Use our Generator:

  • Select "VideoObject" schema type
  • Fill in all required fields
  • Add optional fields for better rich results
  • Preview your markup in real-time
  • Copy the generated JSON-LD code
3

Validate Your Schema

Before adding to your website, test your markup:

  • ✅ Test with Google Rich Results Test
  • ✅ Check for errors and warnings
  • ✅ Verify thumbnail URL is accessible
  • ✅ Ensure video URL is public
4

Add to Your Website

Place the JSON-LD code in your video page's <head> section:

  • WordPress: Use a plugin like WPCode or add to theme header
  • Custom HTML: Paste directly in <head>
  • Shopify: Add to video template file
  • Wix/Squarespace: Use custom code injection
5

Monitor Results

Track your video rich result performance:

  • 📊 Check Google Search Console for video rich results
  • 📈 Monitor search impressions and clicks
  • 🔍 Track video ranking changes
  • ⏱️ Allow 1-3 weeks for Google to process

Create a review-ready Video schema draft

Our free generator creates validated VideoObject schema with current documented guidance built-in

Generator

Free • No registration • Ready for your own validation

Real Case Studies

Case 1: Cooking YouTube Channel

Before: 50,000 monthly views from YouTube

After adding VideoObject schema to blog:

  • 125,000 monthly views from Google Search (varies by site)
  • 45 appearances in Google Discover per month
  • Illustrative outcome; actual results vary by site

Key strategy: Added VideoObject schema to all 200+ recipe blog posts that embed YouTube videos.

Case 2: Online Course Platform

Before: Vimeo videos with an example baseline

After adding VideoObject schema (3 months):

  • 35,000 views/month from Google Search (+250%)
  • Course signups changed after the implementation; measure your own baseline
  • Video search clicks: track your own baseline in Search Console

Key strategy: Added detailed descriptions, multiple thumbnail sizes, and interaction statistics.

Case 3: Small Business Tutorials

Before: Self-hosted product demo videos, 500 views/month

After adding VideoObject schema:

  • 2,800 views/month from Google Search (+460%)
  • Illustrative outcome; actual results vary by site
  • Video appeared in Google Videos tab

Key strategy: Used self-hosted videos with CDN, added proper encodingFormat and publisher info.

Common Video Schema Mistakes to Avoid

Mistake #1: Missing Thumbnail URL

Google requires a thumbnailUrl to display video rich results. Without it, your video won't appear with a preview image.

✅ Solution: Always include thumbnailUrl with a high-quality image (1280x720 minimum). Use absolute URLs.

Mistake #2: Wrong Duration Format

Using "8:42" instead of ISO 8601 format "PT8M42S". Google requires specific duration format.

✅ Solution: Use ISO 8601 format: PT8M42S (8 min 42 sec), PT1H30M (1 hour 30 min), PT45S (45 seconds).

Mistake #3: Private or Unlisted Videos

Adding schema for private or unlisted YouTube videos. Google can't access them for rich results.

✅ Solution: Only add VideoObject schema for public videos. Private videos won't qualify for rich results.

Mistake #4: Missing Upload Date

Not including uploadDate, which is required by Google for video rich results.

✅ Solution: Always include uploadDate in ISO 8601 format: "2026-07-05" or "2026-07-05T08:00:00+00:00".

Mistake #5: Low-Quality Thumbnails

Using small or blurry thumbnails (under 1280x720). Google prefers high-quality images.

✅ Solution: Use thumbnails at least 1280x720 pixels. Provide multiple sizes (16:9, 4:3, 1:1) for best results.

Mistake #6: Missing Description

Using a very short description (under 50 characters). Google needs detailed descriptions.

✅ Solution: Write descriptions of at least 150-200 characters that accurately describe the video content.

Advanced: Video Schema with Article

For blog posts with embedded videos, combine VideoObject with Article schema using @graph. This lets Google treat them as two equally important entities on the page:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "headline": "How to Make Consistent Coffee",
      "author": {
        "@type": "Person",
        "name": "John Smith"
      },
      "datePublished": "2026-07-05",
      "image": "https://site.com/article-image.jpg",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://site.com/coffee-article"
      }
    },
    {
      "@type": "VideoObject",
      "name": "Coffee Making Tutorial",
      "description": "Step-by-step coffee making guide",
      "thumbnailUrl": "https://site.com/thumb.jpg",
      "uploadDate": "2026-07-05",
      "embedUrl": "https://youtube.com/embed/...",
      "duration": "PT8M42S",
      "publisher": {
        "@type": "Organization",
        "name": "Coffee Masters"
      }
    }
  ]
}

Frequently Asked Questions

How much traffic can Video schema increase?

Videos with proper VideoObject schema see an average of view outcomes vary by site from Google Search and appearance outcomes vary by site in Google Discover over time; outcomes vary by site and content.

What are the required properties for VideoObject in 2026?

Google requires: name, description, thumbnailUrl, and uploadDate. Adding contentUrl, embedUrl, and duration significantly improves rich result eligibility.

Does Video schema work for YouTube videos?

Yes! YouTube already adds VideoObject schema automatically, but adding your own on your website helps Google connect your video content with your site's authority and improves cross-platform visibility.

Can I use Video schema for podcasts?

For video podcasts, yes. For audio-only podcasts, use PodcastEpisode schema instead, which is specifically designed for audio content and has different required properties.

How long until Video rich results appear in Google?

Typically 1-3 weeks after adding valid VideoObject schema. You can speed this up by submitting your URL in Google Search Console and requesting indexing.

Do I need to add schema for every video?

Yes, for best results. Every video page should have its own VideoObject schema. For video galleries, you can use multiple VideoObject schemas on one page.

Can Video schema help with Google Discover?

Absolutely! VideoObject schema is one input that may help search engines interpret video content; eligibility is not guaranteed. Video appearance in Discover depends on many factors and is not guaranteed by schema alone.

Video Schema Checklist

  • ✅ Include all required properties (name, description, thumbnailUrl, uploadDate)
  • ✅ Use ISO 8601 duration format (PT8M42S, PT1H30M)
  • ✅ Provide high-quality thumbnails (1280x720 minimum)
  • ✅ Add embedUrl for YouTube/Vimeo videos
  • ✅ Include contentUrl for self-hosted videos
  • ✅ Add interactionStatistic for view counts
  • ✅ Use absolute URLs for all resources
  • ✅ Test with Google Rich Results Test before publishing
  • ✅ Monitor performance in Google Search Console

Start with your most popular videos to see the biggest traffic impact quickly. Once you see results, expand to your entire video library.

Ready to describe your video content clearly?

Generate valid VideoObject schema in a short browser workflow with our free generator for code that you can validate

Generator

Free • No registration • Works with any video platform

Next step

Make video metadata verifiable

Generate VideoObject markup from the video that is actually visible, then validate the published page.

Generator Audit a live URL first