Smaller installers · Local · No upload

Compress Electron Assets — Smaller Installers, No Code Changes

Compress the images bundled in your Electron app before packaging — smaller installers, faster downloads for your users, no code changes.

Quick answer

Drop your Electron project's renderer assets folder into TinyPixels before running electron-builder. It compresses every image in place, shrinking your final installer size with zero changes to your app code.

How to compress images before packaging an Electron app

1

Download and open TinyPixels

Free to install on Mac or Windows — no account needed to start.

2

Drop your renderer assets folder in

Compress icons, splash screens, and in-app UI graphics.

3

Compress in place, same resolution

Pixel dimensions stay identical — only file size drops, no code changes.

4

Run electron-builder

Your next installer ships smaller with no packaging config changes.

Electron installers add up fast — images shouldn't

Electron apps already carry a larger baseline size than typical native apps due to bundling Chromium and Node.js runtimes. Every uncompressed icon, splash screen, or in-app graphic adds directly on top of that baseline, and electron-builder packages these files exactly as provided — it does not re-encode images.

Compressing bundled images before packaging is one of the few remaining size wins available without touching the Electron runtime itself, and it's a zero-risk change — pixel dimensions and application code stay identical, only file size drops.

No code changes needed

Compress in place — your renderer process loads the same bytes, just smaller.

Bulk asset folder processing

Compress your entire assets directory in one pass before packaging.

WebP conversion available

Convert PNG assets to WebP for further size reduction where supported.

Faster packaging and uploads

Smaller committed assets mean faster electron-builder runs and installer distribution.

Main process icons vs. renderer UI assets

Electron apps bundle images in two distinct contexts, and both add to installer size:

ContextTypical contents
Main process (build resources)App icon (.icns/.ico/.png), tray icon, DMG/installer background image
Renderer process (your web app UI)In-app illustrations, onboarding screens, UI icons — whatever your React/Vue/vanilla frontend loads

Both sets of files end up in the final installer via electron-builder — an audit that only checks the renderer's asset folder and skips the build/ directory holding your app icon and installer background misses a real chunk of the bundle.

Common mistakes with Electron app assets

Only auditing the renderer UI, skipping build resources

The build/ folder holding your .icns/.ico app icon and DMG background image contributes to installer size just as much as in-app graphics.

Shipping uncompressed icons at every required size

macOS and Windows icon formats bundle multiple resolutions in one file — compress the source images before generating the final .icns/.ico, not after.

Assuming asar packaging compresses assets

Electron's asar archive format concatenates files into one archive for faster reads — it doesn't re-encode or compress image content, only bundles files together.

Not testing after platform-specific packaging

electron-builder's output differs across mac/win/linux targets — verify your compressed assets show up correctly in each platform's packaged output, not just your primary dev OS.

Frequently asked questions

Why is my Electron app installer so large?

Electron bundles a full Chromium runtime plus your application code and assets, which already makes installers larger than typical native apps. Every additional uncompressed image in your app bundle adds directly on top of that baseline size.

Does electron-builder compress images automatically?

No. electron-builder packages whatever files are in your app directory into the installer as-is — it does not re-encode or compress image assets. Pre-compressing images before packaging directly reduces installer size.

Where should I compress images in an Electron project?

Compress images in your renderer process assets folder — icons, splash screens, and in-app UI graphics — before running your build and package scripts.

Can I batch compress my whole Electron project's images at once?

Yes. Drop your assets folder into TinyPixels and every file compresses in one pass, ready to commit before your next electron-builder run.

Shrink your Electron installer today

Free to start. No credit card, no account, no cloud. See Pro pricing →