Image Compressor & Converter
Batch-compress images or convert between JPG / PNG / WebP with quality and size controls, all locally.
The hero image for your site is two megabytes over budget, the exam portal rejects your photo for being too large, and a folder of PNG screenshots should really be WebP by now. These all share one annoyance: the images themselves are not secret, yet handing originals to a random web service still feels wrong. This tool keeps the whole pipeline in your browser - decode, resample and re-encode happen on your machine with zero network requests, and the page keeps working offline.
Output format can be kept as-is or switched to JPEG, PNG or WebP. The quality slider maps to the encoder's quantization strength, and a longest-side value resizes proportionally. Every converted image reports before/after bytes and the savings ratio, so you can verify that compression actually did something. Which formats this browser can really encode is probed at runtime rather than assumed - unsupported ones are honestly labeled.
Why some images shrink dramatically and others do not budge
The compression ratio comes from the mismatch between source format and content. PNG is lossless, so photographs - continuous-tone content - stored as PNG are massively oversized, and converting them to JPEG or WebP often saves an order of magnitude. The reverse fails: a JPEG that was already compressed hard has had its detail quantized away, so re-encoding it to WebP finds almost nothing left to squeeze and can even come out larger. When you see the "output is larger" note, that format has hit its floor for this content.
What the quality slider actually changes
JPEG and WebP are lossy codecs; the slider controls how coarsely the DCT coefficients are quantized. High quality keeps more high-frequency detail at the cost of bytes; low quality merges detail aggressively and starts showing blocky artifacts. The practical sweet spot is 70-85: visually indistinguishable from the original at roughly a third to a fifth of its size. PNG is lossless and has no quality control - for it, only resizing and format conversion apply.
Resizing is the most underrated compression trick
Bitmap data scales with pixel count: taking a 4000×3000 photo down to 1600×1200 leaves one sixth of the pixels, and the file size usually follows - more directly than any encoder trick. Web display rarely needs more than a 2000-pixel edge, and avatars or thumbnails are fine at 800. Downscaling here uses stepwise halving rather than one big jump, which keeps edges noticeably cleaner.
Frequently asked questions
- Are my images uploaded anywhere?
- No. Compression relies on the browser's built-in image codecs (canvas) running on your machine. The page has no backend at all, and it keeps working offline - that is the fundamental difference from most online compressors.
- Should I choose JPEG or WebP?
- Pick JPEG for maximum compatibility - it opens everywhere. Pick WebP for size: at equal visual quality it is typically 25-35% smaller than JPEG and supports transparency, and every modern browser renders it. PNG remains the right choice when you need lossless output or alpha (icons, screenshots).
- Why did my transparent PNG turn white when converted to JPEG?
- JPEG has no alpha channel, so transparent pixels must land on a concrete color before encoding; this tool fills white. Choose WebP or keep PNG if you need transparency preserved.
- Can I restore a compressed image later?
- No. Information discarded by lossy encoding never comes back on decode. Keep the original file and save compressed versions separately - and note that repeatedly re-saving as JPEG degrades quality cumulatively, since every encode is another lossy pass.