Zahid Awais Get a free audit

Free video schema generator

Create VideoObject JSON-LD with thumbnails, upload date and ISO 8601 duration.

By Zahid Awais · Schema markup generators · Free, private, no sign-up

Result
0Required
0Recommended
0To check

JSON-LD code

    Mark up videos that are visible on the page and that Google can fetch. Use a unique thumbnail for each video.

    Video Schema Generator: what it does and an example result

    The free video schema generator runs in your browser, needs no sign-up and never sends what you type anywhere.

    Quick answer

    This video schema generator builds VideoObject JSON-LD from your title, description, thumbnails, upload date, duration and video URLs. Google requires name, thumbnailUrl and uploadDate; contentUrl, embedUrl, description and duration are recommended. Durations are converted to ISO 8601, so 8:42 becomes PT8M42S. Add a timezone to the upload date.

    What is a video schema generator?

    A video schema generator is a tool that writes schema.org VideoObject structured data. It turns the video details you enter into JSON-LD, converts mm:ss into an ISO 8601 duration and checks Google's three required properties.

    How do you use the Video Schema Generator?

    How to use the Video Schema Generator: enter details, see the result and copy it
    Real screenshot of the Video Schema Generator with the steps marked.
    1. Enter the video title and a description.
    2. Add one or more thumbnail URLs, ideally 16x9, 4x3 and 1x1.
    3. Set the upload date with a timezone and the duration as mm:ss or h:mm:ss.
    4. Add the video file URL and the embed URL of the player.
    5. Copy the code to the watch page and test it in the Rich Results Test.

    What is required for VideoObject structured data?

    Google requires three properties: name, thumbnailUrl and uploadDate. It recommends contentUrl, embedUrl, description, duration and others such as interactionStatistic. See Google's video structured data guide for the full list.

    How do I format video duration for schema?

    Use an ISO 8601 duration such as PT8M42S for 8 minutes 42 seconds or PT1H5M for 1 hour 5 minutes. A common mistake is P10M, which means 10 months, not 10 minutes. This tool converts mm:ss for you.

    What is the difference between contentUrl and embedUrl?

    contentUrl points to the actual video file, such as an .mp4, and Google says it is the preferred way to fetch the video. embedUrl points to the player, such as a YouTube embed URL. Include both when you can.

    Quick reference

    PropertyStatusExample
    nameRequiredHow to Fix Crawled, Currently Not Indexed
    thumbnailUrlRequiredOne or more image URLs
    uploadDateRequired2026-09-30T09:00:00+01:00
    durationRecommendedPT8M42S
    contentUrl / embedUrlRecommended.mp4 file or player URL

    Worked example

    Example

    Example: an 8:42 tutorial uploaded on 2026-09-30 at 09:00 UK time with three thumbnails, an MP4 file and a YouTube embed. The tool outputs VideoObject JSON-LD with duration PT8M42S and a WatchAction count of 1530, meeting all 3 required checks.

    Frequently asked questions

    Do I need video schema for YouTube embeds?

    Google can often understand embedded YouTube videos without markup, but adding VideoObject on your own page gives it the title, description and dates directly. It is most useful when the video is the main content of the page.

    What thumbnail should I use?

    Use a unique thumbnail image for each video that Google can crawl. Google's examples provide 1x1, 4x3 and 16x9 versions. Avoid reusing one generic image across many videos.

    Why does the upload date need a timezone?

    Without timezone information Google uses the timezone of Googlebot, which can shift the date by several hours. Write uploadDate like 2026-09-30T09:00:00+01:00 so the date and time stay accurate for every searcher.

    Can video schema get me key moments in search?

    Yes, possibly. You can add Clip markup with hasPart to label segments, or use SeekToAction to let Google detect them. Valid markup makes a video eligible, but Google decides what to show.

    Should I add expires to my video markup?

    Only if the video will stop being available on a known date, such as a limited time stream. Leave expires out for videos that stay online, otherwise Google may stop showing them after that date.

    How do I check that Google indexed my video?

    Test the page with the Rich Results Test, then use the Video indexing report in Search Console. It lists videos found and reasons for any that were not indexed, such as the video not being the main content.

    Sources

    Facts checked against these official pages. Read how I check facts in my editorial policy.

    Related free tools

    All 104 tools

    Article Schema Generator

    An article schema generator is a tool that writes schema.org Article structured data in JSON-LD. It collects…

    YouTube Description Checker

    A YouTube description length checker is a tool that counts the characters in a video description against the…

    Want a full audit instead?

    Send your website and I will check it for you, free.

    Get my free audit
    Chat on WhatsApp
    Free updates

    Get new tools, guides and coupons first

    One short email when something new goes live: articles, free SEO tools, package updates, discounts and price alerts. No spam, unsubscribe in one click.