Free Video Schema Generator

Generate valid VideoObject JSON-LD structured data for your videos. Fill in your details and copy the markup. Free, no sign-up required.

Build Your Video Schema

Video basicsThe core details of the video you are marking up.

The title of the video. This is required for valid VideoObject markup.

A direct link to the raw video file. Google can use this to fetch and index your video.

The URL of the player that hosts the video, such as a YouTube embed URL.

ThumbnailsUse a high-resolution thumbnail. Google recommends 60x30px minimum, larger is better.

DetailsWhen the video was uploaded and how long it runs.

The date the video was first published, in ISO format (YYYY-MM-DD).

Publisher (optional)The site or brand that published the video.

Enter your video name above and your JSON-LD will build here automatically.

Generated JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject"
}
</script>

How to add it to your site

  1. Copy the code above.
  2. Paste it inside the <head> section of the page the video lives on.
  3. Validate it with the Google Rich Results Test or the Schema.org Validator.
  4. Deploy, then request indexing in Google Search Console to speed things up.

Build better video pages around your schema

Structured data tells search engines what your video is. These free widgets make the page better for viewers.

Explore More Free Tools

Other free tools to help you optimize and grow.

How It Works

How to use this free video schema generator

No account needed, no sign-up, completely free. Fill in your video details, and valid JSON-LD structured data builds live, ready to copy into your page.

1

Enter your video details

Add the video name, description, and a high-resolution thumbnail. Point to the video file with a content URL, the player with an embed URL, or both.

2

Add the upload date and duration

Set the date the video was published and its running time in minutes and seconds. Add a publisher if you want. Everything you type builds the markup live, with no empty fields left in.

3

Copy and validate

Copy the generated JSON-LD, paste it into the head of the page your video lives on, and confirm it with the Google Rich Results Test. No sign-up, completely free.

The Basics

What is video schema, and why does it matter?

Search engines cannot watch your video, but structured data tells them exactly what it is: the name, the thumbnail, when it was uploaded, and how long it runs.

The idea

Your video details → schema.org VideoObject → JSON-LD in your <head>

Result: search engines understand your video as data, not just a player

Video schema is structured data that describes a single video using the shared schema.org vocabulary, under the type VideoObject. Instead of hoping Google works out the title, thumbnail, and length from your page, you state them explicitly in a format built for machines to read.

The recommended format is JSON-LD: a small block of JSON placed in the head of the page. It lives separately from your visible content, so it is easy to add without touching your player or your design. The video itself still needs to be present and playable on the page you mark up.

Structured data does not guarantee rankings or rich results, but it makes your video unambiguous to search engines and to the AI assistants that increasingly summarize the web. Clear data means your work is easier to represent, and cite, correctly.

The Fields

The fields this generator creates

The core VideoObject properties. Here is what each one does and when it matters.

FieldWhat it doesWhen to useRole
nameThe title of the video. Required for valid VideoObject markup.Every video you mark up.Required
thumbnailUrlOne or more thumbnail image URLs that represent the video.Strongly recommended for any video.Key
uploadDateThe date the video was first published, in ISO format.Strongly recommended for any video.Key
durationHow long the video runs, in ISO 8601 duration format such as PT3M30S.Recommended for richer results.Recommended
contentUrlA direct link to the raw video file so search engines can fetch it.Provide this or an embed URL.Recommended
embedUrlThe URL of the player that hosts the video, such as a YouTube embed URL.Provide this or a content URL.Recommended

Based on the schema.org VideoObject properties supported by Google Search, 2026.

What It Can Unlock

What video schema can do for you

Structured data makes your videos eligible for search features and helps machines understand your content. Eligibility is never guaranteed, but the groundwork matters.

🎬

Video rich result

Valid VideoObject markup makes your page eligible for the enhanced video listing in search, with a thumbnail, duration, and upload date on show.

🖼️

Video thumbnail in search

A high-resolution thumbnail in your markup gives Google a clear image to show next to your result, which draws the eye and the click.

⏱️

Key moments

When you mark up timed segments, Google can show clickable key moments that jump viewers straight to the part of the video they want.

📺

Video tab eligibility

Clear video data helps your page qualify for the dedicated video tab in Google Search, a surface built entirely around video content.

🕑

Freshness signals

The upload date tells search engines how current your video is, which matters for tutorials, news, and other time-sensitive topics.

🤖

AI citation clarity

Structured video data makes your content easier for AI answer engines to understand, attribute, and cite accurately.

Avoid These

Six video schema mistakes that cause problems

Structured data helps only when it is accurate and valid. Steer clear of these common errors.

🖼️

Thumbnail that does not match

The thumbnailUrl must be a real frame or image that genuinely represents the video. A misleading thumbnail breaks Google guidelines and hurts trust.

Use a real, matching thumbnail
📅

Fake or missing upload date

Do not invent an uploadDate to look fresher. It must reflect when the video actually went live and match what is on the page.

Keep the upload date honest
🔗

No content or embed URL

Google needs a way to access the video. Provide a contentUrl to the file, an embedUrl to the player, or both, so the video can be fetched.

Provide contentUrl or embedUrl
🚫

Marking up a video that is not there

Only add VideoObject markup for a video that is actually present and playable on the page. Marking up a missing video violates the guidelines.

Mark up on-page video only

Never validating

Always run your markup through the Rich Results Test and Schema.org Validator. A single syntax slip can invalidate the whole block.

Validate before you ship
⏱️

Wrong duration format

Duration uses ISO 8601, so three minutes thirty seconds is PT3M30S, not "3:30". This generator formats it for you from minutes and seconds.

Use the ISO 8601 format

Get More From It

6 tips for effective video markup

Practical ways to make your schema work harder. All CommonNinja widgets mentioned are free to start.

01

Put the markup on the video page

VideoObject schema belongs in the head of the page where the video actually plays, not your homepage. Add it wherever the video is embedded.

02

Pair it with site-wide schema

VideoObject describes one video. Your Organization and WebSite schema describes the whole brand. Use both. Our free Website Schema Generator builds the site-wide part.

Try the Website Schema Generator
03

Use the highest-resolution thumbnail you have

Google recommends a minimum of 60x30px, but larger is better. A crisp thumbnail is what viewers see in search, so make it count.

04

Surround the video with rich content

Schema describes your video; make the page around it just as useful. A carousel of stills or related visuals keeps viewers engaged after they watch.

Try the Image Carousel widget
05

Provide both content and embed URLs

When you can, give both the raw file URL and the player URL. It gives search engines the most flexibility to fetch and display your video.

06

Validate after every change

Re-run the Rich Results Test whenever you edit your markup or move the video. It catches errors before Google does.

Glossary

Key video schema fields

A quick reference for the properties behind VideoObject markup.

FieldDefinitionExampleWhen It Matters
nameThe title of the video. Required for VideoObject markup and best matched to the visible title on the page.Your video titleEvery video you mark up
thumbnailUrlOne or more image URLs that represent the video. Use the highest resolution you have, at least 60x30px.cover.jpgVideo results and thumbnails
uploadDateThe date the video first went live, in ISO 8601 format. Helps search engines judge how current the video is.2026-07-15Time-sensitive video content
durationThe running time in ISO 8601 duration format. Three minutes thirty seconds becomes PT3M30S.PT3M30SRicher video results
contentUrlA direct link to the raw video file, such as an .mp4, so search engines can fetch and index the video.clip.mp4Self-hosted video files
embedUrlThe URL of the player that hosts the video, such as a YouTube or Vimeo embed URL./embed/abc123Embedded or third-party players

FAQ

Video schema markup is structured data that describes a video to search engines using the schema.org VideoObject type. Instead of leaving search engines to guess the title, thumbnail, upload date, and length from the page, you state them explicitly in a machine-readable format. This generator creates VideoObject JSON-LD you can drop into the page your video lives on.
VideoObject is the schema.org type for a video. It carries the properties search engines look for, such as the name, description, thumbnailUrl, uploadDate, duration, and the URLs to the video file or player. It is the type Google expects when it looks for video content to feature in search.
The thumbnailUrl is the image Google can show next to your video result, so a high-resolution, representative thumbnail draws more clicks. The uploadDate tells search engines how current the video is, which matters for tutorials, news, and other time-sensitive topics. Both are strongly recommended for video results.
Duration uses the ISO 8601 duration format, which looks like PT3M30S for three minutes and thirty seconds. You do not need to write it by hand: enter the minutes and seconds and this generator builds the correct PT format for you, and omits it entirely if you leave both blank.
The contentUrl is a direct link to the raw video file, such as an .mp4, that search engines can fetch. The embedUrl is the URL of the player that hosts the video, such as a YouTube or Vimeo embed URL. Provide at least one so Google can access the video; providing both gives it the most flexibility.
Copy the generated code and paste it into the head section of the page the video actually plays on, or into the template for that page type so every video page gets it automatically. It lives separately from your visible HTML, so it will not change how your page looks. The video itself must be present and playable on the page.
No. Structured data makes your pages eligible for certain video features and helps search engines understand your content, but Google decides when to show rich results, and schema is not a direct ranking factor. Always validate your markup with the Google Rich Results Test or the Schema.org Validator after adding or editing it.

Trusted by