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
Download and open TinyPixels
Free to install on Mac or Windows — no account needed to start.
Drop your renderer assets folder in
Compress icons, splash screens, and in-app UI graphics.
Compress in place, same resolution
Pixel dimensions stay identical — only file size drops, no code changes.
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:
| Context | Typical 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 →
Related tools
Compress Flutter Assets
Shrink your Flutter app bundle with local compression.
Optimize React Images
Compress images for your React app before build.
Batch Image Compressor
Compress thousands of files in one pass.
Compress Vite Assets
Compress assets in a Vite-based Electron renderer.
Image Compressor Hub
Every format, platform, and framework in one place.
Compress React Native Assets
Shrink your React Native app bundle.
Compress SwiftUI Assets
Shrink your multi-platform Apple app bundle.
Compress Xcode Assets
Shrink your iOS app bundle with local compression.
Read more: How to reduce your app size on mobile and desktop → · Fix your Lighthouse score where it actually matters →