By | | Updated
Bulk Upload WooCommerce Product Photos — SnapPress

Bulk Upload WooCommerce Product Photos from Your iPhone: 3 Fast Methods

Quick answer:

To bulk upload WooCommerce product photos fast, shoot on your iPhone and push 20 at a time to the WordPress Media Library with a REST API app like SnapPress — then assign them to each product. No desktop, no FTP, no plugin coding.

Want product photos from your iPhone onto your WooCommerce listings without losing an afternoon? The short answer: upload every image to the WordPress Media Library in batches, then assign each one as a main image or gallery image on its product. The fastest way to do the upload step is an iOS app like SnapPress that talks to the WordPress REST API and sends 20 photos per batch straight from your camera roll — no plugin coding, no desktop in the loop.

Below: the three real options (a phone upload app, the WordPress admin uploader, the WooCommerce CSV import), and how to assign bulk-uploaded images to single and variable products. If you also handle non-store WordPress sites, the same batch approach works for bulk uploading images to WordPress from your phone in general.

The full workflow: shoot all products in one session, rename files with descriptive names, then use SnapPress (20 photos per batch via the WordPress REST API) to push them directly to your Media Library. Assign main image + gallery on each product page. End-to-end time per product: under 10 minutes including shooting.

If you run a WooCommerce store, product photos are everything. A customer who can't see a clear, well-lit image of your product won't buy. The hard part isn't taking the photos. It's getting them from your phone to your WooCommerce product listings without losing an afternoon, especially with dozens or hundreds of SKUs.

The full process: shoot on your phone, batch upload to the Media Library, assign images to products. I focus on what store owners actually do day-to-day — not the theoretical workflow that looks tidy in a screenshot but breaks the moment you have 50 SKUs to ship by Friday.

Select photos in SnapPress Photos uploading in parallel Upload complete in SnapPress
Pick, upload, done — same flow as photos.

Why Phone-Based Product Photography Works

The obvious question: can you really shoot product photos on a phone and have them look professional enough for an online store?

Yes. Phone cameras have been more than adequate for e-commerce for a while now. What determines product photo quality is lighting, background, and consistency — none of which depend on your camera.

A basic product photography setup runs under $50:

  • A white backdrop: a large sheet of white poster board or foam core, curved against a wall for a continuous background
  • Two desk lamps positioned on either side of the product at 45-degree angles. Use daylight-balanced bulbs (5000K-5500K) for natural color.
  • A phone tripod to eliminate camera shake and ensure consistent framing between shots
  • Your phone. Any phone from the last three years will do.

This setup shoots clean product photos that rival DSLR + studio lighting — at least at web size. Customers view your products on screens, not billboards.

Shooting Product Photos Efficiently

Batch Your Shoots

The biggest time-saver: batching. Don't photograph one product, upload it, create the listing, then move to the next. Instead:

  1. Set up your photography station once
  2. Photograph all your products in sequence
  3. Upload all photos in one batch
  4. Assign photos to products

It's dramatically faster: no context-switching between photographing, editing, uploading, and listing creation. Each step carries its own setup cost; batching amortizes that across every product.

Standard Shots for Every Product

WooCommerce supports a main product image and a product gallery (multiple additional images). For most products, aim for three to five images:

  • A hero shot is the main product image, typically a straight-on front view against a white background. This is what appears in your shop grid and search results.
  • A 45-degree angle shows depth and dimension that a flat front view misses
  • Detail shots are close-ups of important features, textures, labels, or craftsmanship details
  • A scale shot places the product next to a common object (a hand, a coin, a ruler) so customers understand the size
  • An in-use shot shows the product being worn, held, or used in context (optional but highly effective for conversion)

Naming Your Files

Before you upload, rename your files with descriptive names. This matters for SEO and for your own sanity when managing hundreds of product images in the Media Library.

Good naming pattern: product-name-angle.jpg

  • blue-canvas-tote-front.jpg
  • blue-canvas-tote-detail-stitching.jpg
  • blue-canvas-tote-scale.jpg

Avoid: IMG_4821.jpg, photo_2026_02.jpg, product1.jpg

Most mobile photo editors let you set custom export file names. Lightroom Mobile, for example, lets you define file naming templates in its export settings.

3 Ways to Bulk Upload Images to WooCommerce

Once photos are shot and edited, they need to get into the Media Library. This is where bulk upload capability makes a real difference.

Method 1: Dedicated Upload App (Recommended)

The fastest path for phone-based workflows: an app that talks to your WordPress REST API with batch uploads. SnapPress lets you select up to 20 photos at a time and push them directly to your Media Library. For a typical 50-100 image product shoot, that's three to five batches, around two to three minutes total. (For background on the engineering work behind 20-photo batches on iOS, see why iOS Share Extensions crash at 20+ photos.)

SnapPress is the option I build, but it's not the only REST API uploader — if you want to weigh the alternatives first, see our comparison of the best WordPress photo upload apps. The common thread is that they all authenticate over the REST API, so images arrive in the Media Library properly registered rather than orphaned on disk.

The main advantage: your images land in the Media Library already registered with WordPress and ready to assign to products. No extra steps, no file registration, no desktop in the loop.

If you run multiple stores, multi-site support means you can switch between WooCommerce installations and upload to each one from the same app. SnapPress added multi-site and 9-language localization in v2.0.1 — see the v2.0.1 release notes for details.

Method 2: WordPress Admin (Browser)

You can upload directly through the WordPress admin by navigating to Media > Add New. The drag-and-drop uploader works on desktop browsers, but on mobile it defaults to the standard file picker. You can select multiple images from your camera roll, but the experience is clunky. The mobile browser uploader isn't designed for batch operations, and large uploads frequently time out or fail on cellular connections.

This method works in a pinch but isn't recommended for regular bulk uploads. For a deeper look at managing your Media Library, see our complete WordPress Media Library guide.

Method 3: WooCommerce CSV Import — Import Products with Images (For Large Catalogs)

If you're setting up a new store with hundreds of products, WooCommerce's built-in CSV import tool can import products with images in bulk — product data and image assignments in a single pass. The process is:

  1. Upload all product images to the Media Library first (using any of the methods above)
  2. Create a CSV file with your product data, including the image URLs in the Images column
  3. Import the CSV through WooCommerce > Products > Import

This approach is powerful for initial store setup or large catalog updates, but it requires more preparation than the other methods. You need to know the full URL of each uploaded image (e.g., https://yourstore.com/wp-content/uploads/2026/02/blue-canvas-tote-front.jpg) and format the CSV correctly.

For the image column in the CSV, multiple gallery images are separated by commas. The first image becomes the main product image, and subsequent images are added to the gallery:

https://yourstore.com/wp-content/uploads/2026/02/blue-canvas-tote-front.jpg, https://yourstore.com/wp-content/uploads/2026/02/blue-canvas-tote-angle.jpg, https://yourstore.com/wp-content/uploads/2026/02/blue-canvas-tote-detail.jpg

The same importer also works on products that already exist. Re-run WooCommerce > Products > Import with "Update existing products" checked, and rows are matched by ID or SKU — so you can bulk-assign new images to an existing catalog by preparing a CSV with just the SKU and Images columns. If your source images live at external URLs (a supplier feed, a DAM, another site), a dedicated import plugin like WP All Import can download each image into your Media Library during the import, which the built-in importer doesn't handle as flexibly.

Assigning Bulk-Uploaded Images to WooCommerce Products

Once images are in the Media Library, they need to reach the right products. Here's how to do that efficiently.

Setting the Main Product Image

  1. Go to Products > All Products in your WordPress admin
  2. Click on the product you want to edit
  3. In the right sidebar, find the "Product image" panel
  4. Click "Set product image"
  5. Select the image from the Media Library (your uploaded images will be at the top, sorted by most recent)
  6. Click "Set product image"

Adding Gallery Images

  1. On the same product edit screen, find the "Product gallery" panel (below the product image)
  2. Click "Add product gallery images"
  3. Select multiple images by holding Ctrl (Windows) or Cmd (Mac) while clicking, or tap each image on mobile
  4. Click "Add to gallery"
  5. Drag images to reorder them (the first gallery image typically appears as the second image in the product lightbox)

Bulk Assignment Tips

If you're assigning images to many products at once, here are some efficiency tips:

  • From the product list (Products > All Products), hover over a product and click "Quick Edit." While Quick Edit doesn't let you change images directly, it's useful for updating other product data in bulk alongside your image updates.
  • Open multiple product edit pages in separate browser tabs so you can switch quickly between products without waiting for full page loads.
  • When selecting images, use the Media Library search field to filter by your descriptive file names. If you named your files well (e.g., blue-canvas-tote-*), finding the right images is instant.
  • If you photograph and upload products sequentially, the Media Library will naturally display them in the same order, making assignment faster.

Optimizing WooCommerce Product Images

Product page speed directly affects conversion — slow pages lose sales, and that's not a theory. Large, unoptimized images are the most common cause of slow WooCommerce pages.

Image Size Guidelines

Image Type Recommended Size Why
Main product image 1000-1200px wide Large enough for zoom functionality, small enough for fast loading
Gallery images 1000-1200px wide Consistent with the main image for lightbox browsing
Thumbnails Auto-generated by WooCommerce WooCommerce creates shop catalog and thumbnail sizes automatically
Category banners 1920px wide, 400-600px tall Full-width display on category archive pages

Compression and Format

  • Use JPEG for product photos. JPEG offers the best balance of file size and quality for photographic images. Aim for 70-85% quality.
  • Use PNG only for images with transparency. PNG files are significantly larger than JPEGs for photographic content.
  • Enable WebP conversion. Plugins like ShortPixel or Imagify can automatically serve WebP versions to browsers that support it, reducing file sizes by 25-35% with no visible quality loss.
  • Strip EXIF data. Your product photos don't need GPS coordinates, camera settings, or timestamps embedded in the file. Stripping this metadata reduces file sizes and protects your location privacy.

Recommended Optimization Plugins

  • ShortPixel offers excellent compression with a generous free tier (100 images/month). Supports WebP conversion and handles both new uploads and existing images.
  • Imagify, from the makers of WP Rocket, has a clean interface, good compression, and automatic optimization on upload.
  • Smush provides free bulk optimization for up to 50 images at a time. The Pro version adds CDN serving and next-gen format support.

WooCommerce Image Settings

WooCommerce generates multiple sizes for each product image. You can configure these under Appearance > Customize > WooCommerce > Product Images:

  • Main image width controls the single product page image. Default is 600px, but we recommend 800-1000px for retina displays.
  • Thumbnail width controls the shop catalog grid image. Default is 300px, which works well for most themes.
  • For thumbnail cropping, you can choose uncropped (original aspect ratio), 1:1 (square), or custom. Square cropping gives your shop grid a clean, uniform look but may cut off important parts of some product photos.

After changing these settings, you'll need to regenerate thumbnails for existing images. The "Regenerate Thumbnails" plugin handles this automatically.

Workflow for Variable Products

Variable products (different sizes, colors, materials) add another layer of complexity. Each variation can have its own image, and customers expect to see the image change when they select a different option.

Setting Variation Images

  1. On the product edit screen, go to the "Product data" section
  2. Click the "Variations" tab
  3. Expand each variation
  4. Click the image placeholder to assign a specific image to that variation
  5. Select the appropriate image from the Media Library

Photography Tips for Variations

  • Photograph every variation. Customers want to see exactly what they're buying. A blue shirt and a red shirt should each have their own photos.
  • Keep the angle and framing identical. This makes the product page feel polished when customers switch between variations. Use a tripod and don't move the camera between color shots.
  • Name variation images consistently, using a pattern like product-name-color.jpg (e.g., canvas-tote-navy.jpg, canvas-tote-olive.jpg) to make assignment easier.
  • Upload all variation images together so they're grouped chronologically in the Media Library.

Managing a Growing Product Image Library

200 products × 5 images = 1,000 images in the Media Library, plus every auto-generated thumbnail size. Managing that without a plan gets overwhelming fast.

Organization Strategies

  • Descriptive file names are worth repeating because they're the single most effective organizational tool. When you can search the Media Library for "canvas-tote" and find all related images instantly, you're saving minutes on every product update.
  • WordPress doesn't natively support folders in the Media Library, but plugins like FileBird or Real Media Library add folder functionality. You can organize images by product category, season, or any structure that makes sense for your store.
  • When you discontinue a product, don't just leave its images cluttering the Media Library. Either delete them if you'll never need them again, or move them to an "archived" folder if you use a folder plugin.
  • Once a quarter, review your Media Library for unattached images (images uploaded but never assigned to a product or post). These waste storage space and make the library harder to navigate.

For a comprehensive look at Media Library management, including advanced organization and bulk editing techniques, see our WordPress Media Library guide.

WooCommerce for Photographers: Selling Photos and Prints

Everything above assumes you photograph products. But WooCommerce photography stores flip that: the photo is the product. If you're a photographer setting up WooCommerce to sell photos, prints, or session packages, the bulk-upload workflow is the same — only the product setup differs.

Selling Digital Photos (Downloads)

  • Create each photo as a product marked Virtual and Downloadable in the Product data panel. The full-resolution file goes in the "Downloadable files" field; buyers get a secure, expiring download link after purchase.
  • The product image should be a web-sized preview (1200px, optionally watermarked) — never the full-resolution file itself. WooCommerce serves downloadable files from a protected path, but the product image is public.
  • This is where phone-first batch upload shines: export watermarked previews from Lightroom Mobile, push the whole set to your Media Library in 20-photo batches, then assign each preview to its product.

Selling Prints

  • For self-fulfilled prints, use a variable product with size variations (8x10, 11x14, 16x20) and per-variation pricing.
  • For print-on-demand, integrations like Printful or Gelato connect to WooCommerce and fulfill orders automatically — you upload the artwork once and they handle production and shipping.

Gallery-Heavy Stores

A photography store can easily hold thousands of images, so the Media Library organization strategies above stop being optional: descriptive file names per shoot (e.g. smith-wedding-2026-001.jpg), a folder plugin like FileBird, and a quarterly cleanup of unattached previews. For client proofing galleries (private, non-purchasable), pair WooCommerce with a gallery plugin rather than creating hundreds of hidden products.

Troubleshooting Common Upload Issues

"Upload failed" or Timeout Errors

This usually means the image file is too large for your server's upload limits. Check your PHP configuration for upload_max_filesize and post_max_size. If you can't change server settings, resize your images before uploading. 1200px wide at 80% JPEG quality should work within any reasonable upload limit.

Images Look Blurry on the Product Page

This happens when you upload images smaller than your theme's configured product image size. WooCommerce will stretch small images to fill the display area. Make sure your original uploads are at least as large as the "Main image width" setting in your WooCommerce customizer.

Gallery Images Are in the Wrong Order

You can reorder gallery images by dragging them on the product edit screen. For a large number of products, some WooCommerce management plugins let you reorder images in bulk.

Images Not Appearing After Upload

If you uploaded via FTP or a file manager, the images may exist on the server but aren't registered in the WordPress database. You need to use the REST API or the WordPress admin uploader to properly register images. Using a WordPress-native upload app avoids this problem entirely.

Summary: The Efficient WooCommerce Bulk Upload Workflow

  1. Set up a simple photography station with a white backdrop, two lights, and a phone tripod
  2. Batch photograph all products at 3-5 standard angles per product
  3. Quick-edit on your phone: crop, exposure, white balance. Export at 1200px wide, JPEG 80% quality.
  4. Rename files descriptively, e.g. product-name-angle.jpg
  5. Bulk upload to WordPress using a batch upload tool to push images to the Media Library in groups
  6. Assign photos to products by setting main images and galleries for each product
  7. Let an optimization plugin compress and convert your images automatically

Done consistently, a fully photographed product lands in your WooCommerce store in under 10 minutes, shooting time included. For a store adding 5-10 new products a week, that's a massive time savings over ad-hoc workflows with desktop transfers, manual resizing, and one-at-a-time uploads.

If you want the full plugin-side picture as well, see how to set up the SnapPress Connect plugin — it's the WordPress.org plugin that pairs your phone to your store and is what makes the bulk-upload workflow above run end-to-end.

Frequently Asked Questions

How do I bulk upload images to WooCommerce?

Upload all images to the WordPress Media Library first, then assign them to products. The fastest route is a REST API upload app like SnapPress (20 photos per batch from your phone). Alternatives: the WordPress admin uploader (Media > Add New) for small batches, or the WooCommerce CSV import for assigning images to hundreds of products at once.

Can I sell products with photos shot on a phone, or do I need a DSLR?

You can sell. Any phone from the last three years takes photos that are more than good enough for e-commerce. Quality depends on lighting, background, and consistency, not on the camera body. With a white backdrop, two desk lamps at 45-degree angles (daylight-balanced bulbs around 5000-5500K), and a phone tripod, you can produce shop photos that customers can't distinguish from DSLR work at web display sizes.

How many product photos can I upload at once from my phone?

With SnapPress you can select up to 20 photos per batch and push them directly to your WordPress Media Library. A typical 50-100 image product shoot takes 3-5 batches, about 2-3 minutes total. WordPress's built-in mobile uploader isn't designed for batches and often times out on cellular connections.

How many images should I have per WooCommerce product?

Aim for 3-5 images per product: a hero shot (straight-on front, white background), a 45-degree angle, a detail close-up, a scale shot, and an in-use shot. Five is ideal, three is the minimum. Skip the scale shot and you get more "this is smaller than I thought" returns.

What size should WooCommerce product images be?

1000-1200px wide, JPEG at 70-85% quality. Smaller than that and WooCommerce will stretch the image to match the configured main image width, which produces visible blur. Combine with a WebP conversion plugin (ShortPixel or Imagify) to drop file sizes 25-35% with no visible quality loss.

How should I photograph variable products (color/size variations)?

Shoot every variation at the same angle and framing with the camera locked on a tripod. Name files with a pattern like product-name-color.jpg (e.g. canvas-tote-navy.jpg, canvas-tote-olive.jpg) so assignment to each variation is fast. Skipping color photos drives "not what I expected" returns. It's tedious but worth it.

Can I bulk upload to WooCommerce without a plugin?

Yes. The upload itself never requires a third-party WooCommerce plugin. The WordPress admin uploader (Media > Add New) and the WooCommerce CSV import are both built in, and a REST API app like SnapPress uploads through WordPress's own Application Passwords — you install the lightweight SnapPress Connect helper once to pair your phone, but no per-upload plugin or coding is involved.

How do I assign one image to several WooCommerce products at once?

WooCommerce has no native multi-product image assignment in the admin, so for a handful of products you set the main image and gallery on each product page individually. To assign images to many products in one pass, use the WooCommerce CSV import (or a re-import that updates existing products): put the Media Library URL in the Images column, with comma-separated URLs for gallery images. The first URL becomes the main image.

How do I import WooCommerce products with images from a CSV?

Upload the images to your Media Library first, then put each image URL in the CSV's Images column (comma-separated for gallery images; the first URL becomes the main image) and run WooCommerce > Products > Import. To add images to products that already exist, re-import with "Update existing products" checked — rows match by ID or SKU. For importing images from external URLs, WP All Import can download them into the Media Library during import.

Can I sell photos with WooCommerce?

Yes. Create each photo as a Virtual + Downloadable product: the full-resolution file goes in the Downloadable files field (served via a secure expiring link), and a web-sized watermarked preview becomes the product image. For prints, use a variable product with size variations or a print-on-demand integration like Printful or Gelato. Batch upload the previews from your phone the same way as any product photos.

Speed up Step 5: Bulk upload product photos to WordPress from your phone.

SnapPress lets you select up to 20 product photos and push them to your WooCommerce Media Library in seconds. QR code setup, multi-site support, free tier available — see the v2 freemium launch notes.

Two steps to start: install the free "SnapPress Connect" plugin on WordPress, then install the iPhone app and pair them with a QR code.

About the author

Ken Furuta

Founder & CEO, 37Design

Founder & CEO of 37Design, a web and AI consultancy based in Tokyo, Japan. Built SnapPress to eliminate the pain of uploading dozens of iPhone photos to WordPress — one by one.

37design.co.jp