Technical reference · reproducible fixture
Send to Kindle EPUB cover failure: OPF reference
A compact, citable explanation of how an EPUB can contain visible cover artwork yet arrive through Send to Kindle with a grey or generic tile—plus a minimal test file that reproduces the metadata condition.
Suggested citation
FixMyEPUB. “Send to Kindle EPUB Cover Failure: OPF Reference.” Version 1.0, September 19, 2026. fixmyepub.com/guides/send-to-kindle-epub-cover-reference/
Short answer
An EPUB cover is not identified by its filename alone. The artwork must exist in the container, appear in the OPF manifest with the correct path and media type, and be designated in a way the receiving workflow understands. EPUB 3 uses the manifest property cover-image. Older EPUB 2 workflows commonly use <meta name="cover" content="…" />, where the value points to a manifest item ID.
The current EPUB specification recommends the EPUB 3 cover property but does not require it. That distinction matters: a publication can pass general conformance checks while still leaving a conversion service to infer which image is the cover. Amazon does not publicly document every cover-selection rule used by Send to Kindle, so the Kindle-specific result should be described as a compatibility outcome, not as a guaranteed consequence of one missing attribute.
The package chain a processor follows
- ZIP container: the root
mimetypeentry identifies the file asapplication/epub+zip. The EPUB specification requires this entry to be first and stored without compression. - Container pointer:
META-INF/container.xmlidentifies the OPF package document. The OPF filename and folder are not fixed. - Manifest item: the OPF maps an item ID to the cover image’s path and media type.
- Cover designation: EPUB 3 marks that manifest item with
properties="cover-image"; a legacy EPUB 2 marker can point to the same item ID. - Resource lookup: the referenced image must exist at the exact path resolved relative to the OPF document.
The W3C manifest definition requires publication resources to be listed, and the cover-image definition describes the manifest property used to identify the cover.
EPUB 2 and EPUB 3 cover declarations
| Package style | Declaration | What the value means |
|---|---|---|
| EPUB 3 | properties="cover-image" | A property on the cover image’s manifest item. |
| EPUB 2 compatibility | <meta name="cover" content="cover-art" /> | cover-art is the manifest item ID, not a filename. |
Interoperability note: adding both consistent declarations is a compatibility technique. It does not change the EPUB 3 rule that cover-image is the native designation, and it does not prove that every Kindle-side thumbnail will refresh.
Before and after: the smallest useful repair
The image below is already present and correctly listed, but nothing explicitly designates it as the cover.
Before · artwork exists, designation missing
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>Example Book</dc:title>
</metadata>
<manifest>
<item id="cover-art"
href="images/cover.jpg"
media-type="image/jpeg" />
</manifest>After · declarations agree on one item
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>Example Book</dc:title>
<meta name="cover" content="cover-art" />
</metadata>
<manifest>
<item id="cover-art"
href="images/cover.jpg"
media-type="image/jpeg"
properties="cover-image" />
</manifest>Changing content="cover-art" to content="images/cover.jpg" would be wrong for the legacy marker: it must reference the manifest ID. Likewise, a correct ID cannot rescue a broken href, a missing image, or an inaccurate media type.
Failure matrix
| Condition | Likely technical effect | Safe action |
|---|---|---|
| Image exists; no cover designation | Reader or converter must infer the cover. | Point EPUB 2 and EPUB 3 declarations to the same manifest item. |
| Cover item points to a missing path | The declaration resolves to no resource. | Correct the relative path or add the intended image. |
| Declared media type disagrees with the file | A strict processor may interpret or reject the resource incorrectly. | Confirm the file signature and normalize the media type. |
Broken container.xml rootfile | The processor may never reach the OPF. | Repair the rootfile path before editing cover metadata. |
Spine idref has no matching manifest ID | The default reading order is structurally broken. | Stop automatic cover repair and fix the package deliberately. |
| Repaired file reuses an old Kindle library entry | A cached thumbnail can make the repair appear ineffective. | Remove the earlier personal document, sync, then send the new copy. |
Download the reproducible test EPUB
CC0 test fixture · 2 KB
Missing-cover reference EPUB
This minimal EPUB 3 file has valid container ordering, required metadata, a navigation document, a readable chapter, and embedded SVG cover artwork. Its intentional condition is narrow: the cover image item omits properties="cover-image" and no legacy cover marker is present.
- Filename
fixmyepub-missing-cover-reference.epub- SHA-256
735fdca4e480e55dd57eaf76fae09eaf29a6a9b81e829b0c546eea8ddbde66e2- License
- CC0 1.0 Universal
- Expected FixMyEPUB diagnosis
- Artwork found; EPUB 3 and EPUB 2 cover markers missing; safe cover repair available.
This fixture is suitable for screenshots, regression tests, demonstrations, and comparisons between reading systems. It contains no third-party book text or artwork.
Exactly what FixMyEPUB changes
| Area | Behavior |
|---|---|
| Existing cover item | Adds the EPUB 3 cover-image property and aligns its image media type when the type can be inferred safely. |
| Legacy compatibility | Adds or normalizes <meta name="cover" …> so it points to the same manifest ID. |
| Replacement artwork | Adds a JPG or PNG only when the user explicitly selects it. |
| Container | Writes a new EPUB with mimetype first and uncompressed, then re-runs the same browser checks. |
| Structural blockers | Refuses automatic repair when required metadata, manifest resources, spine references, or parsed XML files are broken. |
What FixMyEPUB does not change or promise
- It does not remove or bypass DRM.
- It does not rewrite chapter text, CSS, navigation, or reading order.
- It does not upload the EPUB to FixMyEPUB; processing runs in browser memory.
- It does not reproduce Amazon’s private conversion pipeline or guarantee a Kindle thumbnail.
- Its focused preflight checks are not a replacement for full conformance testing with EPUBCheck, the W3C-maintained checker.
How to interpret a successful repair
A successful FixMyEPUB result means the downloaded copy has an internally consistent cover reference, the selected image exists, the package passes the tool’s focused structural checks, and the rebuilt container follows the required mimetype placement. It does not mean Amazon has accepted, converted, synchronized, or refreshed that document.
Amazon currently lists EPUB as a supported Send to Kindle file type. Acceptance of the outer file type and successful interpretation of every resource inside the package are separate stages. For Kindle-side testing, remove the older personal document from the library, allow deletion to sync, and then send the repaired copy as a new upload.
Run the same checks on your EPUB
The file stays in your browser. FixMyEPUB creates a separate copy and leaves the original untouched.
Check an EPUBPrimary sources
- W3C EPUB 3.3 Recommendation — container, package document, manifest, spine, and cover-image definitions.
- W3C EPUB 3.3: OCF ZIP container — ordering and compression requirements for
mimetype. - W3C EPUBCheck — official EPUB conformance checker and source repository.
- Amazon Send to Kindle — official delivery interface.
- Amazon Kindle Help: supported transfer file types — includes EPUB among supported Send to Kindle formats.