Skip to content
generalFeatured

JSON-LD VideoObject Generator- Schema markup for videos

Generate valid JSON-LD VideoObject structured data for your videos. Includes strict validation of required fields, ISO 8601 duration parsing, and proper schema.org formatting for Google's rich results.

How it works

  1. 1

    Provide Video Name, Description, Upload Date, Duration, Thumbnail URL, Content URL (Video File), Embed URL, Publisher Name (optional), Publisher Logo URL (optional).

  2. 2

    Run the tool to generate the output.

  3. 3

    Copy or download the result for immediate use.

Examples

YouTube video

Input
{
  "name": "How to Make Perfect Coffee at Home",
  "description": "Learn the secrets to brewing the perfect cup of coffee. This comprehensive guide covers everything from bean selection to brewing techniques.",
  "uploadDate": "2026-01-11",
  "duration": "10:30",
  "thumbnailUrl": "https://i.ytimg.com/vi/example/maxresdefault.jpg",
  "embedUrl": "https://www.youtube.com/embed/example",
  "publisher": "Coffee Masters"
}
Expected output
{
  "jsonld": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"VideoObject\",\n  \"name\": \"How to Make Perfect Coffee at Home\",\n  \"description\": \"Learn the secrets to brewing the perfect cup of coffee. This comprehensive guide covers everything from bean selection to brewing techniques.\",\n  \"uploadDate\": \"2026-01-11\",\n  \"thumbnailUrl\": \"https://i.ytimg.com/vi/example/maxresdefault.jpg\",\n  \"duration\": \"PT10M30S\",\n  \"embedUrl\": \"https://www.youtube.com/embed/example\",\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"Coffee Masters\"\n  }\n}\n</script>",
  "validation": {
    "isValid": true,
    "errors": [],
    "warnings": []
  },
  "preview": {
    "@context": "https://schema.org",
    "@type": "VideoObject",
    "name": "How to Make Perfect Coffee at Home",
    "description": "Learn the secrets to brewing the perfect cup of coffee. This comprehensive guide covers everything from bean selection to brewing techniques.",
    "uploadDate": "2026-01-11",
    "thumbnailUrl": "https://i.ytimg.com/vi/example/maxresdefault.jpg",
    "duration": "PT10M30S",
    "embedUrl": "https://www.youtube.com/embed/example",
    "publisher": {
      "@type": "Organization",
      "name": "Coffee Masters"
    }
  }
}

Self-hosted video

Input
{
  "name": "Product Demo: New Feature Walkthrough",
  "description": "See our latest product features in action. This demo covers the new dashboard, reporting tools, and integrations.",
  "uploadDate": "2026-01-10T14:30:00Z",
  "duration": "PT5M45S",
  "thumbnailUrl": "https://example.com/video-thumbnail.jpg",
  "contentUrl": "https://example.com/videos/demo.mp4",
  "publisher": "ACME Corp",
  "publisherLogo": "https://example.com/logo.png"
}
Expected output
{
  "jsonld": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"VideoObject\",\n  \"name\": \"Product Demo: New Feature Walkthrough\",\n  \"description\": \"See our latest product features in action. This demo covers the new dashboard, reporting tools, and integrations.\",\n  \"uploadDate\": \"2026-01-10T14:30:00Z\",\n  \"thumbnailUrl\": \"https://example.com/video-thumbnail.jpg\",\n  \"duration\": \"PT5M45S\",\n  \"contentUrl\": \"https://example.com/videos/demo.mp4\",\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"ACME Corp\",\n    \"logo\": {\n      \"@type\": \"ImageObject\",\n      \"url\": \"https://example.com/logo.png\"\n    }\n  }\n}\n</script>",
  "validation": {
    "isValid": true,
    "errors": [],
    "warnings": []
  },
  "preview": {
    "@context": "https://schema.org",
    "@type": "VideoObject",
    "name": "Product Demo: New Feature Walkthrough",
    "description": "See our latest product features in action. This demo covers the new dashboard, reporting tools, and integrations.",
    "uploadDate": "2026-01-10T14:30:00Z",
    "thumbnailUrl": "https://example.com/video-thumbnail.jpg",
    "duration": "PT5M45S",
    "contentUrl": "https://example.com/videos/demo.mp4",
    "publisher": {
      "@type": "Organization",
      "name": "ACME Corp",
      "logo": {
        "@type": "ImageObject",
        "url": "https://example.com/logo.png"
      }
    }
  }
}

Long-form content

Input
{
  "name": "Complete Web Development Bootcamp - Full Course",
  "description": "Master web development from scratch. Covers HTML, CSS, JavaScript, React, Node.js, and more. Perfect for beginners.",
  "uploadDate": "2026-01-01",
  "duration": "2:30:00",
  "thumbnailUrl": "https://example.com/course-thumb.jpg",
  "embedUrl": "https://www.youtube.com/embed/bootcamp",
  "contentUrl": "https://example.com/bootcamp.mp4"
}
Expected output
{
  "jsonld": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"VideoObject\",\n  \"name\": \"Complete Web Development Bootcamp - Full Course\",\n  \"description\": \"Master web development from scratch. Covers HTML, CSS, JavaScript, React, Node.js, and more. Perfect for beginners.\",\n  \"uploadDate\": \"2026-01-01\",\n  \"thumbnailUrl\": \"https://example.com/course-thumb.jpg\",\n  \"duration\": \"PT2H30M\",\n  \"contentUrl\": \"https://example.com/bootcamp.mp4\",\n  \"embedUrl\": \"https://www.youtube.com/embed/bootcamp\"\n}\n</script>",
  "validation": {
    "isValid": true,
    "errors": [],
    "warnings": []
  },
  "preview": {
    "@context": "https://schema.org",
    "@type": "VideoObject",
    "name": "Complete Web Development Bootcamp - Full Course",
    "description": "Master web development from scratch. Covers HTML, CSS, JavaScript, React, Node.js, and more. Perfect for beginners.",
    "uploadDate": "2026-01-01",
    "thumbnailUrl": "https://example.com/course-thumb.jpg",
    "duration": "PT2H30M",
    "contentUrl": "https://example.com/bootcamp.mp4",
    "embedUrl": "https://www.youtube.com/embed/bootcamp"
  }
}

Output

Run the tool to generate output

Frequently Asked Questions

What is JSON-LD VideoObject?

JSON-LD VideoObject is structured data markup that helps search engines understand your video content. It can enable rich results like video thumbnails in Google search.

What duration format should I use?

The tool accepts both ISO 8601 format (PT1H30M45S) and simple time format (1:30:45 or 10:30). It will automatically convert to the correct ISO 8601 format.

Do I need both contentUrl and embedUrl?

You need at least one. contentUrl is the direct link to the video file, while embedUrl is for embedding (like YouTube embed links). Google recommends including both when available.

Where do I put this code?

Add the generated script tag to the <head> section of your page, or within the <body>. Place it on the same page where the video is embedded.

How do I test if my markup is valid?

Use Google's Rich Results Test (search.google.com/test/rich-results) to validate your markup and see how it might appear in search results.