Generate VideoObject Schema Without Hand-Writing JSON
Fill in the fields, title, description, thumbnail URL, upload date, and it builds valid VideoObject JSON-LD you can paste straight into your page. No hand-writing brackets, no forgetting a comma that silently breaks the whole block. It runs in the browser, so the details never leave your machine.
This is the structured data Google reads to show a video thumbnail in search, list your video in the Videos tab, and sometimes link to key moments inside it. Without it, a video embedded on your page is often invisible to that whole surface.
The Fields Google Actually Requires
Most schema guides list twenty optional properties and bury the four that matter. For a video rich result, Google needs exactly these: name, description, thumbnailUrl, and uploadDate. Miss any one and the rich result does not show, full stop.
Then there is the pair that decides whether the video can be indexed at all: contentUrl (a direct link to the media file, usually an .mp4) or embedUrl (the player’s iframe src). One of the two has to be reachable by Googlebot. A contentUrl behind a login or a signed URL that expires is the single most common reason a technically-valid schema still gets nothing.
The generator marks those required fields and tells you, live, whether what you have entered is enough for a rich result or just enough to be valid.
Where People Get the Duration and Date Wrong
Two fields trip people up more than the rest.
Duration has to be ISO 8601, which is not obvious. Six minutes thirty is PT6M30S, not 6:30 and not 390. The generator takes plain minutes and seconds and writes the PT... string for you, because getting this wrong is silent, the schema validates but the duration shows as nothing.
Upload date wants a real publish date in YYYY-MM-DD form. If you do not know the exact date a video went live, the file itself often does. The video metadata analyzer reads the recording date straight out of an MP4 or MOV, which is the honest source for it rather than a guess.
Add It, Then Test It
Copy the generated block and paste it into the <head> of the page the video lives on, or anywhere in the <body>, both work. It is a <script type="application/ld+json"> tag, so it does not render anything visible, it just sits there for crawlers to read.
Then test it. Paste the page URL into Google’s Rich Results Test or the Schema Markup Validator and confirm it parses with no errors and Google sees a video. Do this before you assume it worked, a schema that looks right to you can still trip a validator on a field you did not think about.
One honest limit: schema does not force a rich result. It makes your video eligible. Google still decides whether to show the thumbnail based on the query, the page quality, and its own judgment. Valid markup is necessary, not sufficient.
After the Markup
The schema describes the video, but a page ranks on more than markup. To write the description and title that go with it, the video description generator turns the video into platform-ready copy. To check that title and description against the mechanics that decide clicks, run them through the video SEO analyzer. And if you want a transcript on the page (which helps both readers and crawlers), the transcript generator produces one from the file.