ImageObject Schema Markup: Help Google Understand and Display Your Images
Last Updated: February 25, 2026 · 9 min read
Google processes billions of images but can only read text — not pixels. ImageObject schema is the structured data layer that tells Google exactly what an image shows, who created it, what licence covers it, and how it relates to your content. Well-implemented ImageObject schema improves image search ranking, unlocks Google Image Licensable badges, and increases the likelihood of your images being cited in AI Overviews.
1. Standalone ImageObject Schema
Use this on dedicated image pages or photography portfolios:
{
"@context": "https://schema.org",
"@type": "ImageObject",
"contentUrl":
"https://example.com/images/golden-gate-bridge.jpg",
"url": "https://example.com/gallery/golden-gate-bridge",
"name": "Golden Gate Bridge at Sunrise",
"description": "Aerial view of the Golden Gate Bridge
bathed in golden sunrise light, San Francisco Bay
visible below.",
"width": 3840,
"height": 2160,
"caption": "Golden Gate Bridge, San Francisco, CA. © 2026",
"creator": {
"@type": "Person",
"name": "Maria Chen",
"url": "https://mariachenphotography.com"
},
"copyrightHolder": {
"@type": "Person",
"name": "Maria Chen"
},
"copyrightYear": 2026,
"license":
"https://creativecommons.org/licenses/by/4.0/",
"acquireLicensePage":
"https://example.com/image-licensing",
"creditText":
"Photo by Maria Chen / mariachenphotography.com",
"datePublished": "2026-02-25",
"keywords": ["bridge", "San Francisco", "sunrise",
"aerial", "golden gate"],
"thumbnail": {
"@type": "ImageObject",
"url":
"https://example.com/images/golden-gate-thumb.jpg",
"width": 400,
"height": 225
}
}2. ImageObject Embedded in Article Schema
Most commonly, ImageObject is used as the value of the image property inside Article, Product, Recipe, Event, or similar schema. This is how you unlock image thumbnails in rich results:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"image": {
"@type": "ImageObject",
"url": "https://example.com/article-main-image.jpg",
"width": 1200,
"height": 630,
"caption": "Alt-text / description of the image"
},
"datePublished": "2026-02-25",
"author": { "@type": "Person", "name": "Author Name" }
}3. Key Properties Explained
contentUrlrequiredThe direct URL of the image file (JPEG, PNG, WebP). This is what Google crawls and indexes. Must be publicly accessible.
urlThe URL of the page containing the image (the image's canonical page, not the image file itself).
nameThe title or name of the image. Appears in Google Images when showing image details.
descriptionA detailed description of what the image shows — used by Google for image context and AI content understanding.
width / heightPixel dimensions. Prevents layout shift and helps Google determine display size appropriately.
licenseA URL pointing to the licence (e.g. a Creative Commons licence page). Enables the "Licensable" badge in Google Image Search.
acquireLicensePageURL where users can purchase or obtain usage rights. Shows alongside the Licensable badge in Google Images.
creatorPerson or Organization who created the image. Helps build author/creator entity associations.
4. How to Get the Google Images "Licensable" Badge
Add license property pointing to a valid licence URL (e.g. https://creativecommons.org/licenses/by/4.0/)
Add acquireLicensePage pointing to your licensing page where users can get usage rights
Ensure creditText or creator is populated with attribution information
Validate using Google's Rich Results Test — check that ImageObject entities are detected
After Googlebot has crawled the page, check Google Images — the Licensable badge appears as an "L" overlay on your image
⚠️ contentUrl vs url — the most common mistake
contentUrl = direct URL to the .jpg/.png file. This is what Google downloads and visually analyses.
url = URL of the page the image lives on.
Never swap these. Setting contentUrl to a page URL (not an image file URL) means Google can't process your image and will likely ignore the schema.
5. ImageObject for Google Image Search Ranking
Google Image Search has its own ranking algorithm, separate from web search. ImageObject schema contributes to several signals Google uses to rank images:
| Image Search Ranking Factor | How ImageObject Helps |
|---|---|
| Image relevance to query | description and name properties provide machine-readable text that Google can use to match images to queries, beyond just the surrounding page text |
| Creator authority | creator with a linked Person entity helps build authority around the photographer or designer, improving their images' ranking over uncredited stock photos |
| Freshness | datePublished tells Google the recency of the image. Newer images rank higher for news and time-sensitive topics |
| Licence clarity | license and acquireLicensePage give Google clear signals about reuse rights — unlicensed images have a competitive disadvantage in Google's Licensable badge sorting |
| Thumbnail quality | width and height prevent Google from attempting to re-size poorly-defined images in the results grid |
6. Open Graph Image vs ImageObject Schema: What's Different?
Both Open Graph tags and ImageObject schema describe images. They serve different purposes and you need both:
og:image (Open Graph)
- ✓ Controls Facebook, LinkedIn, Slack, WhatsApp preview
- ✓ Just needs a URL: og:image content=\'url\'
- ✓ Optional og:image:width / og:image:height
- ✗ Google ignores OG image for search results
- ✗ No licence or creator metadata
ImageObject (Schema.org)
- ✓ Controls Google Image Search display
- ✓ Enables Licensable badge in Google Images
- ✓ Provides creator / copyright metadata to AI
- ✓ Used by Google, Bing, AI crawlers
- ✗ Social platforms mostly ignore JSON-LD
7. Image Sitemaps vs ImageObject Schema
Another common confusion: whether to use image sitemaps or ImageObject schema — they are complementary, not alternatives:
Image Sitemap
Tells Google which images exist on your site and where to find them. Speeds up discovery on large sites.
XML sitemap extension: <image:image><image:loc>...When: Use on all sites with significant image content
ImageObject Schema
Tells Google what each individual image means — who created it, what it shows, what licence applies.
JSON-LD with @type: ImageObjectWhen: Use on photography portfolios, product images, article images
Both combined
Maximum image search coverage: sitemap ensures discovery, ImageObject ensures understanding.
Sitemap for index-level discovery + JSON-LD for page-level metadataWhen: Recommended for e-commerce, photography, news publishers
8. Bulk ImageObject Strategy for Large Sites
Manually writing ImageObject schema for every image on a site with thousands of images is impractical. Here is how to implement it at scale:
Template in your CMS: Add ImageObject schema as a standard template property for all uploaded images. Most modern CMSes (Contentful, Sanity, Strapi) allow custom metadata fields that can auto-generate JSON-LD on image upload.
Mandatory fields per image type: For product images, require at least name, contentUrl, width, height. For editorial/news images, also require creator and datePublished. For stock images, require license and acquireLicensePage.
Embed in parent schema: Instead of standalone ImageObject pages for every image, embed them as the image property within the parent Article, Product, or Recipe schema. This is lighter and Google finds them via the parent type.
Validate a sample: Do not validate every page. Select a representative 10-20 pages from each page type and validate those. Fix errors systematically, then the template fix applies to all pages of that type.
Frequently Asked Questions
Is ImageObject schema required, or is it optional? ▼
It is optional in the sense that Google will still index your images without it. But it is strongly recommended for three reasons: (1) it enables the Licensable badge in Google Image Search, (2) it gives Google machine-readable context about what an image shows — beyond surrounding page text — which improves image search relevance, and (3) AI crawlers use ImageObject metadata to attribute images correctly when generating content. For photographers, news publishers, e-commerce, and any image-heavy site, it is effectively essential.
What is the difference between contentUrl and url in ImageObject? ▼
contentUrl is the direct URL to the image file itself (ending in .jpg, .png, .webp, etc.). This is what Google downloads and visually processes. url is the URL of the webpage that contains or features the image — the human-facing page. Never swap them. If contentUrl points to an HTML page instead of an image file, Google cannot analyse the image and will likely discard the schema.
Do I need both an image sitemap AND ImageObject schema? ▼
They serve different purposes and complement each other. An image sitemap helps Google discover that images exist across your site — especially on JavaScript-heavy sites where Googlebot may not see the image URLs. ImageObject schema tells Google what each specific image means, who created it, and what rights it carries. Together they give you maximum image search coverage: sitemap for discovery, JSON-LD for understanding. If you only have bandwidth for one, use ImageObject schema on your most important image pages.
Can I add ImageObject schema to every image on a page, or just the main one? ▼
For most pages, add it to the single main/featured image, which you embed as the image property in your Article, Product, or Recipe schema. Adding an independent ImageObject block for every image on a large gallery page creates excessive markup that Google may not process fully. For dedicated photography portfolio pages where the image is the primary content, use a standalone ImageObject block as the main schema type for that page.
How long does the Licensable badge take to appear in Google Images? ▼
After adding the license and acquireLicensePage properties and ensuring Google has crawled and indexed the page, the Licensable badge can take 2–8 weeks to appear in Google Image Search results. You can check whether Google has processed the schema by using the URL Inspection tool in Search Console — look under the Structured Data section of the crawled version. The badge appears as a small "L" overlay on image thumbnails in Image Search.
Does ImageObject schema help with Google Discover and AI Overviews? ▼
Yes — both. Google Discover prioritises high-quality images with clear metadata when selecting articles for display. Providing ImageObject with accurate name, description, and creator helps Google understand image relevance for Discover surfacing. For AI Overviews and generative AI products, the creator and license properties are increasingly important: they allow AI systems to correctly attribute images when citing your content, and some AI products use the license property to determine whether an image can be reproduced in generated content.
My CMS auto-generates alt text. Should I use the same text for description in ImageObject? ▼
Alt text and ImageObject description serve related but different purposes. Alt text is a short accessibility label — typically one sentence — used by screen readers. ImageObject description should be a fuller description of what the image depicts, including context that is useful for search. It can be 2-4 sentences. They should be consistent and non-contradictory, but description can and should go further than alt text in explaining the visual content, who took it, and when.
What happens if I implement ImageObject schema with incorrect contentUrl? ▼
Google will attempt to fetch the contentUrl to process the image. If the URL returns a 404, a redirect to an HTML page, or a MIME type that is not an image, Google will log a crawl error and likely discard the ImageObject schema entirely. The most common mistake is setting contentUrl to the image page URL (an HTML page) rather than the actual image file URL. Always verify contentUrl returns status 200 with a valid image MIME type (image/jpeg, image/png, image/webp).
Validate Your ImageObject Schema
Check that contentUrl, license, and creator properties are correctly implemented.
Validate Image Schema →Related Guides
→ Open Graph vs Schema Markup
The difference between og:image and ImageObject schema
→ What is JSON-LD?
How to write structured data using JSON-LD syntax
→ E-commerce Schema Markup
Product and ImageObject schema for online stores
→ Schema Markup Checker
Tools and workflows for validating your structured data
→ Schema Markup Audit
How to audit every image page for schema completeness
→ Google Rich Results Guide
All Google rich result types and their schema requirements