On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

bookFormat

bookFormat · Required by Google

Appears in

Book

What is it?

The bookFormat property identifies the physical or digital format of a book edition. It distinguishes between paperback, hardcover, ebook, and audiobook editions of the same work.

Google requires this field at the workExample (edition) level, not on the top-level Book. Each edition of a book should have its own bookFormat value.

Why this matters for AEO

When a user asks "is The Great Gatsby available as an audiobook," AI answer engines check bookFormat across workExample entries to identify available formats. Without structured format data, the AI cannot distinguish between editions and may give incomplete answers.

What the specs say

Schema.org:BookFormatType. The format of the book.

Google: Required. "The format of the edition." Source

How to find your value

  • Paperbackhttps://schema.org/Paperback
  • Hardcoverhttps://schema.org/Hardcover
  • Ebookhttps://schema.org/EBook
  • Audiobookhttps://schema.org/AudiobookFormat
  • Graphic Novelhttps://schema.org/GraphicNovel

Format and code

Inside a workExample:

{
  "@context": "https://schema.org",
  "@type": "Book",
  "name": "The Catcher in the Rye",
  "author": {
    "@type": "Person",
    "name": "J.D. Salinger"
  },
  "workExample": [
    {
      "@type": "Book",
      "bookFormat": "https://schema.org/Paperback",
      "isbn": "9780316769488"
    },
    {
      "@type": "Book",
      "bookFormat": "https://schema.org/EBook",
      "isbn": "9780316769495"
    }
  ]
}

Common invalid pattern (wrong value):

{
  "bookFormat": "Paperback"
}

Use the full schema.org URL, not plain text.

Webflow implementation

Static pages

Add bookFormat as the full schema.org URL inside each workExample object in your Book JSON-LD block in Page Settings > Custom Code > Footer Code.

CMS template pages

Create a CMS option field with values mapping to BookFormatType URLs (Paperback, Hardcover, EBook, AudiobookFormat). Reference the selected option in a custom code embed to populate the bookFormat URL.

In Schema HQ

The bookFormat field does not currently generate Book markup. Add book format data manually through Webflow custom code.

Real examples

From JSONld.com:

{
  "@context": "https://schema.org",
  "@type": "Book",
  "name": "The Catcher in the Rye",
  "workExample": {
    "@type": "Book",
    "bookFormat": "https://schema.org/Paperback",
    "isbn": "0316769487"
  }
}

From Schema.org Book Example:

{
  "@context": "https://schema.org",
  "@type": "Book",
  "name": "Holt Physical Science",
  "workExample": {
    "@type": "Book",
    "bookFormat": "https://schema.org/EBook",
    "isbn": "9780030426599"
  }
}

Related fields

FAQ

Why must bookFormat use a URL instead of plain text?

bookFormat expects a BookFormatType enumeration value, which schema.org defines as full URLs (e.g., https://schema.org/Paperback). Plain text like "Paperback" is not a valid enumeration member and will not be recognized by Google.

Does bookFormat go on the top-level Book or on workExample?

On workExample. The top-level Book represents the abstract work (the novel itself). Each workExample represents a specific edition with its own format, ISBN, and language. Google requires bookFormat at the edition level.

What BookFormatType values are available?

Schema.org defines: Paperback, Hardcover, EBook, AudiobookFormat, and GraphicNovel. Use the full URL form: https://schema.org/Paperback.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us