Zen Image Optimizer

Documentation

Every screen, every setting, and every reason an image is left alone.

What the app does

It compresses the images already in your store and writes them back in place: same media ID, same CDN URL, smaller file. Nothing is added to your theme, no script runs on your storefront, and no URL changes — so there is nothing to redirect and nothing to re-index. Originals are stored for 30 days so any run can be walked back.

New here? The tutorial walks through a first run in six steps.

Screens

ScreenWhat it is for
HomeScan the catalogue and see totals: images tracked, optimizable, weight removable.
ImagesThe inventory. Filter and search, exclude individual images, select any subset to optimize.
OptimizePreview on five of your own photos, then start a run over everything or a selection.
ActivityEvery run: live progress, before/after bytes per image, skip reasons, retry, resume, roll back.
BackupsStored originals with their expiry date. Restore one image, or everything.
SettingsPreset, resizing, automatic mode, plan.

Settings reference

SettingDefaultWhat it does
PresetBalancedLossless keeps the image visually identical and saves least. Balanced is the everyday setting. Aggressive saves most and is worth previewing before you commit a whole catalogue to it.
ResizeOffWhen on, caps the longest edge at the width you set — 2048 px by default. It only ever shrinks: an image smaller than the cap is left at its own size.
Automatic modeOffOptimizes images as they arrive on new and updated products. Ignores the app's own writes, so it never loops, and obeys the same allowance and skip rules as a manual run.
Excluded imagesNoneImages you have excluded from the Images page are never read, written or counted, by manual runs or automatic mode.

What gets skipped, and why

A skipped image is not a failure: it is the app deciding the rewrite is not worth it. Skipped images are never counted against your allowance.

ReasonMeaning
Already small enoughThe result would not be at least 2% smaller. Rewriting it would cost you a unit and gain nothing.
Already optimizedThe app recognises its own output and does not compress the same image twice at the same settings.
AnimatedAnimated GIF and WebP are left alone rather than flattened to a single frame.
Unsupported formatAnything that is not JPEG, PNG or WebP — SVG, for example.
Too largeAbove 25 MB, or above 40 megapixels when decoded.
Could not decodeThe file is not readable as an image. It is reported and left untouched.

Allowances and billing

One optimization = one image that was actually made smaller. Skipped images cost nothing, and restoring an image within the same billing cycle credits its optimization back.

PlanIncluded optimizations per billing cycle
No paid plan50
Starter1,500
Advanced5,000
Pro15,000

There is no overage billing. When the allowance is spent, runs pause and automatic mode stops until the cycle rolls over or you change plan — the app has no way to charge you beyond the plan you chose. Plans are Shopify subscriptions, charged and cancelled through your Shopify admin.

Backups and restore

The original bytes are copied before an image is overwritten, and a checksum is recorded with them. Restoring verifies that checksum, then writes the original back to the same URL — so a restore is as invisible to your storefront as the optimization was.

Retention is 30 days, after which stored originals are deleted. Restore one image from Backups, a whole run from its page in Activity, or the entire catalogue from the Restore everything action.

Permissions and data

The app asks for three permissions and uses each of them: read products (find the images attached to products), read files (the image inventory and the original bytes), write files (write the compressed bytes back).

It requests no access to customers, orders, payments or any personal data, and holds none. What it does store — image metadata, run history, backup copies of your originals, your settings — is listed in the privacy policy, along with when each of those is deleted.

Limits

LimitValue
Formats processedJPEG, PNG, WebP (still images)
Maximum file size25 MB
Maximum decoded size40 megapixels
Backup retention30 days
Image sourcesProduct images and Files library images

More

FAQ · Changelog · Support