Free tool · No signup

    Video Schema Generator

    Turn a video's title, thumbnail and duration into valid VideoObject JSON-LD ready to paste into your page.

    VideoObject JSON-LD

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "VideoObject",
      "name": "Fixing Keyword Cannibalisation in 12 Minutes",
      "description": "A walkthrough of diagnosing two pages competing for the same query, choosing the canonical target and consolidating internal links.",
      "thumbnailUrl": "https://example.com/img/cannibalisation-thumb.jpg",
      "uploadDate": "2026-03-18",
      "duration": "PT12M",
      "contentUrl": "https://example.com/video/cannibalisation.mp4",
      "embedUrl": "https://www.youtube.com/embed/aBcD1234efg",
      "publisher": {
        "@type": "Organization",
        "name": "Example Media"
      }
    }
    </script>

    Paste this block into the <head> or anywhere in the <body> of the page it describes, then confirm it parses with the JSON-LD schema validator.

    In short

    A video schema generator produces VideoObject JSON-LD describing a video's name, description, thumbnailUrl, uploadDate and either contentUrl or embedUrl. Google requires all five of these to consider a page for video rich results and video carousels, and duration must be formatted as ISO 8601 (for example PT4M13S), not plain minutes. Enter your video's details below to get a validated JSON-LD block ready to paste into the page's head.

    Worked example

    What the output looks like

    Input
    Title: 'How to Repot a Monstera', thumbnail: monstera-repot.jpg, uploaded 2024-03-12, duration 4m13s, hosted on YouTube
    Output
    { "@context": "https://schema.org", "@type": "VideoObject", "name": "How to Repot a Monstera", "description": "Step-by-step guide to repotting a Monstera without damaging the roots.", "thumbnailUrl": "https://example.com/images/monstera-repot.jpg", "uploadDate": "2024-03-12", "duration": "PT4M13S", "embedUrl": "https://www.youtube.com/embed/abc123xyz" }
    How to read it
    Check that thumbnailUrl resolves to an actual image, duration matches the video's real length in the PT#H#M#S format, and embedUrl points to a working player URL rather than the watch page — Google fetches this to verify the video exists.

    How it works

    1

    Enter the video's core details

    Provide the video's title, a short description, the thumbnail image URL, and the date it was uploaded. These four fields are the minimum Google needs to consider the video for a rich result.

    2

    Add duration and hosting URL

    Type the running time as minutes and seconds — the tool converts it to ISO 8601 automatically. Choose contentUrl for a direct video file or embedUrl for a hosted player like YouTube or Vimeo.

    3

    Copy the generated JSON-LD

    The tool outputs a complete script tag with the VideoObject type and all required properties, which you paste into the page's head or body exactly as shown.

    What this tool does

    • Generates full VideoObject markup with thumbnailUrl, uploadDate and duration
    • Converts plain running time into the required ISO 8601 duration format
    • Adds contentUrl or embedUrl fields depending on where the video is hosted
    • Validates that every property Google requires for video rich results is present

    Questions

    Frequently asked

    More free SEO tools

    Learn the concept

    Track which structured data is driving your rich results

    LemRank tracks rankings, backlinks, and AI-search visibility in one dashboard. 14-day free Pro trial. No credit card.