JSON-LD VideoObject Generator- Schema markup for videos
Generate valid JSON-LD VideoObject structured data for your videos. Includes strict validation of required fields, ISO 8601 duration parsing, and proper schema.org formatting for Google's rich results.
How it works
- 1
Provide Video Name, Description, Upload Date, Duration, Thumbnail URL, Content URL (Video File), Embed URL, Publisher Name (optional), Publisher Logo URL (optional).
- 2
Run the tool to generate the output.
- 3
Copy or download the result for immediate use.
Examples
YouTube video
{
"name": "How to Make Perfect Coffee at Home",
"description": "Learn the secrets to brewing the perfect cup of coffee. This comprehensive guide covers everything from bean selection to brewing techniques.",
"uploadDate": "2026-01-11",
"duration": "10:30",
"thumbnailUrl": "https://i.ytimg.com/vi/example/maxresdefault.jpg",
"embedUrl": "https://www.youtube.com/embed/example",
"publisher": "Coffee Masters"
}{
"jsonld": "<script type=\"application/ld+json\">\n{\n \"@context\": \"https://schema.org\",\n \"@type\": \"VideoObject\",\n \"name\": \"How to Make Perfect Coffee at Home\",\n \"description\": \"Learn the secrets to brewing the perfect cup of coffee. This comprehensive guide covers everything from bean selection to brewing techniques.\",\n \"uploadDate\": \"2026-01-11\",\n \"thumbnailUrl\": \"https://i.ytimg.com/vi/example/maxresdefault.jpg\",\n \"duration\": \"PT10M30S\",\n \"embedUrl\": \"https://www.youtube.com/embed/example\",\n \"publisher\": {\n \"@type\": \"Organization\",\n \"name\": \"Coffee Masters\"\n }\n}\n</script>",
"validation": {
"isValid": true,
"errors": [],
"warnings": []
},
"preview": {
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "How to Make Perfect Coffee at Home",
"description": "Learn the secrets to brewing the perfect cup of coffee. This comprehensive guide covers everything from bean selection to brewing techniques.",
"uploadDate": "2026-01-11",
"thumbnailUrl": "https://i.ytimg.com/vi/example/maxresdefault.jpg",
"duration": "PT10M30S",
"embedUrl": "https://www.youtube.com/embed/example",
"publisher": {
"@type": "Organization",
"name": "Coffee Masters"
}
}
}Self-hosted video
{
"name": "Product Demo: New Feature Walkthrough",
"description": "See our latest product features in action. This demo covers the new dashboard, reporting tools, and integrations.",
"uploadDate": "2026-01-10T14:30:00Z",
"duration": "PT5M45S",
"thumbnailUrl": "https://example.com/video-thumbnail.jpg",
"contentUrl": "https://example.com/videos/demo.mp4",
"publisher": "ACME Corp",
"publisherLogo": "https://example.com/logo.png"
}{
"jsonld": "<script type=\"application/ld+json\">\n{\n \"@context\": \"https://schema.org\",\n \"@type\": \"VideoObject\",\n \"name\": \"Product Demo: New Feature Walkthrough\",\n \"description\": \"See our latest product features in action. This demo covers the new dashboard, reporting tools, and integrations.\",\n \"uploadDate\": \"2026-01-10T14:30:00Z\",\n \"thumbnailUrl\": \"https://example.com/video-thumbnail.jpg\",\n \"duration\": \"PT5M45S\",\n \"contentUrl\": \"https://example.com/videos/demo.mp4\",\n \"publisher\": {\n \"@type\": \"Organization\",\n \"name\": \"ACME Corp\",\n \"logo\": {\n \"@type\": \"ImageObject\",\n \"url\": \"https://example.com/logo.png\"\n }\n }\n}\n</script>",
"validation": {
"isValid": true,
"errors": [],
"warnings": []
},
"preview": {
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Product Demo: New Feature Walkthrough",
"description": "See our latest product features in action. This demo covers the new dashboard, reporting tools, and integrations.",
"uploadDate": "2026-01-10T14:30:00Z",
"thumbnailUrl": "https://example.com/video-thumbnail.jpg",
"duration": "PT5M45S",
"contentUrl": "https://example.com/videos/demo.mp4",
"publisher": {
"@type": "Organization",
"name": "ACME Corp",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
}Long-form content
{
"name": "Complete Web Development Bootcamp - Full Course",
"description": "Master web development from scratch. Covers HTML, CSS, JavaScript, React, Node.js, and more. Perfect for beginners.",
"uploadDate": "2026-01-01",
"duration": "2:30:00",
"thumbnailUrl": "https://example.com/course-thumb.jpg",
"embedUrl": "https://www.youtube.com/embed/bootcamp",
"contentUrl": "https://example.com/bootcamp.mp4"
}{
"jsonld": "<script type=\"application/ld+json\">\n{\n \"@context\": \"https://schema.org\",\n \"@type\": \"VideoObject\",\n \"name\": \"Complete Web Development Bootcamp - Full Course\",\n \"description\": \"Master web development from scratch. Covers HTML, CSS, JavaScript, React, Node.js, and more. Perfect for beginners.\",\n \"uploadDate\": \"2026-01-01\",\n \"thumbnailUrl\": \"https://example.com/course-thumb.jpg\",\n \"duration\": \"PT2H30M\",\n \"contentUrl\": \"https://example.com/bootcamp.mp4\",\n \"embedUrl\": \"https://www.youtube.com/embed/bootcamp\"\n}\n</script>",
"validation": {
"isValid": true,
"errors": [],
"warnings": []
},
"preview": {
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Complete Web Development Bootcamp - Full Course",
"description": "Master web development from scratch. Covers HTML, CSS, JavaScript, React, Node.js, and more. Perfect for beginners.",
"uploadDate": "2026-01-01",
"thumbnailUrl": "https://example.com/course-thumb.jpg",
"duration": "PT2H30M",
"contentUrl": "https://example.com/bootcamp.mp4",
"embedUrl": "https://www.youtube.com/embed/bootcamp"
}
}Configuration
The title of your video.
A detailed description of the video content.
ISO 8601 format: YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ
ISO 8601 format (PT1H30M) or simple format (1:30:45)
URL to the video thumbnail image.
Direct URL to the video file. Required if no Embed URL.
URL for embedding. Required if no Content URL.
Output
Run the tool to generate output
Frequently Asked Questions
What is JSON-LD VideoObject?
JSON-LD VideoObject is structured data markup that helps search engines understand your video content. It can enable rich results like video thumbnails in Google search.
What duration format should I use?
The tool accepts both ISO 8601 format (PT1H30M45S) and simple time format (1:30:45 or 10:30). It will automatically convert to the correct ISO 8601 format.
Do I need both contentUrl and embedUrl?
You need at least one. contentUrl is the direct link to the video file, while embedUrl is for embedding (like YouTube embed links). Google recommends including both when available.
Where do I put this code?
Add the generated script tag to the <head> section of your page, or within the <body>. Place it on the same page where the video is embedded.
How do I test if my markup is valid?
Use Google's Rich Results Test (search.google.com/test/rich-results) to validate your markup and see how it might appear in search results.