Boneyard Tools

Video Schema Generator (VideoObject JSON-LD)

Add VideoObject structured data so search engines can show your video in rich results and Google Video. Enter the title, thumbnail, upload date and runtime, and get valid JSON-LD you can paste into your page. Everything builds live in your browser.

How to generate video schema

  1. Enter the video name, thumbnail URL and upload date. These three are required for a video rich result.
  2. Add the runtime in seconds plus the content or embed URL so the duration and player are described.
  3. Copy the JSON-LD script and paste it into the <head> or body of the page that hosts the video.

Examples

Two minute tutorial video

name: How to add video schema, thumbnail, uploadDate: 2026-06-09, durationSeconds: 120
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to add video schema",
  "duration": "PT2M"
}
</script>

Video with view count

viewCount: 12000
"interactionStatistic": { "@type": "InteractionCounter", "interactionType": { "@type": "WatchAction" }, "userInteractionCount": 12000 }

Frequently asked questions

What is VideoObject schema?

VideoObject is the schema.org type that describes a video to search engines. Added as JSON-LD, it tells crawlers the video's title, thumbnail, upload date, runtime and where the file or player lives. That structured data is what makes a page eligible for video rich results and listings in Google Video.

Which fields does Google require for a video rich result?

Google needs name, thumbnailUrl and uploadDate at minimum, so this generator requires all three and will not build markup without them. Adding duration, contentUrl and embedUrl is strongly recommended: they help Google verify the video, show its length, and enable features like key moments and the inline player.

What is the PT duration format?

Durations use the ISO 8601 format, which always starts with PT and lists hours, minutes and seconds. For example 90 seconds is PT1M30S and two minutes is PT2M. You enter the runtime in plain seconds and the tool converts it to the correct PT string for you.

What is the difference between contentUrl and embedUrl?

contentUrl is a direct link to the raw media file, such as a .mp4, that a crawler can fetch. embedUrl is the URL of an embeddable player, like a YouTube or Vimeo embed link. Provide whichever you have; including both gives Google the most to work with.

How do I test my video schema?

Paste the generated markup into Google's Rich Results Test and the Schema.org validator. They parse the JSON-LD, flag any missing required properties, and confirm the page is eligible for the video rich result. Re-test whenever you change the markup.

Is my data sent anywhere?

No. The JSON-LD is built entirely in your browser. Nothing you type is uploaded, logged or stored, so you can safely use it with unpublished or private video details.

Related tools