encodingFormat
encodingFormat · Not mentioned by Google
Appears in
What is it?
encodingFormat declares the media type (MIME type) of a file or creative work. It tells search engines whether a resource is a PDF, CSV, MP3, or any other format. This property applies broadly to both CreativeWork and MediaObject, making it relevant for documents, audio files, datasets, and software downloads.
Why this matters for AEO
When a user asks "is this report available as a PDF?" or "what format is this dataset in?", AI engines check encodingFormat to answer directly. For downloadable resources, this field helps AI assistants filter results by file type. A query like "download [topic] dataset as CSV" can match structured data that specifies "encodingFormat": "text/csv" without the AI needing to parse download links.
What the specs say
Schema.org: Text or URL. Applies to CreativeWork and MediaObject. "Media type typically expressed using a MIME format (see IANA site and MDN reference), e.g. application/zip for a SoftwareApplication binary, audio/mpeg for .mp3 etc." schema.org/encodingFormat
Google: Not mentioned. No dedicated Google structured data documentation references encodingFormat for DigitalDocument.
How to find your value
- File extension — Map the extension to its MIME type (.pdf → application/pdf)
- IANA registry — iana.org/assignments/media-types is the authoritative list
- MDN reference — developer.mozilla.org MIME types for common mappings
- Server headers — Check the
Content-Typeheader your server sends for the file
Common MIME types
- PDF —
application/pdf - CSV —
text/csv - Excel —
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - Word —
application/vnd.openxmlformats-officedocument.wordprocessingml.document - MP3 —
audio/mpeg - ZIP —
application/zip - HTML —
text/html - JSON —
application/json
Format and code
encodingFormat accepts a MIME type string or a URL to the IANA media type definition.
{
"@context": "https://schema.org",
"@type": "DigitalDocument",
"name": "Q1 2026 Financial Report",
"url": "https://example.com/reports/q1-2026.pdf",
"encodingFormat": "application/pdf"
}
For datasets with multiple download formats:
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "Climate Observations 2025",
"distribution": [
{
"@type": "DataDownload",
"contentUrl": "https://example.com/data/climate.csv",
"encodingFormat": "text/csv"
},
{
"@type": "DataDownload",
"contentUrl": "https://example.com/data/climate.json",
"encodingFormat": "application/json"
}
]
}
Valid values:
"application/pdf"(standard MIME type)"text/csv"(standard MIME type)"audio/mpeg"(for MP3 audio)"HTML"or"PDF"(shorthand strings accepted by schema.org for niche formats like LegislationObject)
Invalid values:
"pdf"(not a valid MIME type format)"PDF file"(descriptive text)".pdf"(file extension, not a MIME type)
Webflow implementation
Static pages
Add the JSON-LD in Page Settings > Custom Code > Head Code:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "DigitalDocument",
"name": "Your Document Title",
"url": "https://yourdomain.com/docs/your-file.pdf",
"encodingFormat": "application/pdf"
}
</script>
CMS template pages
If your Webflow CMS stores documents with a file field and a format plain text field:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "DigitalDocument",
"name": "{{wf {"path":"name","type":"PlainText"} }}",
"url": "{{wf {"path":"document-file","type":"PlainText"} }}",
"encodingFormat": "{{wf {"path":"file-format","type":"PlainText"} }}"
}
</script>
In Schema HQ
The encodingFormat field can auto-detect the file format from the uploaded asset URL and map it to the correct MIME type for encodingFormat, removing the need for a manual format field in the CMS.
Real examples
devMode.fm (from nystudio107.com):
{
"@context": "http://schema.org",
"@type": "AudioObject",
"bitrate": "64k",
"contentSize": "72969149",
"contentUrl": "https://devmode.fm/transcoder/devmode0041_64kbps_22050_1c.mp3",
"duration": "4560.535510",
"embedUrl": "https://devmode.fm/player-card/webpack-inside-out-with-sean-larkin",
"encodingFormat": "audio/mpeg"
}
Swedish National Data Service (from docs.researchdata.se):
{
"@type": "DataDownload",
"name": "my-data.tsv",
"contentUrl": "https://www.sample-data-repository.org/dataset/my-data.csv",
"encodingFormat": "text/csv"
}
Related fields
- contentUrl
- fileSize
- url
- name
- fileFormat
FAQ
What is the difference between encodingFormat and fileFormat?
fileFormat is a superseded property. Schema.org now recommends encodingFormat as the canonical way to declare media type. Both accept the same MIME type values, but new implementations should use encodingFormat.
Should I use the full MIME type or a shorthand like "PDF"?
Use the full MIME type (e.g., application/pdf) for maximum compatibility. Schema.org does accept shorthand strings in some contexts, but MIME types are unambiguous and recognized by all parsers.
Does encodingFormat apply to web pages themselves?
It can. A web page is technically text/html, but this is rarely useful to declare since browsers and crawlers already know the format. encodingFormat is most valuable for downloadable files, media objects, and datasets where the format is not self-evident from the URL.