Free ImageObject Schema Generator (Image Metadata JSON-LD)

Fill in the facts visible on your page, copy the Image Object JSON-LD, and validate it before you publish. The guide, examples, and FAQs are below the tool. Generate this schema with AI

Type to filter 121 supported schema types.

Schema workflow

Use only facts a visitor can verify on the page, then validate the JSON-LD before publishing.

Required

  • Visible Image Object content
  • Canonical page URL
  • Clear page owner/publisher
  • Fields that match the visible page

Recommended

  • A representative image when the schema supports it
  • SameAs or related links when visible
  • Validation before publishing

Avoid

  • Adding properties that are not visible
  • Copying example URLs into production
  • Skipping Google and Schema.org validation

Schema stacks

Use Image Object schema in a stack

Complete JSON-LD bundles that combine Image Object with the other types a real page needs. Browse all stacks

Next step

Validate, repair, and publish clean structured data.

Check the generated JSON-LD against the visible page, then run both SwiftSchema and external validators before publishing.

ImageObject Schema — Image Metadata for Google Images

ImageObject tells Google who made an image, how to credit it, and how it can be used. Google Images can show those details and a Licensable badge.

Generate ImageObject JSON-LD

Why image markup does nothing

  • The markup has a file URL but no creator, credit, copyright, or license, so Google has nothing to show.
  • url points at the web page instead of the image file. Google reads url as the image URL.
  • The license property is missing, so the image can’t get the Licensable badge.
  • The image appears on several pages, but only one of them has the markup.

How SwiftSchema helps

The generator asks for the image file URL and the four rights properties Google reads: creator, credit text, copyright notice, and license, plus the page where people can license the image.

It warns you when none of the four is filled in, because Google needs at least one of them.

What is ImageObject schema?

ImageObject is the schema.org type for an image file. It can carry the file's URL, a caption, its size and format, and rights details such as the creator and license.

Google uses it for image metadata in Google Images. Google's documentation says that when you specify image metadata, "Google Images can show more details about the image, such as who the creator is, how people can use an image, and credit information." A license URL can make the image eligible for the Licensable badge, which links to the license.

What Google requires

PropertyRequired?Notes
contentUrlYesThe URL of the image file. Google uses it to decide which image the metadata applies to. url works as a fallback, but Google recommends contentUrl.
creator, creditText, copyrightNotice, or licenseAt least oneOnce you include one, the Rich Results Test lists the other three as recommended.
licenseRecommendedA URL to the license terms, such as your terms page or a Creative Commons license. Required for the Licensable badge.
acquireLicensePageRecommendedA page that explains how to license the image, such as a checkout or contact page.
creatorRecommendedA Person or Organization with a name, usually the photographer.
creditTextRecommendedThe name credited when the image is published.
copyrightNoticeRecommendedWho owns the copyright, such as "© 2026 Jane Doe".

caption, width, height, encodingFormat, and representativeOfPage are valid schema.org properties. Google's image metadata documentation doesn't use them, so add them for other consumers, not for Google Images.

Structured data or IPTC metadata

Google accepts image metadata in two forms, and you only need one:

  • Structured data links the image to the page it's on. Google says to add it "for every instance an image is used, even if it's the same image."
  • IPTC photo metadata is embedded in the image file, so it moves with the image from page to page. Photo editing and asset management tools can write it.

For a page that only needs licensing markup, the image license guide walks through the same properties with a licensing focus.

How to build it here

  1. 01

    Paste the image file URL as Content URL.

  2. 02

    Add the license URL and, if you have one, the page where people can license the image.

  3. 03

    Add the credit text, the copyright notice, and the creator’s name.

  4. 04

    Copy the JSON-LD into each page that shows the image.

  5. 05

    Test the page in Google’s Rich Results Test, as Google recommends.

Ready to build the markup?

One block per image, on every page it appears.

Generate ImageObject JSON-LD

The generator emits contentUrl, url, caption, license, acquireLicensePage, creditText, copyrightNotice, creator, and datePublished. Empty fields are left out. For width, height, or encodingFormat, start from the second example.

Common mistakes

  • Only a file URL. Add at least one of creator, credit text, copyright notice, or license.
  • url set to the page. Google treats url as the image URL. Use contentUrl for the file.
  • Markup on one page only when the image appears on several. Google needs it on each page.
  • Pages Google can't reach. Google asks that pages with images need no login and aren't blocked by robots.txt.

Required properties

  • contentUrl
  • creator, creditText, copyrightNotice, or license (at least one)

Recommended properties

  • license (needed for the Licensable badge)
  • acquireLicensePage
  • creator
  • creditText
  • copyrightNotice
  • caption
  • width
  • height
  • encodingFormat
Image with license, credit, and copyright (eligible for the Licensable badge)
Validate
{
  "@context": "https://schema.org",
  "@type": "ImageObject",
  "contentUrl": "https://www.example.com/photos/lemon-garlic-chicken-1600.jpg",
  "license": "https://www.example.com/image-license",
  "acquireLicensePage": "https://www.example.com/license-this-photo",
  "creditText": "Northstar Kitchen",
  "creator": {
    "@type": "Person",
    "name": "Jane Doe"
  },
  "copyrightNotice": "© 2026 Jane Doe"
}
Image with a Creative Commons license and descriptive properties
Validate
{
  "@context": "https://schema.org",
  "@type": "ImageObject",
  "contentUrl": "https://www.example.com/photos/trailhead-sunrise.webp",
  "license": "https://creativecommons.org/licenses/by-nc/4.0/",
  "creditText": "Photo: Sam Lee",
  "creator": {
    "@type": "Person",
    "name": "Sam Lee"
  },
  "caption": "Sunrise over the north trailhead in October",
  "width": 1600,
  "height": 900,
  "encodingFormat": "image/webp"
}
Several images on one page (a JSON-LD array, as in Google's example)
Validate
[
  {
    "@context": "https://schema.org",
    "@type": "ImageObject",
    "contentUrl": "https://www.example.com/photos/step-1.jpg",
    "creator": {
      "@type": "Organization",
      "name": "Northstar Kitchen"
    },
    "license": "https://www.example.com/image-license"
  },
  {
    "@context": "https://schema.org",
    "@type": "ImageObject",
    "contentUrl": "https://www.example.com/photos/step-2.jpg",
    "creator": {
      "@type": "Organization",
      "name": "Northstar Kitchen"
    },
    "license": "https://www.example.com/image-license"
  }
]

FAQs

Which ImageObject properties does Google require?Show

For image metadata in Google Images: contentUrl, plus at least one of creator, creditText, copyrightNotice, or license. Once you have one of the four, the Rich Results Test lists the other three as recommended.

What's the difference between url and contentUrl?Show

contentUrl is the URL of the image file itself, and Google uses it to decide which image the metadata applies to. Google also accepts url for the image URL when contentUrl is missing, but says url is less precise and recommends contentUrl.

How do I get the Licensable badge?Show

Add license, a URL to a page that describes the license, such as your terms or a Creative Commons license. Google recommends acquireLicensePage too: a page that explains how to license the image.

Do I need markup on every page that uses the image?Show

Yes, for structured data. Google says to add it to each image on each page where it appears. The alternative is IPTC photo metadata embedded in the image file, which travels with the image.

Does Google use caption, width, or height?Show

Not for image metadata: Google's documentation lists only contentUrl, creator, creditText, copyrightNotice, license, and acquireLicensePage. caption, width, height, and encodingFormat are valid schema.org properties that describe the image for other consumers.

Is alt text part of ImageObject?Show

No. Alt text is the HTML alt attribute on the img element, which Google's image SEO best practices recommend. ImageObject has caption and description, which don't replace it.

Related types

Browse all schema types

References