Skip to content

Optimizing Images

Vibebun Image Optimizer uses the sharp image processing library to compress your images with minimal quality loss. Optimized images replace the originals directly on Shopify’s CDN — your URLs, theme templates, and product references stay intact.

When you click Optimize on an image, the app performs these steps:

  1. Download — fetches the original image from Shopify’s CDN
  2. Preserve original — saves a copy of the original for future rollback
  3. HEIC conversion — if the image is HEIC/HEIF format, converts it to JPG first
  4. Resize — product images are resized to fit within a maximum bounding box (default: 2048 px). Media-library images are not resized.
  5. Iterative compression — compresses the image, checks the file size, and repeats until it’s under your target size or the iteration budget is exhausted
  6. Upload — uploads the optimized image to Shopify via a staged upload
  7. Replace — uses Shopify’s fileUpdate API to swap the image in place, preserving the existing CDN URL
  8. Verify — polls Shopify until the replacement is confirmed
  9. Log — records the optimization result (original size, optimized size, savings)

After optimization, each image shows an inline result:

1.25 MB → 117 KB (saved 91%)

This tells you:

  • The original file size
  • The new file size after optimization
  • The percentage reduction

The app uses Shopify’s fileUpdate mutation, which replaces the image binary while keeping the same CDN URL slug and media ID. This means:

  • Theme templates continue to work
  • Product references stay valid
  • External links to your images aren’t broken
  • Social media previews and Google image search results keep working

You can fine-tune the optimization process in Settings:

SettingDefaultRangeDescription
Target file size400 KB50–5,000 KBImages larger than this will be compressed
Initial quality80%10–100%Starting quality for compression; decreases each iteration
Max iterations51–20Maximum compression attempts before stopping
Max dimension2,048 px512–4,096 pxProduct images are resized to fit within this bounding box

See the Settings guide for details on adjusting these values.

Each successfully optimized image counts as one optimization against your monthly quota:

PlanMonthly optimizations
Free50
Basic1,000
Advanced3,000

Failed optimizations and rollbacks do not count. Your quota resets on your billing-cycle anniversary.

The number of images that can be optimized simultaneously depends on your plan:

PlanConcurrent limit
Free3
Basic5
Advanced10

When you optimize more images than your concurrent limit, the extras are queued automatically and processed as slots become available.

  • Start with default settings — the defaults (400 KB target, 80% quality, 2048 px max) work well for most stores
  • Check large images first — use the “Over target KB” filter to find the biggest optimization opportunities
  • Adjust quality if needed — if images look too compressed, increase the initial quality percentage in Settings
  • Use bulk actions — for large catalogs, use bulk optimize instead of optimizing one by one