When an EPUB image too small problem appears, separate three questions: what dimensions the source file has, whether the package references it correctly, and how a named reading system draws it. A picture can be present in the ZIP yet occupy a small area on screen. It can also look acceptable on one page while another XHTML file points to a missing resource. One visual impression cannot answer all three questions.
The fixed STUDIO-453 specimen starts with a 128 by 128 pixel PNG. Its generated book contains three chapters and a cover. Reopening that book found four image resources including the cover, four XHTML references, four alt attributes, zero missing targets, and valid=true. Those values prove package completeness for the retained file. Reader width, margins, and zoom were not measured, so the evidence does not prove that the visual size was corrected.
Confirm the 128-by-128 Source First
The test copied a synthetic PNG from the Rune Studio application icon resources. Running sips -g pixelWidth -g pixelHeight image-1.png returned pixelWidth: 128 and pixelHeight: 128. A known input dimension gives the investigation a stable starting point. If the image later looks small, an operator can distinguish an inherently small source from a reader-side reduction.
For a production asset, record its relative path, content digest, pixel width, pixel height, and intended role. Finder thumbnail size and print dimensions are not EPUB display dimensions. If the source must be replaced, keep the higher-resolution candidate under a new digest so the two outputs can be compared rather than silently overwriting the evidence.
Count Three Chapter Images and One Cover
The source set contains chapter-1.md, chapter-2.md, and chapter-3.md. Each chapter has one image notation, and cover.png is assigned separately as the book cover. After export, the ZIP contains p001.png, p002.png, p003.png, and cover.png: three body resources plus one cover resource.
A total of four does not establish correct placement by itself. Connect each manuscript path to the OPF manifest entry and then to the XHTML src. A duplicate copy can inflate the resource count while one chapter still points nowhere. Likewise, a working cover cannot stand in for the three body checks.
Pair Four Resources with Four References and Four Alts
The reopened XHTML files contain four img elements. The chapters point to p001.png, p002.png, and p003.png, while the cover page points to cover.png. Four alt values are present: the chapter descriptions use the retained STUDIO-453 labels, and the cover uses the book title. Every referenced target exists in the ZIP, giving a missing count of zero.
Keep the audit relational rather than relying on totals. For every src, find one manifest href, one physical ZIP entry, and one nonempty alt value. Exporters may rename copied assets, so the generated names do not have to match the source filenames. The chain, not filename resemblance, establishes identity.
Do Not Turn Package Completeness into a Width Claim
The saved file is studio-453-260903.100000.epub with SHA-256 b0609cf55208c24b3aa27b7c82a3d274d9c2a79e7b1f700efff84583a1f47458. It has 16 ZIP entries. The retained local inspection returned valid=true and issues=[]. These observations support a bounded conclusion: this package includes and resolves the four images inspected.
They do not reveal the rendered CSS width, the fraction of the text area occupied by the picture, the reader margin, or the zoom level. No named reader session was captured. Keep those fields explicitly open even after the package check passes.
Investigate Source, Reference, and Reader in That Order
First compare the 128-by-128 input with the intended use. If it is inadequate, prepare a larger source under a new filename and digest. Second, follow the target page’s img src through the manifest to the ZIP entry. This catches a wrong image or broken path. Third, fix a reader name, version, device, orientation, text size, margin setting, and zoom level before measuring the display.
This order prevents two common mistakes: stretching a low-resolution source with CSS and treating generous reader margins as a missing resource. After a source change, create a differently named EPUB. Recheck four resources, four references, four alt values, and zero missing targets before comparing appearance.
Recover Missing Images Separately from Small Images
If the image is absent, treat it as a structural failure. Preserve the failed EPUB and record the missing src, manifest href, and expected physical path. Repair the source notation or asset location, regenerate, and return the missing count to zero. Zooming a reader is not a structural recovery.
If the image exists but looks small, preserve the package and add a visual test. Open the same EPUB digest in named environments and record content width, rendered image width, margins, and orientation. If a larger source is needed, export it as another digest and compare both. Separating these failures avoids unnecessary changes to a valid manuscript.
Close with Measured and Open Fields Side by Side
The measured receipt for this run contains source dimensions 128 by 128, three chapters plus a cover, four image resources, four XHTML references, four alt attributes, zero missing targets, the EPUB digest, and local valid=true. Another operator can reproduce these values by reopening the retained package.
The open receipt contains reader render width, content-area ratio, margins, zoom, and device orientation. Until those values exist, no claim that the picture became large enough is warranted. Checking the source, reference chain, and reading environment as separate layers turns a vague size complaint into a reviewable diagnosis without overstating what the package evidence shows.