Resize · ZIP · Client

Batch image resizer

Drop a batch of product photos, set the target dimension, get a single ZIP back with every image resized. Three sizing modes (longest edge, fit width, fit height); three output formats (JPG, PNG, WebP). All processing in your browser; nothing uploaded.

Last updated 2026-05-09. Math runs in your browser, no data leaves your computer.

General guidance only, not legal or professional engineering advice. Verify against the cited primary sources (IMDG, REACH, ChAFTA, RCEP, Customs Tariff Act, supplier SDS, etc.) before committing to a shipment, declaration, or contract. Sourzi assumes no liability for outcomes based on these calculators.

Drop a batch of JPG, PNG, or WebP photos. The tool resizes each one in the browser, packages them into a ZIP, and offers a single download. Aspect ratio is preserved; cargo never gets squished or stretched.

JPG, PNG, or WebP. Multiple files at once. Max 8 MB per file. Files stay in your browser; nothing is uploaded.

Common targets: 1200 for catalogue, 1000 for Alibaba listing, 600 for print, 2400 for Retina hero.

90 is the catalogue sweet spot; 80 is acceptable for thumbnails; 95+ for archive originals.

Stay in the loop

Want updates when this tool ships smart cropping (auto-detect cargo, crop to fill aspect)? Drop your email.

Why client-side resizing makes sense for catalogue work

A typical product catalogue refresh is 40 to 200 photos shipped from a supplier in mixed sizes (some 4032 wide off a phone, some 1200 wide off a DSLR shot, some 800 wide off a scan). Every photo needs to land at the same target dimension to drop cleanly into the catalogue layout. Doing this through a server-side processor adds latency, costs bandwidth, and forces the buyer to upload originals to a third party. Doing it in the browser is faster, free, and the originals never leave the buyer machine.

Aspect ratio preservation is the rule. Catalogue layouts usually have a fixed aspect for the image slot (4 by 3 or 1 by 1), but the photo aspect is whatever the photographer shot. Resizing without cropping leaves whitespace; cropping without resizing changes the framing. The tool resizes, leaves crop to a deliberate downstream step. Three sizing modes let you pick which dimension governs (longest edge for general work, fit width when the slot width is fixed, fit height when the slot height is fixed).

Output format choice matters. JPG at 90 percent quality is the catalogue sweet spot: well below the artefact-visibility threshold (~75-80 percent), well below the file-size cliff at 95+ percent. PNG is for transparent images (the output of the background remover, or composited overlays); preserves quality losslessly at the cost of file size. WebP is 25 to 35 percent smaller than equivalent-quality JPG but is not universally consumed by older systems; ask the destination first.

JSZip bundles the output files into a single ZIP because browsers cannot trigger a multi-file download from a single user gesture. The ZIP arrives via a normal download click and the buyer extracts to wherever the catalogue ingestion pipeline expects.

Worked example. 60-photo catalogue refresh

The booking. A US distributor receives 60 product photos from a Shandong chemical supplier covering 30 SKUs, two photos each (front, side). Photo sizes vary from 4032 by 3024 (phone) to 1200 by 800 (scan). Distributor catalogue layout uses a 1200-wide image slot in JPG; everything bigger needs to come down, everything smaller stays as-is.

The work. Distributor drops all 60 photos into the tool. Sets sizing mode to Longest edge, target 1200, format JPG, quality 90. Tool processes each photo: reads the file via FileReader, draws to a hidden Canvas at the target dimension (preserving aspect), exports as JPG blob, names it [original-stem]-[width]x[height].jpg, adds to the JSZip archive. Progress text updates after every file. Total time on a mid-tier laptop: 15 to 25 seconds for 60 photos. ZIP downloads at the end.

The fix. Distributor extracts the ZIP into the catalogue ingestion folder. Catalogue build picks up all 60 files at the consistent 1200 longest-edge size and renders without scaling artefacts. The supplier-provided originals stay untouched in the buyer archive. The whole task that previously took 40 minutes of manual Photoshop batch-process work now runs in under a minute end-to-end. The buyer customer gets the new catalogue PDF the same afternoon, instead of next-day.

Frequently asked

What does this tool do?

Resizes a batch of product images to a target dimension and bundles the resized files into a single ZIP for download. Useful when prepping a catalogue (40 product photos at 1200px wide), an Alibaba listing (8 photos at 1000px), or a print PDF run (every drum photo at 600px). Resizes happen in your browser; no upload, no server processing.

How is the output sized?

Three modes. Longest edge: scales proportionally so the longer dimension equals the target, the shorter is computed by aspect ratio. Fit width: target is treated as the width, height is computed by aspect ratio. Fit height: target is the height, width is computed. None of the modes crop or distort; aspect ratio is preserved.

What output format does the tool produce?

JPG by default at 90% quality (the catalogue sweet spot, well below visible artefact threshold). Switch to PNG for transparency support (the output of the background remover, for instance). WebP is offered for browsers that need smaller files; not all systems consume WebP, so default to JPG unless you know the destination supports WebP.

Why bundle into a ZIP?

Browsers cannot trigger a multi-file download from a single user gesture without the user clicking "save" 40 times. The ZIP is the legitimate workaround: one download, one user click, all resized files inside. JSZip handles the bundling. Output filenames follow the pattern {original-name}-{width}x{height}.{ext} so the destination is unambiguous.

How many files can it process at once?

No hard cap, but the browser holds every Image and Canvas in memory while running, so 50 to 80 typical product photos is comfortable; 200+ may slow some browsers. If you hit memory pressure, split the batch into two passes.

Does the tool send my files anywhere?

No. Files are read with FileReader, drawn to Canvas, exported with toBlob, bundled with JSZip, and downloaded. All in browser memory. No network upload at any stage.