VideoObject Schema Generator

Build a valid schema.org/VideoObject JSON-LD block that helps your video pages appear in Google video rich results and the video carousel. Enter H/M/S values for duration (automatically converted to ISO 8601), thumbnail URLs, upload date, and embed URL. Paste the output into your video page's <head> to signal video metadata directly to Google without relying solely on the YouTube/Vimeo data pipe.

Duration *
Publisher (optional)

How to use the VideoObject Schema Generator

Fill in the required fields — title, description, thumbnail, upload date, and duration — then add the optional embed/content URLs and publisher details. Click Generate and the ISO 8601 duration is computed for you.

  1. Title and description — should match the visible title and description on the page. Google uses these to populate the video card in search results.
  2. Thumbnail URLs — one per line. Google requires a thumbnail. Minimum 1200 px wide; 16:9 or 4:3 recommended. Multiple thumbnails let Google choose the best variant per surface.
  3. Upload date — the date and time the video was first published online. This is used for recency sorting in Google's video search.
  4. Duration — enter hours, minutes, and seconds separately; the generator formats them as an ISO 8601 duration (e.g. PT12M34S). This is required for video rich results.
  5. Content URL vs. Embed URL — use Content URL for the direct video file (MP4/WebM); use Embed URL for the YouTube/Vimeo iframe embed URL. Google can use either; providing both is ideal. At least one is required to enable seek-to timestamp features.
  6. Publisher — the logo should be a rectangular image (600×60 max) on a white or transparent background, the same as Article schema publisher logos.

What is VideoObject schema and what does it unlock in Google Search?

VideoObject is a schema.org type that describes a video — its title, description, duration, thumbnail, upload date, and playback URLs. When Google processes this markup on a page, it becomes eligible for Google video rich results: a visually prominent video thumbnail displayed alongside the standard organic listing, a dedicated video carousel for video-heavy queries, and — for self-hosted videos — the ability for Google to index the video content independently of YouTube. This is especially valuable for sites that host videos on their own infrastructure or embed YouTube videos inside tutorials.

Google's required properties for a video rich result are: name, description, thumbnailUrl, and uploadDate. Strongly recommended are duration, contentUrl or embedUrl (one must be present for seek-to-section features), and publisher. The duration must follow ISO 8601 duration syntax (e.g. PT1H2M30S for 1 hour, 2 minutes, 30 seconds). Providing both a content URL and an embed URL maximizes Google's ability to understand and display the video.

One often-overlooked benefit: VideoObject schema allows Google to create key moments (chapter markers) in search results if you also supply a hasPart array of Clip objects with start/end times and names. This turns your video listing into a segmented search result where users can jump directly to the relevant section — reducing bounce rate and increasing engagement for tutorial and educational content.

Common use cases

  • Tutorial and course sites — mark up every video lesson page with VideoObject schema so Google can index individual lessons and surface them in video search, bypassing the YouTube discovery algorithm entirely.
  • Product demo pages — add VideoObject to product pages that include a video demo; the thumbnail appears as a rich result in brand-name searches, increasing trust and click-through rate.
  • News organizations — mark up news video pages so clips appear in Google's video tab and the top-stories experience alongside article results.
  • Podcast and webinar sites — even audio-focused content that publishes video replays benefits from VideoObject schema for discoverability in Google Video search.
  • Self-hosted video platforms — companies that avoid YouTube to maintain audience control can still get Google video rich results by providing a direct contentUrl in the schema, letting Google index and display the video independently.

Frequently asked questions

Do I need this if my video is on YouTube?

It depends on your goal. If the video is embedded on your own page, adding VideoObject schema signals to Google that the page is the canonical home for that video — not YouTube. This can drive search traffic to your site rather than YouTube. If you only care about YouTube views, the YouTube platform provides its own structured data to Google automatically.

What is the difference between contentUrl and embedUrl?

contentUrl is the direct URL to the video file (e.g. an MP4). embedUrl is the iframe embed URL (e.g. https://www.youtube.com/embed/VIDEO_ID). Google can use either to crawl and display the video. Self-hosted videos should use contentUrl; YouTube and Vimeo embeds should use embedUrl.

How do I format the duration correctly?

ISO 8601 duration format: PT#H#M#S. "PT" is mandatory; then hours (H), minutes (M), and seconds (S) as integers. Examples: PT30S = 30 seconds, PT5M = 5 minutes, PT1H30M = 1 hour 30 minutes. This generator computes it automatically from the H/M/S inputs.

Can I use VideoObject on a page that also has Article schema?

Yes — combining schemas on a single page is common and encouraged. A tutorial article that includes an embedded video can have both Article and VideoObject blocks. Place each in a separate JSON-LD script tag.

What thumbnail dimensions does Google prefer?

Minimum 1200 px wide. 16:9 aspect ratio (e.g. 1280×720) is preferred for video results. 4:3 and 1:1 are accepted. Images below 720 px wide will not qualify for rich results.