The WooCommerce image size that matters most is the one you upload. WooCommerce makes a 600 px single product image, a 300 px catalog thumbnail and a 100 × 100 gallery thumbnail from your file, so upload at least 800 × 800 px (1600 px if you want retina sharpness) and keep the file under your host’s upload cap.
| What you are sending | The limit you hit | The Smol setting |
|---|---|---|
| Product photos straight from a camera or phone | Media Library refuses the file, or the page loads slowly. PHP’s default cap is 2 MB | Compress, output JPG, quality 75 to 80, maximum dimension 1600 to 2000 |
| Small supplier or marketplace images | Below 800 × 800, so zoom and retina screens look soft | Smol cannot add detail. Request larger originals. Upscaling is a separate, last-resort operation |
| iPhone HEIC photos | HEIC is a poor fit for a web store, so convert it while you shrink it | Compress with output JPG (not Convert) |
| A PDF size chart or spec sheet | The same upload cap as images | PDF preset Small or Medium, then check the output |
What is the default WooCommerce image size?
WooCommerce registers three sizes: a 600 px wide single product image, a 300 px wide catalog thumbnail, and a 100 × 100 px gallery thumbnail. Your theme can override all three, so check your own Customizer before you trust a number from an article.
| Size | Where it appears | Default | Cropping | Source |
|---|---|---|---|---|
| woocommerce_single | The main image on the product page | 600 px wide | Uncropped | WooCommerce docs |
| woocommerce_thumbnail | Shop and category grids | 300 px wide | Square by default; 1:1, custom or uncropped in the Customizer | WooCommerce docs |
| woocommerce_gallery_thumbnail | The strip below the main image | 100 × 100 px | Always square | WooCommerce docs |
Those are defaults, not recommendations. WooCommerce’s own blurry images guide uses the Storefront theme as its example, where the largest single image was 800 × 800 (needed for zoom) and gallery thumbnails were 46 × 46. Right-click an image on your shop, choose Inspect, and read the rendered size on your own theme.
What WooCommerce product image size should I upload?
Upload at least 800 × 800 px. WooCommerce’s guide says the original should be at least that in Attachment Details for most themes, and for retina screens it says to double the rendered size. An 800 px display therefore wants a 1600 px source.
Going from 600 to 1600 px wide is a bit more than seven times the pixels, so a 1600 px upload costs real bytes. That is where quality matters. A photo at 1600 px and quality 75 to 80 is lighter than the same frame straight off a camera, and it does not tax the shop page the way a 12-megapixel original does. Those quality numbers are starting points to try, not tested thresholds for your catalog.
- Square products: 1600 × 1600 gives retina sharpness on an 800 px display.
- Uncropped single images: only the width matters, because the single image is not cropped.
- Catalog grids set to 1:1: keep the subject centered, since the thumbnail is cropped square.
- Detail-heavy items (jewelry, fabric): use the larger end and compare the zoomed view.
For where this fits in a wider routine, our image optimization guide for web developers covers sizing across a whole site, the WordPress image optimization page covers the wider WordPress side, and the e-commerce product images page covers marketplaces and catalogs beyond WooCommerce.
Why are my WooCommerce images blurry?
Blurry WooCommerce images come from theme styling that stretches a file to dimensions it was not made for, a source image that is too small, or thumbnails that were never regenerated after a size change. Check those three in that order.
Check the original
Open the image in the Media Library. If the Attachment Details show less than 800 × 800, replace it. No setting recovers detail that is not in the file.
Measure the rendered size
Use the browser’s Inspect tool on the shop page, a product page and the gallery. Note the largest rendered width.
Set the width to match
In Appearance, Customize, WooCommerce, Product Images, set the main image width to match or exceed that number and publish. Block themes use Appearance, Editor instead. Both paths are in the WooCommerce guide.
Regenerate the thumbnails
Go to WooCommerce, Status, Tools and click Regenerate beside Regenerate shop thumbnails. Do it after any size change or theme switch.
The flip side is a file that is too large, which does not blur but does slow the page. Compressing before upload addresses that side, and our Core Web Vitals image tests show how image weight turns into load time.
What is the WordPress max upload size, and how do I get under it?
WordPress uses the smaller of PHP’s upload_max_filesize and post_max_size, and PHP’s stock defaults are 2M and 8M. Hosts can change them, so the real cap is whatever your host has set.
| Setting | Stock value | What it does | Source |
|---|---|---|---|
| upload_max_filesize | 2M | Largest single file PHP accepts | PHP manual |
| post_max_size | 8M | Total of one request; must be larger than upload_max_filesize | PHP manual |
| max_file_uploads | 20 | Files per request, which matters when you drag in a whole shoot | PHP manual |
| Big image threshold | 2560 px | WordPress scales down any upload larger than this on either side | WordPress 5.3 notes |
| Resulting upload limit | min of the two sizes | WordPress takes the smaller of the first two | WordPress reference |
Raising the limit is a host or php.ini change, and some hosts do not allow it. Shrinking the file always works. Because the 2560 px threshold exists, a 5000 px original is scaled by WordPress anyway, after you have already waited for it to upload. Resize first, and the upload is quicker as well as smaller.
How do I optimize WooCommerce images with Smol?
Drop the folder into Smol, set output to JPG, quality 75 to 80, set a maximum dimension of 1600 to 2000, and read the largest output size. Then upload the copies. Smol writes each result next to the original with a _compressed suffix, and by default it does not overwrite anything.
| Situation | Output | Quality | Maximum dimension |
|---|---|---|---|
| Standard product photos, retina-ready | JPG | 75 to 80 | 1600 |
| Detail-heavy products (zoom matters) | JPG | 80 | 2000 |
| Flat-color graphics or logos with transparency | PNG or WebP | 75 | Match the display size |
| iPhone HEIC shoot | JPG, using Compress | 75 to 80 | 1600 |
| Host with a very tight cap | JPG | Lower in steps of 5 and check each | 1200 to 1600 |
| Size chart or spec sheet PDF | PDF preset Small, or Medium for scans | Presets | Presets are pixel caps |
In Smol’s own test of 24 small film photographs (768 × 512), default settings made the JPEGs 69.3% smaller; the figures are on the benchmark page. Those images are far smaller than a camera file, so expect your results to differ, and check the output sizes rather than counting on a percentage. Smol sets quality and pixel size, not bytes, so it cannot promise a file under a cap.
Can WooCommerce use WebP or AVIF?
Smol can write both formats at the Compress step. Whether your WordPress version, theme and caching setup accept them is a question for your own site, so test one upload before converting a catalog. JPG is the safe default.
A repeatable workflow for a new product shoot
Compress once per shoot, not once per photo. This takes a few minutes and means the Media Library only ever sees files that are already the right size.
Copy the shoot to a working folder
Keep the originals. You will want them if you change your sizes later, and regenerating thumbnails depends on keeping uploads.
Drag the folder into Smol
Whole folders and mixed types are fine, so photos and a size-chart PDF can go in together.
Set output JPG, quality 75 to 80, maximum dimension 1600
Use Compress, not Convert, because quality applies to Compress. HEIC is handled the same way.
Run it and read the largest output
If the biggest file clears your upload cap, they all do. If not, lower the quality by 5 and run again.
Upload the compressed copies and check one product page
Look at the single image, the zoom and the shop grid. If the single image is soft, return to the blurry-image steps above.

What do WooCommerce stores use today to optimize images?
Free and built-in options come first, and for many stores they are enough. The question is where in the process the work happens.
| Option | Where it runs | Cost | Good for | Limit |
|---|---|---|---|---|
| WordPress and WooCommerce built-ins | On your server after upload | Free | Generating the 600, 300 and 100 px sizes; scaling past 2560 px | It cannot make an oversized file upload any faster, and it will not fix a small original |
| Preview or the sips command | Your Mac | Free | A handful of photos. See our guide to the sips command | Awkward for hundreds of files |
| ImageOptim | Your Mac | Free | Lossless pixel-identical optimization | Smaller savings than a lossy pass. Our head-to-head test has the figures |
| A WordPress optimization plugin | Your server or the plugin vendor’s | Varies | Catalogs already in the Media Library; automatic on upload | The oversized file is still uploaded first. Check the vendor’s own limits and pricing |
| Smol | Your Mac | $29 once | Batches of new photos, HEIC, PDFs, one setting for the whole shoot | Mac only, not automatic on upload, and not the fastest tool |
Read our sips command guide, the head-to-head against ImageOptim, and the every-method comparison before you pick. For automating a folder of fresh camera exports, see the watched folder guide, including its caveat about files that are already optimized.
When is Smol the wrong tool for a WooCommerce store?
Your catalog is already in the Media Library. Smol works on files before upload. To re-optimize thousands of images that are already live, a plugin that works on the server is the more direct route. Smol can still prepare the next shoot.
You need lossless output. Smol always re-encodes images and has no lossless mode. For pixel-identical optimization, ImageOptim is the answer.
Your originals are smaller than 800 px. Compression cannot add detail. Smol does have a 2×, 3× or 4× upscale, but it is a last resort, and a real larger file from the supplier is better.
You work on Windows or Linux, or in a build pipeline. Smol is macOS only and not a CI tool. For a server-side flow, the Smol API exists, or an image library in your build.
A team of several people uploads on different machines. Smol is $29 once for one Mac, Team is $49 once for three Macs, and Enterprise is $20 a seat for 5 to 500 seats. Presets are saved on each Mac, so write your settings down and recreate them on each one.
Frequently asked questions
What is the best WooCommerce image size?
There is no single best size, because your theme sets how large images display. WooCommerce defaults to a 600 px single image, a 300 px catalog thumbnail and a 100 by 100 gallery thumbnail, and its guide wants originals of at least 800 by 800. For retina, double your rendered size. Measure your own theme with Inspect.
What size should WooCommerce product images be for zoom?
Larger than the displayed size. WooCommerce says originals should be at least 800 by 800 for most themes, and its retina advice is to double the rendered size. So an 800 px display wants about 1600 px. Detail-heavy items benefit from the larger end. Compress the file so the bigger image does not slow the page.
Why do my WooCommerce images look blurry?
Common causes: the theme stretches a small file, the original is under 800 by 800, or the thumbnails were not regenerated after a size change. Check the original in Attachment Details, set the main image width in the Customizer, then run Regenerate shop thumbnails under WooCommerce, Status, Tools.
What is the WordPress max upload size?
It is the smaller of PHP’s upload_max_filesize and post_max_size. PHP’s stock defaults are 2M and 8M, but hosts can change them. Your real limit is whatever your host has set. If a file is over it, shrink the file or ask your host to raise the PHP settings.
How do I optimize WooCommerce images before uploading?
Resize to the width you need, then lower quality until the file is light enough. In Smol, drop the folder in, choose Compress with JPG output, quality 75 to 80, and a maximum dimension of 1600. Check the largest output against your upload cap. Originals are untouched by default.
Does WordPress resize large images automatically?
Yes. Since WordPress 5.3, images larger than 2560 px on either side are scaled down by default, and a filter can switch that off. It happens after the upload, so a huge file still has to upload first and may hit your cap. Resizing on your Mac beforehand avoids both.
Keep reading
Smol for other teams
