Core tool
Image Resizer
Set an exact pixel width and height, decide whether the frame crops or letterboxes, and export. Runs on your machine — no upload, no queue, no watermark.
- Output sizeAny, 16 – 10,000 px
- Formats outJPG · PNG · WebP
- Batch sizeUp to 20 images
Drop product photos here
Or . JPG, PNG, WebP, GIF, BMP or AVIF — up to 20 images, 20 MB each.
Nothing leaves your device. Files are decoded and re-encoded in this browser tab.
Output targets
Each selected marketplace supplies its own output size — Custom uses 0 × 0 px. Switch to a custom size to override them all.
Fills the frame and trims the overflow — the usual choice for product grids.
Settings apply to every image in the batch once you upload.
Export
Platform check
The custom output target applies no marketplace rules. Select Amazon, Etsy or Shopify to see their size, format and file-size checks.
How it works
Drop your images
Click or drag files onto the workbench. Each file is decoded once and measured, so you see its real pixel dimensions before you touch a setting.
Type the target size
Enter width and height, or pick one of the common presets. With aspect lock on, changing one axis recalculates the other from the first image in the batch.
Prepare and download
The batch renders in a worker pool, then downloads as a ZIP. Every file keeps its own name, size and byte count so you can audit the result.
Crop to fill, fit inside, or stretch
Resizing to a different aspect ratio always involves a decision, and most tools hide it. Here it is a switch:
- Crop to fill scales the image until both axes cover the frame, then trims the overflow from the centre. This is what product grids want — no bands of background, no distortion.
- Fit inside scales until the whole image fits, then pads the remainder with your background colour. Use it when cutting anything off would be a lie about the product.
- Stretch forces the exact dimensions and distorts the subject. It is available because sometimes you need it, and it is labelled so you do not do it by accident.
Why the output is sometimes smaller than you asked
Upscaling invents pixels that were never photographed. With Allow upscaling off (the default), a 900 px photo asked for 1600 px comes out at 900 px, and the thumbnail is flagged Upscaled so you know why. Turn the toggle on if you would rather have the dimensions than the honesty — the image will be softer.
Large downscales use progressive halving rather than a single giant drawImage, because browsers only sample a handful of taps per pass and a 4000 px → 400 px jump otherwise produces visible aliasing.
DPI, print size and other things this tool ignores
A pixel has no physical size until something decides to print it. “300 DPI” is a print instruction attached to a physical dimension, not a property of the file you upload to a marketplace. Amazon, Etsy and Shopify size images in pixels, so this tool does too. If a printer asks for 300 DPI at 6 inches, you want 1800 px — enter that.
Questions
What is the maximum output size?
The inputs accept 16 to 10,000 pixels per axis. Browsers cap canvas area independently (Chrome allows roughly 268 megapixels per canvas), so extremely large requests can fail — you get a clear error on that image instead of a silent blank file.
Does resizing reduce quality?
Downscaling discards detail on purpose and is usually what you want. Upscaling cannot add detail that was never captured, so it always looks softer. The quality slider additionally controls JPEG/WebP compression on export.
Are my files uploaded anywhere?
No. The file is read from disk by the browser, decoded to a bitmap, drawn to an offscreen canvas and encoded back to a Blob. There is no upload request in the code path.
Can I resize a batch to different sizes per image?
Not in this version — one target size applies to the batch, which is what product catalogues usually need. Per-image overrides are on the roadmap; the multi-marketplace workbench is the alternative if you need several sizes at once.
What happens to EXIF orientation?
It is honoured. Images are decoded with imageOrientation set to from-image, so a phone photo taken sideways comes out upright instead of rotated 90 degrees.
Output defaults to JPEG on this generic page — you can switch to PNG or WebP in the Convert tab. The marketplace presets choose their own format instead: Amazon and Etsy export JPEG, Shopify exports WebP. If the images are headed for a storefront, start from the multi-marketplace workbench instead — it applies the right dimensions and format per platform in one pass.