Your photos already knowwhere they belong.

Drop in a ZIP. Every photo lands on the right product, matched by SKU, barcode, or title.

autumn-catalog.zipscan report
  1. ABC-123/front.jpgCotton Crew Teefolder to sku
  2. classic-cotton-mug (2).jpgClassic Cotton Mugfilename to title
  3. TSHIRT-001-Red.jpgField Shirt, Redvariant
  4. 1_SKU-9920.jpgTrail Cap, hero imageposition 1
  5. IMG_4471.jpgNo match yetAI suggests a rule

Four matched, one waiting. Nothing uploads until you press sync.

Watch it work

Two minutes, and you will know if this fits your catalog.

The full tour

Upload a ZIP, read the scan report, watch the matching run, then sync to Shopify.

AI-assisted matching

What happens when filenames do not match: suggestions, custom patterns, and the rule builder.

Four ways in. However your photos are already stored.

All four feed the same matching engine and the same review-before-sync flow.

  1. ZIP file

    up to 10 GB

    Package everything into one archive and drag it in. Best for doing a whole catalog in a single pass, with a subfolder per SKU nested as deep as you like.

  2. Folder upload

    no zipping

    Pick a folder straight off your computer. Each photo uploads separately, which makes it the fast option for a smaller batch.

  3. Google Drive

    no login needed

    Import directly from a Drive folder, with no download and re-upload round trip. Share the folder as Viewer with the importer, or paste an anyone-with-the-link URL.

  4. CSV of image URLs

    two columns

    Hand over a CSV with sku and image_url and SyncFlow fetches each image and files it against the matching product.

How matching works

It reads the filenames you already have.

SyncFlow tries these in order and stops at the first hit, strongest identifier first. Title matching is exact once case and punctuation are ignored, so an image never guesses its way onto the wrong product.

  1. 1Folder name to SKU or barcodeABC-123/front.jpg
  2. 2Folder name to product titleClassic Cotton Mug/side.jpg
  3. 3Filename to SKU or barcodeABC-123.jpg
  4. 4Filename with a suffix strippedABC-123_back.jpg
  5. 5Filename to product titleClassic Cotton Mug.jpg
  6. 6Filename in handle formclassic-cotton-mug (2).jpg

One ZIP, a subfolder per SKU, nested any depth:

MyProducts.zip
└── MyProducts/
    ├── ABC-123/
    │   ├── front.jpg
    │   └── back.jpg
    ├── ABC-124/
    │   └── front.jpg
    └── Classic Cotton Mug/
        └── side.jpg

When the names do not line up, it works out the rule.

Suggestion on the scan report

These photos would match if we ignored the supplier prefix. 25 files across 25 products.

Apply and re-scan

When a scan cannot place files, SyncFlow analyses their names, with help from AI on larger batches, and offers one-click suggestions. Apply one and the rule is saved for your store, so every future upload benefits from it.

Or write the rule yourself

A rule has two halves: transform the filename, then compare the result against a catalog field. Chain as many filename steps as you need and they run in order.

  • drop the first or last word
  • take the part before a separator
  • remove a prefix
  • ignore leading letters
  • pad or trim numbers
  • replace text
  • extract with a regex

The filename also decides order, variant, and alt text.

Image position

1_SKU-123.jpg 2_SKU-123.jpg 3_SKU-123.jpg

Prefix a number and an underscore to set the order on the product page. 1_SKU-123.jpg becomes the hero image, 2_SKU-123.jpg sits second. Jobs queue in position order per product.

Variant assignment

TSHIRT-001/Red/front.jpg TSHIRT-001-Light-Blue.jpg

Put photos in a folder named after the option value, or append it to the filename. The option value has to match Shopify exactly. If no variant matches, the image still uploads to the product.

Alt text, written for you

Classic Mug - MUG-001 - Red

Every uploaded image gets descriptive alt text automatically, which helps SEO and accessibility. No manual editing, and existing alt text is never touched.

Bulk edits on a live store should be undoable.

Nothing uploads until you say so

Every import creates a scan report first. You see matched against unmatched, variant assignments and positions before a single file reaches Shopify. Start Sync is the only thing that changes your store.

You choose what happens to duplicates

Skip leaves images already on a product alone and saves your quota, which is the recommended setting. Overwrite replaces the existing Shopify image with your new file.

Failures retry themselves

Shopify API limits and network blips retry automatically up to three times before anything is marked failed, so most hiccups never reach you. Anything still failing gets a Retry Failed Images button, and your source files stay available for seven days.

Undo a whole sync

Synced the wrong batch? Open the job and click Undo this sync to pull every image that sync added back off your products. The one thing undo cannot do is restore an original you replaced with Overwrite, and the job page tells you how many images that affects before you confirm.

Pro adds the tools for a catalog you did not photograph yourself.

Pro

Visual matching board

Unmatched photos appear as a thumbnail grid beside a searchable product list. Click the photos, click the product, and the batch links. Nothing is final until you press sync, and you can move or unlink anything first.

Pro

Missing-image monitor

Paginates your catalog and finds every product sitting with no image at all. The count is free so you can see the size of the problem before you decide anything.

Pro

Catalog-wide alt text

Fills missing or blank alt text across the whole catalog with the product title. Non-destructive, so existing alt text is never overwritten. Run it on demand or leave it on weekly.

Pricing

Start free. Pay when the volume shows up.

Recommended

Pro

$10

per month, or $110 a year

Unlimited uploads and the full image toolkit.

  • Unlimited images
  • Visual matching board
  • Missing-image monitor
  • Catalog-wide alt text, weekly
Install on Shopify

Free

$0

50 images a month

  • The full matching engine
  • All four import methods
  • Scan report before every sync
  • Undo, retries, automatic alt text

Credit pack

$3

one time, 1,000 images

  • Everything in Free
  • Valid 30 days from purchase
  • No subscription

Billed through Shopify, so it lands on your regular store invoice.

Open SyncFlow in your store

Already installed? Enter your store domain and we will take you to the app.