Miko Bulk Image ResizerLive on the Shopify App Store

Rewriting a live catalog without breaking it

Built in
Auckland, New Zealand
Category
Store performance
Platform
Shopify App Store
Pricing
Free to install, first 100 images free, then $0.02 an image

Miko Bulk Image Resizer is the eighth app in our own Shopify suite. Editing tens of thousands of images that a storefront is actively serving turned out to be a problem about references, color and billing integrity, far more than about resizing. This is the build note.

Modes, settings and pricing live on the Miko product page. Installing costs nothing, the first 100 images are included, then it is $0.02 per image actually resized.

Miko Bulk Image Resizer showing a product photo before and after resizing, with the dimensions and file size of each
Miko Bulk Image Resizer
  • Free to install
  • First 100 images free
  • Every original backed up for 30 days
Install free on Shopify

Why merchants install it

What Bulk Image Resizer does for your store

A photography studio with lights and a white backdrop

Every image the right size

Resize product and collection images in bulk, with a real-time before and after.

A styled product shot on draped white fabric

Alt text written for search

Bulk template alt text for product images, plus an audit report on your whole catalog.

Sunglasses casting a shadow on white marble

Safe on a live store

Every original is backed up for 30 days, so any change can be rolled back.

How it works

Live in three steps

  1. 1

    Install free

    Add the app from the Shopify App Store. The first 100 images are free.

  2. 2

    Audit the catalog

    See which product and collection images need work.

  3. 3

    Resize in bulk

    Preview before and after, then apply. Originals stay backed up for 30 days.

Pricing

Start free. Upgrade when it pays for itself.

Pay as you go

$0/month

  • First 100 images free
  • Then $0.02 per image resized
  • 30 days of backup for all images
  • Bulk template alt text
  • Audit report on your entire catalog
  • Watermarks, products and collections
Install free

Usage is billed in USD through Shopify, only for images actually resized.

The build story

01The Brief

The job merchants kept asking us to do by hand

On theme and Plus projects we kept meeting the same drag on page speed: a catalog of photos from three or four different sources, none of them sized for a shop page. The usual fix is somebody exporting a folder, running it through a desktop tool and uploading it again, which costs a day, loses alt text, and often breaks which picture belongs to which variant.

Before writing a line we read the one-star reviews on the tools already doing this. The complaints were consistent and specific: colors came back wrong, images were cropped badly, and there was no way to undo a run once the storefront looked broken. Those three became the spec, and they are the reason the app is built the way it is.

02The Hard Parts

Six decisions that are not in any feature list

Each of these is a failure we designed out on purpose, and most of them only show up at catalog scale.

  1. Color is the whole reputation

    The image library everyone uses defaults to discarding metadata, which throws away the color profile. Feed it a wide-gamut or print-space photo and the result comes back visibly wrong, which is precisely the complaint on competing tools. Every one of our pipelines ends by converting to standard sRGB and writing that profile back explicitly, so a photo that looked right in the studio still looks right on the product page.
  2. Replacing a file breaks what points at it

    On Shopify an image is not a file you overwrite, it is a media record other things reference. The swap is therefore staged upload, create, poll until the new media reports ready, move it into the original position, and only then remove the old one. If it never reports ready we keep both rather than delete an original whose replacement is unconfirmed, and any variant attached to that image is re-pointed at the new media so no variant quietly loses its picture.
  3. Metered billing has to be exactly right

    Charging per image means a retry can become a second charge. A scan that dies mid-page resumes from its last cursor and can legitimately re-read the same page, so the item table carries a uniqueness constraint and duplicate rows are dropped rather than created. Each slice sends one idempotency key, included credit is deducted before any early return rather than at the end, and images that were skipped or failed are never billed at all.
  4. The bottleneck was the network, not the pixels

    Each image is a download, a transform, a staged upload and a wait for processing, so the process spends nearly all its time idle. Run one at a time it measured around 0.6 images a second, which is roughly nine hours for a twenty thousand image catalog. Slices now overlap several images at once while the transform itself is pinned to a single thread, and input is capped at 256 megapixels so one accidental decompression bomb cannot take down every other store's run with it.
  5. A preview that cannot lie

    Nobody should approve a bulk change from a description. The preview runs real photos from the store through the identical pipeline the run will use, and the numbers shown are measured on the full size output while only the picture on screen is scaled down. The preview is also tied to the exact settings that produced it and is thrown away the moment a field changes, so a stale before and after can never be the thing a merchant approves.
  6. Undo, or it is not really safe

    Every original is copied to persistent storage before it is replaced and kept for 30 days, restorable for a whole run or for one image. Restoring is itself a queued background job rather than a request that has to finish before the tab closes, and expired backups are swept and marked as expired in the interface, so the app never offers a restore it cannot actually perform.

03What This Proves

Bulk work on a live store, done carefully

Most private app and migration briefs are a version of this one. Something has to be changed across an entire catalog, on a store that is taking orders while it happens, and it has to be reversible. That means resumable background jobs, a preview before commitment, references that stay intact after a record is replaced, and billing or throughput limits the client controls rather than discovers. Those are the parts we had to get right here, and they transfer directly.

What the app does, in short

  • Resizes, compresses, converts and watermarks product and collection images in place, with nothing to download
  • Five resize modes, three fit styles, and a quality and format choice on top of any of them
  • Keeps color as standard sRGB and keeps variant images attached to their variants
  • A free catalog health read, and bulk alt text from a template, neither of which is ever charged
  • Scheduled and automatic runs, a spending limit the merchant sets, and 30 days of undo per run or per image

Full detail, every mode and the pricing are on the Miko Bulk Image Resizer product page, and the merchant guide is at miko.co.nz/docs/image-resizer/.

04From The Build

Two screens that carry the safety argument

When software is about to change thousands of things at once, the interface work is mostly about consent and reversal.

A Miko Bulk Image Resizer preview built from the merchant's own product photos, showing each image before and after with its dimensions and file size
The preview stage. Real photos, the real pipeline, and figures measured on the full size result rather than on the thumbnail being displayed.
Miko Bulk Image Resizer restoring original images from a previous run, with the originals kept for thirty days
The history view. Reversal was designed in from the first commit rather than added after somebody needed it.

FAQ

Questions we get about this build

Who designed and built Miko Bulk Image Resizer?

Tripster Developers, a Shopify agency in Auckland, New Zealand. We wrote the image pipeline, the Shopify media swap, the backup and restore system and the usage billing, and we run the app in production ourselves.

Where can I see what the app does and what it costs?

On the product page at miko.co.nz/image-resizer, which carries every mode, setting and screen, plus the pricing. This page is the build note that sits behind it.

Is the app on the Shopify App Store yet?

Yes. It is live on the Shopify App Store. Installing costs nothing, the first 100 images are included, and the merchant guide walks through every mode before you run anything.

What was the hardest part of the build?

Replacing a live image without breaking anything that points at it. Shopify media is created, polled until ready, reordered into the original position and only then is the old file removed, and variants are re-pointed at the new media so no variant loses its picture.

Do you build apps like this for clients?

Yes. Bulk operations over a large catalog, resumable background work, metered billing and an undo path are common requirements in private app and integration work, and they are all in production here. See Shopify app development.

Built by

Built by Tripster Developers

Miko Bulk Image Resizer is built and maintained by Tripster Developers, a Shopify Partner working on Shopify and Shopify Plus since 2016, from Auckland, New Zealand. Bulk Image Resizer is the eighth app in the Miko suite, built for merchants carrying more image weight than their storefront can afford.

We build the same way for clients: custom Shopify themes, Shopify Plus builds, ERP and middleware integrations, and private apps for merchants who need something the App Store does not sell.

Try Miko Bulk Image Resizer on your store

Free to install. First 100 images free. Every original backed up for 30 days.

Install free on Shopify

Something to change across your whole catalog?

Tell us what needs to move, and we will tell you how we would do it safely.

More apps we build and run

The same team, across the whole store.

Every Miko app is built to the same App Store standard and maintained by the developers you would talk to on a project.

Miko Loyalty & Rewards Points, VIP tiers and referrals that bring shoppers back. Miko B2B Wholesale Pricing Wholesale prices by customer tag, NET terms and POs. Miko Claude AI Churn prediction, RFM segments and AI win-backs. AI Descriptions & Narrate Bulk SEO copy in your voice, plus a Listen button. Miko Product Rentals Date pickers, deposits and overbooking protection. Miko Subscribe & Save Subscriptions and subscribe & save with a self-serve portal. Miko Restock: Inventory & PO Know what to reorder, how much and when. Authentica: COA Certificates QR-verified Certificate of Authenticity for every order. Miko AI Help Center & FAQ Help centre and FAQ pages written from your own store data. Live Odoo Connector Real-time two-way Shopify to Odoo ERP sync.

Starting on Shopify?

Start your free Shopify trial, then let us build it properly.

Open your store on Shopify in a few minutes, try it with your own products, and bring us in when you are ready for design, migration, apps or integrations.