I build a small tool that resizes product photos for marketplace listings, and the hard part was never the resizing. It was answering one question 51 times: what exactly does this platform require?
Those requirements live in help-center pages, seller forums, and blog posts — often in Chinese, often contradictory, sometimes just a screenshot of a table. So I turned them into one file, with the URL each number came from, and published it. Here is what the data looks like, and where it is softer than it appears.
The shape of the problem
18 platforms, 51 rules. A platform usually has more than one rule, because the main image, the zoom image, the detail image and the video cover are separate requirements:
- Taobao 2, JD 3, Pinduoduo 4, Douyin 3, Kuaishou 2, 1688 2, WeChat Store 1, Youzan 14
- Amazon 3, Walmart 4, Shopify 3, eBay 2, AliExpress 1, Temu 1, Shopee 1, Lazada 1, Shein 3, TikTok Shop 1
51 rules, but only 29 distinct pixel sizes. And one size dominates: 800×800 appears in 12 of the 51 rules. After that: 200×200 (4), 750×1000 (3), 600×600 (3), 100×100 (3), 1000×1000 (2).
The file-size ceilings are worse than the pixel sizes. Only 13 of the 51 rules publish a cap at all, and those 13 use 7 different numbers spread over three orders of magnitude: 32 KB, 100 KB, 1024 KB, 2048 KB (4 rules), 3072 KB, 5120 KB (3 rules), 20480 KB (2 rules). A photo that passes one platform's cap gets rejected by another for being 30× too large — and the rejection message usually doesn't say which limit it hit.
The other 38 rules simply don't state a maximum. That's a real property of the data, not an omission on my side.
Formats in the dataset: jpg, jpeg, png, and mp4 for the video-cover rules.
A rule looks like this
{
"id": "white-800",
"slot": "main",
"width": 800,
"height": 800,
"aspect": "1:1",
"minWidth": 800,
"maxKB": null,
"background": "white",
"formats": ["jpg", "png"],
"sourceUrl": "https://…"
}
maxKB: null means the source didn't publish a ceiling, not that anything is allowed. background is one of white, transparent, any — 16 of the 51 rules require white, which turns out to be the single most under-rated field in the whole file (more on that below).
What "verified" honestly means
Of the 51 rules, 25 point at the platform's own documentation and 26 only at third-party write-ups — seller blogs, agency guides, forum posts. Every rule carries its sourceUrl and every platform carries a homepage, so you can recompute that split yourself against whatever list of official domains you trust. The site labels each rule accordingly instead of quietly presenting a blog post as platform documentation.
Two things I ran into while compiling it:
- Sources disagree. For at least one platform, two seller guides stated different minimum sizes, and neither linked to the platform's own page. I kept the one I could trace and marked the kind.
-
"White background" is a trap. 16 rules ask for it. What they actually mean is
255,255,255; a product photographed on a light-grey sweep lands around 246–252 and fails review with no explanation. If your pipeline "fills the empty space with white" but never touches the photo's own background, you will still be rejected. I ended up adding a step that only rewrites near-white pixels when the image border is already ≥85% near-white, so it can't wreck a coloured background.
Machine-readable, not a blog post
The whole thing ships as data, so you don't have to scrape this article:
- JSON:
https://tugui.top/data/specs.json - CSV, one row per rule:
https://tugui.top/data/specs.csv - npm:
npm install tugui-specs - mirror with README and license: github.com/pgodace/tugui-specs-data
- for agents:
https://tugui.top/llms.txtandhttps://tugui.top/llms-full.txt
MIT for the dataset file itself. The platform names are their owners' trademarks; this is a convenience copy of publicly documented upload requirements, not an official API and not an endorsement.
What this dataset can't tell you
The numbers are the easy half. A marketplace review also looks at things no dataset can encode:
- whether the product fills enough of the frame
- whether there is a watermark, text, or a border
- whether a human reviewer simply doesn't like the photo
I also built a checker that evaluates only the four hard numbers — pixel size, aspect ratio, file ceiling, format — and says so on the page. It never claims an image will pass review, because it can't know.
Why publish it
The tool resizes a batch of photos to any of these specs in the browser, one photo → every marketplace size, sorted into a folder per platform, with nothing uploaded (tugui.top). Five files per batch are free, a license is $4/month or $12/year — so yes, this post is also marketing.
But the dataset is useful on its own, and the interesting part of the work was the verification, not the product. If you find a number that's wrong, or a platform whose published requirement changed, open an issue on the mirror repo with the URL and I'll fix the rule and bump the date.
generatedAt in the file is the date the sources were last checked by hand — 2026-10-25 as of this post — not the date the JSON was regenerated.
Top comments (0)