ProMapRanker
🛠 Scheduled maintenance: We're performing scheduled maintenance on our scanning engine. New scans, audits and lookups are temporarily paused and will resume in approximately 12 hours. Your existing reports and dashboards remain fully available.
Free tools · Schema Markup Generators

Video Schema Generator

Create VideoObject JSON-LD so your videos earn rich results and appear in video search.

Fill in the fields above, then click Generate JSON-LD to create your VideoObject markup.

What is a video schema generator?

A video schema generator produces VideoObject JSON-LD structured data that tells Google exactly what a video on your page contains, so the page becomes eligible for video rich results and can appear in video search. The tool builds a clean block of code with the properties Google requires: name (the video title), description, thumbnailUrl, and uploadDate. It also lets you add strongly recommended fields like contentUrl or embedUrl (where the actual video file or player lives) and duration. Instead of writing markup by hand and guessing at syntax, you fill in a short form and the video schema generator returns ready to paste JSON-LD. That saves time and reduces the small formatting errors that quietly block rich results.

Video schema generator for video rich results

Structured data is a standardized way to describe page content to search engines. Video content is hard for crawlers to interpret on their own, because the meaning lives inside pixels and audio rather than readable text. VideoObject markup closes that gap by spelling out the title, summary, thumbnail, publish date, and playback location in a machine readable format. When Google can parse this video structured data with confidence, it can surface a thumbnail, a title, a duration badge, and sometimes key moments directly in the results. Those visual listings tend to earn more clicks than a plain blue link, which is the whole point of adding video schema in the first place.

For a local business, this matters more than most owners expect. A plumber, dentist, law firm, or restaurant that publishes a short explainer or walkthrough video can use markup to make that video discoverable, rather than letting it sit invisible on a service page. The generator handles the technical layer so you can focus on the message. You describe the video once, copy the output, and move on. Below you will find how the tool works, why VideoObject matters for local visibility, a full breakdown of the properties, best practices, and answers to the questions people ask most.

How do you use the video schema generator?

Using the tool takes a few minutes. You enter the core details about your video, add the recommended playback fields, review the generated code, and place it in your page. The generator validates the shape of the markup as you go, so the JSON-LD you copy is well formed and ready for search engines to read.

  1. Enter the required fields: the video name (its title), a plain language description, the thumbnailUrl (a direct image URL Google can fetch), and the uploadDate in ISO 8601 format such as 2026-07-10.
  2. Add the recommended playback fields: contentUrl (a direct link to the video file) and embedUrl (the player URL, for example a YouTube embed link). At least one of these helps Google locate and index the media.
  3. Set the duration in ISO 8601 format, for example PT1M30S for one minute thirty seconds, so the results can show a length badge.
  4. Optionally include extras like a transcript, a publisher, or clip and seekToAction data for key moments in longer videos.
  5. Review the generated VideoObject block in the preview and confirm every value looks correct and complete.
  6. Copy the output and paste the JSON-LD into your page head so search engines read it on the next crawl.

That final step is the payoff. The generated JSON-LD goes into the head of the specific page where the video is embedded, not a global template, because each block should describe the one video on that page. Once it is live, you can confirm everything parses using a validator before you expect any rich result to show.

Why does video schema matter for local SEO?

Video schema matters because it turns a passive embedded clip into a discoverable asset. Without markup, a video on your service page is largely opaque to search engines. With VideoObject structured data, Google understands the title, topic, thumbnail, and length, and can present your page as a video result complete with a thumbnail image. In a results page crowded with text links, a thumbnail draws the eye. For local businesses competing on the same few keywords, that extra visual pull can be the difference between a click and a scroll past.

Local search intent is often practical and visual. Someone searching for a service wants to see the work, the space, the team, or a quick how it works walkthrough before they call. A short service explainer video on a local landing page answers that intent directly, and video rich results put a preview of it right in the search listing. A roofing company showing a two minute inspection walkthrough, a med spa demonstrating a treatment, or a restaurant showing its kitchen can all benefit when that content is marked up correctly and becomes eligible to appear in video search rather than staying hidden.

There is also a Google Business Profile angle. Many local businesses upload videos to their profile and embed the same clips on their website. Marking up the on site version with video structured data gives search engines clearer context about what those videos show and who they belong to, reinforcing the connection between your brand, your location, and your content. It will not directly change your map ranking, but richer, better understood pages support the overall picture of a legitimate, active local business, and that consistency is a foundation worth building on.

Understanding VideoObject properties (anatomy)

A VideoObject is the schema.org type that describes a single video. It carries a small set of required properties plus several recommended and optional ones. Getting the required video structured data right is what makes a page eligible for video rich results, and the recommended fields make the listing more useful. Here is how the JSON-LD fits together and what each property does.

Video schema generator: how VideoObject JSON-LD properties feed video rich results VideoObject JSON-LD to Video Rich Results Your Video service explainer VideoObject properties name description thumbnailUrl uploadDate contentUrl embedUrl duration (PT1M30S) optional: transcript, clip Search Result 1:30 video thumbnail shown in search

Required properties (name, description, thumbnailUrl, uploadDate)

These four fields are the backbone of valid video structured data. The name is the video title. The description is a short plain language summary of the content, not a keyword list. The thumbnailUrl points to a preview image that Google can fetch and that meets its size guidance. The uploadDate records when the video was first published, in ISO 8601 format. Miss any of these and the VideoObject will not qualify for video rich results. A basic block looks like this:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How We Repair a Leaking Roof",
  "description": "A short walkthrough of our roof repair process.",
  "thumbnailUrl": "https://example.com/thumb.jpg",
  "uploadDate": "2026-07-10"
}

contentUrl and embedUrl

These two properties tell Google where the media actually lives, and including at least one is strongly recommended. The contentUrl is a direct link to the raw video file, for example an .mp4 URL. The embedUrl is the URL of the player, such as a YouTube or Vimeo embed link. Providing both gives search engines the best chance to fetch, verify, and index the video. If you embed a third party player, embedUrl is usually the practical field to supply in your JSON-LD.

"contentUrl": "https://example.com/videos/roof-repair.mp4",
"embedUrl": "https://www.youtube.com/embed/VIDEO_ID"

duration (ISO 8601)

The duration property tells Google how long the video runs and can drive a length badge on the result. It must use ISO 8601 duration format, which starts with the letter P (period) and uses T before time components. So one minute thirty seconds is PT1M30S, and five minutes is PT5M. This is a common tripping point, because a value like 1:30 or 90 seconds is not valid here. The generator formats duration for you, but it helps to recognize the pattern.

Optional: transcript, clip, seekToAction

Beyond the core VideoObject fields, several optional properties add depth. A transcript holds the full text of the spoken content, which aids accessibility and comprehension. A clip lets you mark named segments inside a longer video. A seekToAction, combined with server side support, can help Google surface key moments so users jump straight to the relevant part. These are worth adding for tutorials and long form content, though a short local explainer rarely needs them. Add them only when they genuinely describe your video, since inaccurate markup helps no one.

Best practices and common mistakes

Small formatting errors are the usual reason a technically present VideoObject fails to produce video rich results. Keeping to a few habits avoids most of them.

  • Use a valid, publicly reachable thumbnailUrl that Google can crawl. Blocked, tiny, or broken images are a frequent cause of failed eligibility, so point to a real hosted image at a reasonable resolution.
  • Format duration in ISO 8601, like PT1M30S, not 1:30 or 90s. This single field trips up a large share of first attempts.
  • Write uploadDate in ISO format, such as 2026-07-10, rather than a written date like July 10, 2026, so machines can parse it reliably.
  • Make sure the marked up video is actually visible and playable on the page. Markup for a video that a user cannot see on the page is against Google guidelines.
  • Keep the description accurate and specific to the video. Do not stuff keywords or reuse a generic site wide blurb across every video.
  • Validate the JSON-LD before publishing, and recheck after any template change, because a stray comma or bracket can invalidate the whole block.

When should you use a video schema generator?

Reach for a video schema generator any time a real, watchable video lives on a page you want indexed for video search. If the page has a video and you care about how it appears in results, marking it up is worthwhile. Here are the situations where it pays off most for local and service businesses.

  • Product or service demo videos: a short clip showing how a treatment, repair, or product works on a service page, where a thumbnail in search can pull in ready to buy searchers.
  • Tutorials and how to videos: step by step guides that answer common customer questions, which benefit from clear markup and, for longer ones, optional clip and key moment data.
  • Testimonial videos on local pages: authentic customer stories embedded on landing or review pages, made discoverable so social proof reaches searchers directly.
  • Embedded YouTube or Vimeo videos: clips hosted on a third party player and embedded on your site, where an embedUrl based VideoObject helps Google connect the on page video to your domain.

Frequently asked questions

Is a video schema generator free to use?

Yes, this video schema generator is free and requires no signup to produce a VideoObject block. You enter the video details, copy the JSON-LD, and paste it into your page. If you want to manage schema across many pages and track how those pages perform in local search, a free ProMapRanker account adds those tools.

Does video schema guarantee video rich results?

No. Valid VideoObject markup makes a page eligible for video rich results, but Google decides whether to show them based on the query, the video, and its own quality signals. Correct markup, a real visible video, a good thumbnail, and useful content give you the best chance, though nothing forces a rich result to appear.

Where do I put the JSON-LD the generator creates?

Place the JSON-LD in the head of the specific page where the video is embedded, wrapped in the script tag your platform uses for structured data. Use one VideoObject per video on that page. Do not add it to a global template that applies to pages without the matching video, since that creates mismatched markup.

What is the difference between contentUrl and embedUrl?

The contentUrl is a direct link to the raw video file, such as an .mp4. The embedUrl is the URL of the player that displays the video, like a YouTube embed link. Google recommends providing at least one, and both when possible, so it can locate and verify the media behind your video structured data.

How do I write duration correctly?

Use ISO 8601 duration format. It begins with P and uses T before time parts, so a one minute thirty second video is PT1M30S and a ten minute video is PT10M. Do not use clock style values like 1:30. The generator outputs this format for you, which removes the most common duration mistake.

Do I still need to validate the generated markup?

Yes. A generator produces well formed markup, but you should still validate the final page with Google's Rich Results Test after publishing, because your CMS, theme, or other scripts can alter or wrap the code. Validation confirms the live page is eligible and flags any warnings before you rely on it.

Start marking up your videos today

Generate your VideoObject markup above, validate it, and add it to your video pages so they become eligible for richer, more clickable search listings. When you are ready to track how those pages and your business perform across local search, create an account and put your local SEO on autopilot. Start free with 150 credits and connect your schema work to real ranking data.

Related tools

For the official rules on video markup, see Google's video structured data documentation and the schema.org VideoObject reference.

Related tools

Track your real Google Maps rankings

These free tools get you set up - ProMapRanker shows where you actually rank across your whole service area on a geo-grid.

Start free - 150 credits