Resize and compress raster images with target file sizes, comparison and ZIP download. Everything stays in your browser.
Image Compressor
Drop up to {{maxImageQueueFiles}} images, resize them and optimize them together. Maximum input: 20 MB per file. Processing stays in your browser.
PNG · JPEG · WebP output · AVIF input · {{maxImageQueueFiles}} files · 20 MB / file · local only
Drop PNG, JPEG, WebP, AVIF or other browser-decodable images here{{imageItems.length}} / {{maxImageQueueFiles}} files
{{imgError}}
AVIF, GIF and BMP can be opened when your browser decodes them, but this version has no matching encoder. “Keep source format” exports them as PNG and reports the actual browser MIME type.
JPEG background
A zero dimension keeps that side unlimited; images never upscale. Target size searches JPEG or WebP quality. If even 1% quality cannot reach it, the smallest result is exported and marked clearly.
The {{maxImageQueueFiles}}-file cap also has a {{decodedQueueLimitLabel}} decoded RGBA canvas budget. Very high-resolution images are stopped before the tool keeps another canvas in memory.
PNG uses UPNG palette quantization and a lossless OxiPNG pass. Indexed PNG supports at most 256 palette colors; choose Lossless to keep every color.
JPEG does not support transparency. Transparent pixels are filled with {{imageBackground}}.
Before / after{{activeComparisonItem.name}}
Original · {{activeComparisonItem.width}}×{{activeComparisonItem.height}} · {{formatBytes(activeComparisonItem.originalSize)}}
SVG Optimizer uses a local SVGO build, safe preview sanitization and explicit presets. Framework exports are generated from the same optimized SVG, so Preview, React, React Native and Vue stay aligned.
Image Compressor can downscale images without upscaling, search JPEG or WebP quality for a target file size, and show a large before-and-after comparison. PNG uses UPNG.js, Pako and OxiPNG for palette-based compression instead. Process up to 10 raster files at once and download results individually or together as a ZIP. Neither mode uploads files or source code to a server.
Nothing you open here is saved between visits — download your result before leaving the page. The one exception is a short-lived hand-off from Pixel Painter's "Export as SVG" button: it stores the SVG in this browser's session storage under a random one-time ID (not in the URL), and this page deletes it immediately after reading it, whether or not you finish the optimization.