Photography guide
Which image checks actually fail
Our marketplace modules record a kind for every value they hold: requirement, recommendation or informational. On size, only a requirement can produce a failure, and as recorded on 2026-08-18 four Etsy slots and Shopify's two ceilings carry one. Every other size value produces a warning at worst.
On size, four Etsy slots and Shopify's two ceilings can fail
Our marketplace modules record a kind against every value they hold, and only one of those kinds can stop an upload. A requirement can produce a failure. A recommendation cannot: the strongest severity it produces is a warning (evaluate.ts:187-190, verified 2026-08-18).
On size, four Etsy slots can produce a failure: the order receipt, the mini shop banner, the big shop banner and the collage variants (evaluate.ts:156-158). The remaining five slots carry neither a requirement nor variants, and that set is locked by a frozen test at etsy.test.ts:152-169.
That limit is about size only. Failures of format, animation and transparency exist on a separate axis and remain possible on those five slots; nothing here classifies them.
Shopify contributes two hard limits, both recorded with kind='requirement': one on file size (shopify.ts:49) and one on pixel dimensions (shopify.ts:57). Their values belong to the published guide at /guides/shopify-product-image-sizes. This page carries the classification, not the numbers.
What the module compares, line by line
Every value below is our module's record as read on 2026-08-18. It is not the marketplace's current policy.
- A recommendation is an equality, not a minimum.
- evaluate.ts:183 evaluates width === recommendation.width && height === recommendation.height. Six of the seven slots that carry a recommendation use that comparison; the listing slot is the single atLeast.
- A miss on a recommendation is a warning.
- Falling below a recommended size never produces a failure. The severity recorded is warning (evaluate.ts:187-190).
- Four slots can produce a size failure, and the set is frozen.
- The order receipt, the mini shop banner, the big shop banner and the collage variants (evaluate.ts:156-158). A frozen test at etsy.test.ts:152-169 holds the remaining five slots to no requirement and no variants.
- Shopify's consistent aspect ratio line is recorded as advice.
- kind='recommendation' at shopify.ts:71-72, recorded as: "Use a consistent aspect ratio, or height-to-width ratio, for all the images that you add as your featured, or main, images." No exemption for secondary or gallery images is written anywhere in the module.
- An SVG produces an informational message.
- The checker cannot enforce a pixel minimum on an SVG; it emits info reading "This SVG has no fixed pixel size" (evaluate.ts:148).
The three outcomes the checker can record
Read the kind first. The severity follows from the kind, not from how far the image is from the number.
| Recorded kind | Strongest severity it can produce | Where it is recorded |
|---|---|---|
| requirement | failure | evaluate.ts:156-158 for the four Etsy size slots; shopify.ts:49 and shopify.ts:57 for Shopify's two ceilings |
| recommendation | warning | evaluate.ts:183 for the exact-equality comparison; evaluate.ts:187-190 for the severity |
| informational | info | evaluate.ts:148, where an SVG has no fixed pixel size and no pixel minimum can be enforced |
Working through one flagged image
In order, before you re-export anything.
Name the slot the message came from
Each slot is evaluated on its own, and only four of them can produce a failure on size (evaluate.ts:156-158). A size message from any other slot cannot be a failure.
Read the kind, not the number
A requirement can fail. A recommendation cannot: its strongest severity is warning (evaluate.ts:187-190). The number in the message does not tell you which one you are looking at.
For a recommendation, check what would actually clear it
On six of the seven recommendation slots the comparison is an equality (evaluate.ts:183), so only an exact match clears the warning; a larger image does not. The listing slot is the one atLeast.
Treat an informational message as neither
If the file is an SVG, the checker cannot enforce a pixel minimum and emits info instead (evaluate.ts:148). There is no size result to act on.
Take the Shopify ceiling values from the published guide
Both Shopify ceilings are classified here as requirements (shopify.ts:49, shopify.ts:57), but their values are the subject of /guides/shopify-product-image-sizes.
Before you re-export
Five statements that should all be true before you change the file.
- You know which kind the message names: requirement, recommendation or informational.
- If it is a recommendation, the decision to act rests on something other than the checker, because the recorded severity is a warning (evaluate.ts:187-190).
- If it is one of the four slots that can fail on size, the file itself has changed rather than being re-uploaded unchanged (evaluate.ts:156-158).
- If the file is an SVG, you are not waiting for a size verdict on it (evaluate.ts:148).
- If you are following Shopify's consistent aspect ratio line, you are following it as the recommendation it is recorded as (shopify.ts:71-72).
What this page does not cover
Each of these is either another page's subject or outside what the module records.
- How Etsy or Shopify themselves validate an upload. This page describes our module and nothing else.
- The current policy of either marketplace. Every value here is what the repository records as of 2026-08-18.
- Which file formats are accepted, and how animation or transparency are handled. Those failures sit on a separate axis and are not classified here.
- The pixel dimensions of individual Etsy slots. This page names the slots that can fail, not their measurements.
- The Shopify ceiling values, which are the subject of /guides/shopify-product-image-sizes.
- Whether a collection image is a separate entity in Shopify's model. That inference is not written in the repository.
- What any image size does to ranking, display or sales. Nothing on this page speaks to that.
Questions
Is a recommended image size a rule I have to meet, or just advice?
In our module it is advice with a recorded severity. A recommendation's strongest outcome is a warning (evaluate.ts:187-190); only a requirement can produce a failure. Verified against the repository on 2026-08-18.
How many image checks can actually fail?
On size, four Etsy slots — the order receipt, the mini shop banner, the big shop banner and the collage variants (evaluate.ts:156-158) — plus Shopify's two ceilings, both recorded as requirements (shopify.ts:49, shopify.ts:57). Format, animation and transparency failures are a separate axis and remain possible on the other five slots.
Does uploading a bigger image than recommended clear the warning?
Not on six of the seven slots that carry a recommendation: the comparison at evaluate.ts:183 is an exact equality, so a larger image does not satisfy it. The listing slot is the single atLeast.
Is Shopify's consistent aspect ratio line a requirement?
No. It is recorded with kind='recommendation' at shopify.ts:71-72, as: "Use a consistent aspect ratio, or height-to-width ratio, for all the images that you add as your featured, or main, images." The module records no exemption for secondary or gallery images.