Smol for e-commerce teams

Optimize Product Images for Ecommerce, in Bulk, on Your Mac

Product photos leave the studio as huge exports and must arrive on a storefront or marketplace as small, correctly sized files. Smol compresses and converts whole SKU folders in one batch on your Mac, writes a copy beside each original by default and uploads nothing. Below: each platform’s limits, then starting settings to test against them.
  • Drop a whole catalog of SKU folders in one batch
  • By default originals stay untouched; a _compressed copy lands beside each
  • Output JPG, PNG, WebP or AVIF with one quality setting
  • Metadata stripped by default, and no file leaves your Mac

$29 once per Mac · No subscription · Files never leave your Mac

Smol’s main window in dark and light appearance with an image, a PDF and a video queued and a Compress 3 Files button
By the Smol team13 min read

To optimize product images for ecommerce, export each photo at the longest side your store or marketplace actually shows, save photographs on white as JPEG and reserve PNG or WebP for cutouts that need transparency, then compress the whole catalog in one batch and check the result against each platform’s file-size limit. The workflow, not the compression, is where the time goes.

What you are uploading, the limit that applies, and a starting setting in Smol
You are uploadingThe limit that bitesStarting setting in Smol
Photo on white for a Shopify or BigCommerce storeShopify: 20 MB and 25 MP, 2048 px square recommended. BigCommerce: 8 MBJPG, quality 80 to 85, longest side 2048 to 2560
Amazon main imagePure white background (RGB 255); at least 1,000 px on the longest side for zoom, 1,600 or more optimalJPG, quality 85, longest side 1600 or more, flattened onto white first
eBay photo12 MB on the UK site, 7 MB on AU; about 1600 px recommendedJPG, quality 80, longest side 1600
Cutout with a transparent backgroundPNG or WebP where the platform shows transparency. Amazon main images need a flat white backgroundPNG output, test on a dark background first
Source image for a WordPress or WooCommerce storeWordPress scales anything over 2560 pxJPG, quality 85 to 90, longest side 2560

The rest of this page sources those limits and covers the batch workflow for catalogs with hundreds of SKUs. We make Smol, so the last section says where it is the wrong tool.

What are the image limits on Shopify, Amazon, eBay and BigCommerce?

Each platform publishes its own, and they disagree. We opened each page on 9 October 2026 and copied the figure.

Image upload limits by platform, each with its source
PlatformFile sizePixelsFormatsSource
Shopify20 MB25 MP; 2048 x 2048 px recommended for square images; aspect ratio 100:1 to 1:100Uploads page: JPEG, PNG, WEBP, HEIC, GIF. Product media page also lists TIFF, BMP, SVGUploading files, Product media
BigCommerce8 MB for product, variant, brand and category imagesNot stated on the limits pageJPEG/JPG, GIF, PNG. TIF and PDF are not supportedPlatform limits, Image Manager
eBay UK12 MB eachAt least 500 x 500; about 1600 x 1600 recommended; up to 24 photosJPEG, PNG, GIF, TIFF, BMP, WEBP, HEIC, AVIFeBay UK: adding pictures
eBay Australia7 MB each from a computer; 12 MB if the photo is copied from a web addressAt least 500 px on the longest side; 800 to 1600 recommended; up to 24JPEG, PNG, GIF, TIFF, BMP, WEBP, HEIC, AVIFeBay AU: adding pictures
AmazonNot stated in either post we could openTwo Amazon-account posts disagree on the floor: 500 px or 1,000 px on the longest side. Over 1,000 px enables zoom; 1,600 or more is called optimal. Main image: pure white background (RGB 255, 255, 255), product filling 85 to 100% of the frameJPEG preferred; also PNG, TIFF, non-animated GIFSeller Central forum, 500 to 10,000 px, Seller Central forum, 2026 standards
Google Merchant Center16 MBAt least 500 x 500 (stated for all products from 31 January 2027); about 1500 x 1500 recommended; at most 64 MPJPEG and WebP recommended; PNG, GIF, BMP, TIFF also supportedMerchant Center image requirements
WordPress / WooCommerceSet by your host and PHP settingsAnything over 2560 px is scaled down on upload; originals should be at least 800 x 800 for most themesWebP uploads since WordPress 5.8, if the server supports WebPWordPress 5.3 big images, WordPress 5.8 WebP, WooCommerce

Four things stand out. eBay publishes different caps on different sites, so a number from a forum can be right and still wrong for yours. Amazon’s own help pages sit behind the seller login, and the two Amazon-account forum posts we could open disagree on the pixel floor, so treat 1,000 px as the safe minimum and read the version in your own account; neither states a file-size cap, so we quote none. Shopify’s 2048 px is a recommendation, not a limit, and its two help pages list different formats, so test a file type before a bulk upload. And Etsy is missing on purpose: its help article refused our automated read, so we quote no Etsy figure rather than a blog’s guess. Open Requirements and Best Practices for Images in Your Etsy Shop in the Etsy Help Center yourself.

The caps catch raw exports more than compressed files: a 45-megapixel studio file is over Shopify’s 25 MP limit before its byte count matters. For any platform not listed, search its help center for the upload limits and confirm with your largest file.

Shopify serves its own versions, so does preparing the original still matter?

Yes, for reasons other than page speed. Shopify’s documentation says its Imagery service “manages your images and videos to ensure the best possible format is displayed”, and the image_url filter detects which formats the client supports, caps width and height at 5,760 px, and never resizes an image larger than the original. An admin download returns “the original, unoptimized file”.

What your preparation still changes

  • Whether the upload works at all. Anything over 20 MB or 25 MP is outside the documented limits.
  • The ceiling. Shopify can only shrink. A 600 px source stays soft at every size, and for images served through image_url, a source past 5,760 px adds nothing beyond its cap. Shopify’s own advice for square product images is 2048 x 2048 px.
  • The stored original. The admin hands back what you uploaded. Whatever the file carried when you uploaded it, including any GPS coordinates or camera serial, is what comes back, so strip them before upload.
  • Everything that is not your storefront. Ad creative, email, a PDF line sheet and your own backups all start from the files on disk.

What it does not change: the format and widths a shopper’s browser downloads, if your theme uses image_url with srcset. Shopify picks the format for each visitor’s browser, and its performance guide leaves srcset and sizes to the theme. Before spending a week on quality sliders to fix a slow Shopify store, look at the theme and the installed apps.

Self-hosted stores are different. WordPress scales uploads over 2560 px and WooCommerce resizes to the sizes your theme asks for, all from the file you upload, so give it a clean, moderately compressed original rather than a crushed one. BigCommerce sits in between: it publishes an 8 MB cap and a short list of formats, and the pages we read do not say how it serves them.

Which Smol settings fit each kind of product image?

The quality and size ranges below are our suggested starting points, not platform requirements, so test them on twenty of your own SKUs. Smol’s image defaults are quality 75, metadata stripped, and resizing to fit inside 2000 × 2000 px, so raise the maximum size for any row below that asks for more than 2000 px. Smol’s resize also has width, height and fill modes; fill crops to the box.

Smol settings by product image deliverable
DeliverableOutput formatQualityMaximum sizeNotes
Photo on white, Shopify or BigCommerceJPG80 to 852048 to 2560 pxRaise the size if your theme zooms past 2048 px
Amazon main imageJPG851600 px or moreFlatten onto pure white (RGB 255) in your editor first; 1,000 px is the zoom floor
Google Merchant Center feedJPG80 to 851500 px or moreThe cap is 16 MB, so check the largest file; no watermarks or promotional text on the main image
eBay photoJPG801600 pxMatches eBay’s recommended size; check the 7 or 12 MB cap
Source for WordPress or WooCommerceJPG85 to 902560 pxStops WordPress adding its own scaled copy
Saturated fabric, jewelry, fine print on packagingJPG90As aboveQuality 90 and up uses full-resolution chroma
Transparent cutoutPNG (or WebP where accepted)Test 75 and 90As aboveNot for Amazon main images; check the edges on a dark background
Lifestyle or hero image where AVIF is acceptedAVIF65The width the layout showsNeither Shopify help page lists AVIF; eBay’s does

The one fixed fact behind 80 to 85: JPEG chroma is 4:2:0 up to quality 75, 4:2:2 at 80 to 85 and 4:4:4 from 90, so saturated edges such as a red label against a white sweep keep more color detail from 80 upward. Why AVIF for web-only images: on the 24-photo benchmark, with each tool tuned to the same SSIMULACRA2 score, Smol’s AVIF needed 22 to 26% fewer bytes than the best JPEG. That is a matched-score comparison, not a quality-65 result. Separately, at the defaults (quality 75), Smol shrank those photos 69.3% as JPEG to JPEG and 69.2% as PNG to PNG. The 65 in the AVIF row is only the quality of the benchmark’s separate PNG-to-AVIF run, so treat it as a starting point to test, not a value tuned for products. Our AVIF converter page covers the format.

Read those numbers with care. The test images are small, 768 × 512 film photographs, and we have not measured studio product photography, so your ratios will differ. Compress twenty representative SKUs, compare the byte counts, and zoom to 100% on the hardest ones.

Target file size (Neural mode) takes a size from 4 to 4096 KB and encodes toward it. It is a band, not a hard ceiling, and slow: about 28 seconds for one 768 × 512 image. Use it for the odd file that has to land near a size, then check the result against the cap; do not use it for a catalog.

Should product photos be PNG, JPEG or WebP, and what about studio TIFF and RAW?

JPEG for photographs, including photographs on white. Shopify’s product media page calls PNG the best file type for most product images, followed by JPEG; we pick JPEG for photographs because photographic detail generally makes smaller files as JPEG, and PNG earns its size on transparency and flat graphics. PNG only where you need transparency or have flat graphics such as size charts and badges. WebP where the platform accepts it and you want transparency in a lossy file, with one caveat on WordPress below. JPEG has no alpha channel, so a cutout saved as JPEG is a cutout flattened onto some color; flatten onto your background color in the editor, not in the compressor. Amazon main images need that flat white anyway, so a transparent cutout belongs in other slots or on other platforms.

Two traps. First, convert and compress are different operations. Smol’s convert writes JPEGs at high quality and ignores the quality setting, so for a small JPG from a PNG or HEIC use compress with the output format set to JPG. Second, format support differs by platform. iPhone shots can arrive as HEIC, which Shopify and eBay list as accepted and the Amazon posts do not. Compress those with JPG output (see the HEIC to JPG guide).

Transparent files deserve a test before a bulk run. We have not tested how Smol treats alpha on every output path, so compress one cutout, put it on a dark background and look at the edges. On WordPress and WooCommerce, test one cutout as WebP too: the WordPress 5.8 announcement said alpha formats were not yet supported for resized images, and that lossy versions are created instead. For flat graphics where no pixel may change, Smol has no lossless mode; ImageOptim does, and our head-to-head test shows where each wins. For WebP on flat product art, see converting PNG to WebP on a Mac.

Some shoots deliver TIFF or camera RAW. Shopify’s two help pages disagree on TIFF (the uploads page omits it, the product media page lists it), BigCommerce says TIF files are not supported, and eBay and Amazon accept it. Smol reads RAW (CR2, NEF, ARW, DNG) but does not develop it, so export a full-size file from your RAW tool first. Turn TIFFs into JPG before the bulk run; our TIFF to JPG guide covers sips and Preview.

Keep the master and regenerate each destination from it: a 1600 px eBay file, a 2560 px WooCommerce source, an Amazon file above 1,000 px. Each destination is a separate run, because one run produces one size, and every run writes the same name_compressed.ext by default, so move or rename each run’s outputs before the next or they collide. Compressing a compressed JPEG again stacks losses.

How do I optimize product images for ecommerce across hundreds of SKUs?

Set the options once, drop the top folder, review the results. The slow parts are naming and checking, not compressing.

  1. Fix the file names first

    By default Smol writes a copy next to each original with a _compressed suffix. Decide your naming before the run. BigCommerce wants alphanumeric names with no spaces or special characters, and Shopify warns that endings such as “small” or “thumb” can be misread as resize requests. A hyphen or underscore may not pass BigCommerce’s alphanumeric rule, so test one file and plan to rename after the run.

  2. Open Smol and set the options once

    Choose the output format, quality and maximum size from the settings table, and leave metadata stripping on. One run applies one set of settings, so make one run per destination and per format. Save each as a preset named for the destination, such as “eBay 1600” and “Shopify 2048”. Presets save the settings on that Mac, and we do not claim a way to share them between seats, so a team keeps output consistent by writing the settings down and recreating the same presets on each seat.

  3. Drag in one folder per set of settings

    Whole folders and mixed file types go in one batch, but the batch uses one set of settings. A folder run at “JPG, 80” would flatten any PNG cutouts in it, so sort transparent cutouts and each destination into their own folders and run each with its own preset. For a genuinely mixed folder, set the output to the original format. Smol shows progress and savings per file as it runs and a summary when the batch finishes. On a direct compress, where compressing would make a file larger it keeps the original.

  4. Spot-check the hard cases at 100%

    Open five files: a white-on-white product, one with small printed text, a saturated fabric, a fine-detail piece such as chain or mesh, and a transparent cutout. If one looks wrong, raise quality for that group and rerun only that folder.

  5. Rename, then upload

    Strip or change the suffix to match your importer, check the largest file against your platform’s cap, and upload from the compressed copies. Keep the originals; they are your source for the next theme or marketplace.

Speed is honest rather than impressive: 24 small images took about 7 seconds in our test, and a sips shell loop does the same job in under one. We have not timed a 500-file folder, so run a sample first. Our Automator walkthrough covers the free route for resizing alone.

Smol’s completion screen after a batch: 128 files complete, 2.4 GB before, 310 MB after, 87% saved, 2 minutes 41 seconds elapsed
The completion screen after a batch: total size before and after, the share saved, and the time it took.

What breaks in a bulk upload besides file size

  • Duplicate and unsafe names. BigCommerce requires unique, alphanumeric names without spaces. Shopify may add a unique identifier to the file name on upload.
  • Embedded metadata. Phone and camera exports can carry GPS and device tags. Smol strips them by default; see removing EXIF data on a Mac.
  • Color profiles. In the test behind our metadata post, Smol’s JPEG output at the default setting had no ICC tags; with metadata stripping switched off, its WebP output kept them. An untagged JPEG is normally read as sRGB, so convert wide-gamut sources to sRGB in your editor first.
  • Aspect ratio and cropping. Shopify accepts ratios from 100:1 to 1:100, but says featured images only display at the same size on collection pages if the whole catalog uses a consistent ratio. Crop in the editor. Smol’s fill mode crops to a box, with no control over framing or subject.
  • Accepted formats. BigCommerce rejects TIFF and PDF; the Amazon posts list no HEIC or WebP. Convert before you upload, not after the importer fails halfway through.

File names and alt text

Google’s image guidance asks for short, descriptive file names and useful alt text: my-new-black-kitten.jpg beats IMG00023.JPG, and Google discourages stuffing alt text with keywords. Name files descriptively before the run, subject to your platform’s rules above, and write alt text that describes what the shopper sees.

How small should a product image be for page speed?

Small enough that the product photo does not decide your Largest Contentful Paint. Google’s threshold for a good LCP is 2.5 seconds or less at the 75th percentile, and on a product page the main photo can be the element being timed. There is no universal byte target. The levers, in order: serve the width the layout shows, use a modern format where the platform lets you, give every image width and height, and do not lazy-load the main image above the fold.

On Shopify those levers live in the theme: its performance guide recommends srcset and sizes with image_tag and warns against lazy-loading the LCP image. On a self-hosted store they live in your upload and plugin choices. We measured the width ladder and format gaps in Image Optimization for Core Web Vitals; the developer view is in image compression for web developers. If an agency maintains your theme, see Smol for web agencies.

What about product videos and PDF spec sheets?

Catalog work is not only stills. The Amazon forum post we used for image limits recommends at least six images and one video for each product, and you may also ship PDFs: spec sheets, care cards, wholesale line sheets.

Smol compresses video to MP4, MOV, WebM or MKV with H.265 (the default) or H.264, with quality labels from High (CRF 24) to Web (CRF 28) and the option to reduce resolution or remove audio. Check which codec and container your platform accepts; if you are unsure, H.264 in MP4 is the conservative pick. Our guides to compressing video on a Mac and batch video compression carry the measured results, and H.265 vs H.264 covers the codec choice.

For PDFs there are five presets, Tiny to Original. They cap the long edge of embedded images at 600, 900, 1200, 1800 and 2400 px; they are not DPI targets, and Original is not lossless. Do not plan around a percentage: PDFs exported from design tools or scanned compress well, while files from some generators barely shrink. For print line sheets read compressing a PDF for print; for a folder of supplier PDFs, batch PDF compression. Avoid Preview’s Reduce File Size filter; we measured it making PDFs bigger. No PDF preset strips metadata, so run the separate strip-metadata operation before sending a PDF to a customer.

What do e-commerce teams use today, and where does each win?

Tools for preparing product images, compared
ToolWhere it winsWhere it falls short
Preview and FinderFree, built in, fine for ten imagesMulti-select export is crude and has one quality slider; see our methods comparison
sips (Terminal)Fastest option here: under a second for 24 small images. ScriptableNeeds the Terminal; cannot write WebP
AutomatorFree batch resize from FinderFixed JPEG quality 75; overwrites originals unless you add a copy step
ImageOptimFree; lossless at its default settings, with an optional lossy mode. Saved 8.9% on our 24 small JPEG photos and 4.3% on the same photos as PNGs at defaultsSmall gains on photographs; last release 29 October 2023
Lightroom or Photoshop exportBest place to set color space and crop. Export right out of the editWrong tool for a supplier’s 400 existing images
Online compressorsNo install, works on any computerServer-based ones upload every file, including unreleased products (TinyPNG stores uploads on its servers for up to 48 hours)
Store-side tools (CDN, plugins)Resize and convert at delivery for each visitorDo not shrink the upload, backups, ads or email assets

A mix to consider is store-side delivery for shoppers plus a local pass on the files before they go anywhere. Our compressor roundup and methods comparison test the tools above side by side. Smol processes locally and uploads nothing, which matters before a launch embargo.

How does a catalog team adopt it?

Solo is $29 once for one Mac. Team is $49 once for three Macs, with seats managed from an admin dashboard. Enterprise is $20 per seat, once, for 5 to 500 seats. There is no subscription and no per-file quota; details on the pricing page. The practical gain for a team is consistency: write the settings table down, create one preset per destination on each seat, and the photographer, the merchandiser and the freelancer work from the same settings. We do not document sharing presets between Macs, so the written table is the shared source.

For one-off jobs, the Finder Quick Action adds compress to the right-click menu. A watched folder can compress each new export automatically, but it has a known defect: it can make already-optimized files larger. Point it only at a folder of fresh, unoptimized exports, as described in the watched folder guide.

If someone on the team works with an AI coding agent, Smol exposes its jobs to Claude Code, Codex and Google Antigravity over MCP, so a prompt can run a compression job on a folder locally. Images that arrive on a server, from supplier portals or customer uploads, need compression there; the Smol API exists for that. Related guides: Smol for marketing teams and photographers delivering to clients.

Where is Smol the wrong tool for product images?

  • A Shopify store whose files are already under the limits. Shopify’s CDN already picks formats and widths. If the images are sharp and under 20 MB and 25 MP, Smol saves you storage and upload time, not a better LCP.
  • Anything that must stay pixel-identical. Logos, size charts and text-heavy infographics should go through a lossless optimizer such as ImageOptim, because Smol always re-encodes.
  • Automated pipelines. Supplier feeds and customer uploads are server work. An image library in the build, an image CDN, or the Smol API fits; a Mac app does not.
  • Editing. Smol does not remove backgrounds, retouch or fix color. Its fill resize mode crops to a box, but with no framing or subject control, so do real cropping and aspect-ratio work in an editor first.
  • Thousands of tiny thumbnails. A sips loop is faster.
  • Teams on Windows or Linux. Smol is macOS only, and it does not run in CI.

Frequently asked questions

What are Shopify’s image size and file size limits?

Shopify’s uploads page lists a maximum of 20 MB and 25 megapixels per image, an aspect ratio between 100:1 and 1:100, and the formats JPEG, PNG, WEBP, HEIC and GIF. Its product media page also lists TIFF, BMP and SVG, and says 2048 x 2048 px usually displays best for square images. Figures read 9 October 2026.

Does Shopify compress or convert product images automatically?

Shopify’s documentation says its Imagery service manages images so the best possible format is displayed, and that the image_url filter detects which formats the browser supports. The pages we read do not state the quality it uses. So upload a clean, correctly sized original; the admin keeps that file and returns it on download.

How do I compress product images without losing quality?

Strictly, only a lossless optimizer changes no pixels, and on our photos ImageOptim saved 8.9% that way. Smol is lossy: it re-encodes, and at its defaults made 24 small JPEG test photos 69.3% smaller, JPEG to JPEG. For products, use quality 80 to 90, then check the hardest SKUs at 100% before the full batch.

What are Amazon’s product image size requirements?

Two Amazon-account posts in the Seller Central forum disagree on the floor, 500 pixels in one and 1,000 in the other on the longest side. Main images need a pure white background (RGB 255), with the product filling 85 to 100% of the frame. JPEG is preferred. Confirm the current rules in your own seller account.

What is eBay’s maximum photo file size?

It depends on the site. eBay’s UK help page says 12 MB per photo, with at least 500 x 500 pixels and about 1600 x 1600 recommended. The Australian page says no more than 7 MB each from a computer, but 12 MB if you copy the photo from a web address. The limit differs by eBay site, so check the photo page for the site you sell on.

Should product photos be PNG or JPEG?

Use JPEG for photographs, including products on white, because photographic detail generally makes smaller JPEG files, though Shopify’s product media page lists PNG first. Use PNG for transparency or flat graphics such as size charts. WebP can carry transparency where accepted, but WordPress 5.8 did not support alpha for resized copies. Test one cutout first.

How do I compress hundreds of product photos at once on a Mac?

Set the output format, quality and maximum size once in Smol, save them as a preset, then drag the top-level catalog folder in. Smol takes whole folders but applies one set of settings per run, so keep cutouts and each destination in separate folders. By default it writes a _compressed copy beside each original. Rename the copies to match your importer’s rules.

Keep reading

Smol for other teams