Online image compression tool: supports PNG, JPEG, WebP format conversion with adjustable quality and max width. Client-side processing, no upload to server.
TL;DR: Free image compressor: JPEG/PNG/WebP conversion, quality and width presets, before/after size stats, local Canvas processing with EXIF stripped.
For local tools, open DevTools → Network and search your input — it should not appear in requests.
Next steps
Usage Guide
Shrink photos and UI assets in the browser with the Canvas API. Choose JPEG, PNG, or WebP output; apply quality presets (Web 70%, Balanced 80%, High 90%) or a custom slider; cap max width (Original, 1920, 1280, 800, or custom). The result panel shows before/after bytes, savings percent, bytes saved, and dimensions. Files stay in the tab (no upload). Re-encoding keeps pixels only — EXIF, GPS, and ICC profiles are stripped on export.
1. Compress one representative image first
Width presets never upscale: if the source is already narrower than the cap, dimensions stay as-is. JPEG and WebP honor the quality argument via canvas.toBlob; PNG is a lossless Canvas re-encode and ignores the quality slider — the UI reflects that. Transparent PNG exported as JPEG fills the alpha area with white so you do not get a black silhouette. Output filenames keep the base name and swap the extension to match the chosen format.
- Upload or drop an image the browser can decode (JPEG, PNG, WebP, and other browser-supported types).
- Pick an output format and a quality preset (or custom). Optionally set a max width so oversized phone photos downscale before encode.
- Compare the savings stats, preview, then download. Tune on one typical hero image before batching a folder of similar shots.
2. Format choice that matches the channel
Failure sample: compressing a PNG screenshot to JPEG “to save space” and discovering white boxes where shadows used soft transparency. Failure sample: leaving a 4000px phone photo at High quality without a width cap — the file stays multi-megabyte because unused pixels dominate. Cap width to the largest display size you actually need, then lower quality until artifacts appear, then nudge quality up one step. Failure sample: converting a small optimized WebP into High PNG and seeing negative savings — stop; another format hop will not invent compression.
- Photos for the web: JPEG or WebP usually wins on size; keep a JPEG fallback if an old client cannot read WebP.
- UI assets that need transparency: PNG or WebP with alpha.
- Already-tiny icons: further compression often wastes time and can introduce generation loss — measure first.
- Screenshot UI with flat colors may prefer PNG; continuous-tone photos rarely do.
3. EXIF, privacy, and why masters matter
Canvas toBlob paths do not preserve EXIF or GPS. That is usually desirable for web publishing and privacy. It is undesirable if you need camera settings or color profiles later — keep the original file as the master and treat the download as a derivative. Repeated recompress of the same derivative (generation loss) softens edges and smears text; always restart from the master when you change settings. On shared machines, clear Downloads copies of portraits or documents after you finish. Prefer starting from the camera original whenever you change format or width, so quality experiments stay comparable.
4. Batching and browser memory
Very large images or dozens at once can stall the tab. Process in smaller batches. Watch for outputs that grew instead of shrank (negative savings): that happens when you convert a small optimized WebP into a high-quality PNG, or when PNG “compression” merely rewraps pixels. If savings are near zero, stop — another pass will not help. Prefer resize or crop first when the subject only needs a fraction of the frame; sibling format converters help when you only need WebP↔JPEG without quality experiments; Base64/Data URI embedding is a separate hop after byte size looks right.
5. Acceptance before shipping the asset
- Open the download at 100% zoom and check faces, text, and fine lines.
- Confirm dimensions match the layout budget (Retina slots often want 2× CSS size, not the original camera width).
- Confirm the portal or CMS size limit (often a few hundred KB for avatars) is met without crushing faces.
- Keep the master file until production renders look right on a real phone network throttle.
- Record the preset name and max width you used so a teammate can reproduce the same derivative later.
FAQ
Never. Re-encoding uses the browser's Canvas API and stays in your machine's memory — neither the original nor the result leaves your device. The tool is free, unlimited, and requires no account.
Input accepts common formats your browser can decode (JPEG, PNG, WebP, etc.); output can be JPEG, PNG, or WebP, with conversion in any direction (e.g. PNG→WebP). Rules of thumb: photos come out smallest as JPEG or WebP; transparency needs PNG or WebP; WebP compatibility has improved, but keep a JPEG fallback for legacy clients.
Quality presets at Web 70% / Balanced 80% / High 90%, width presets at Original / 1920 / 1280 / 800, plus a custom slider and max-width setting. The results panel shows before/after size, bytes saved, and dimensions. Note that PNG is re-encoded losslessly, so the quality slider doesn't apply to it.
No. Canvas re-encoding keeps pixels only — shooting parameters, GPS, and ICC metadata are all stripped. That's a privacy win for web publishing, but back up the original if you need lens data or color profiles. Also, when a transparent PNG becomes a JPEG, the alpha area is filled with white.
Cut width before quality — it usually pays better, since pixels the display can't use are pure wasted bytes. Slide quality down to the lowest level that still looks acceptable rather than defaulting to "high". Cropping or resizing before compressing often lands smaller too; to embed into a page, convert the compressed result to Base64/Data URI.
Browser memory is finite — oversized images or too many at once can stutter, so work in chunks. Re-compressing an already-small image gains little; worse, generation loss accumulates when the same image is compressed and re-saved over and over. Keep a master copy and re-export from it when needed.
Related Tools
Related Articles
Online Image Compressor: Shrink JPEG, PNG, and WebP
Compress images in the browser: quality and width presets, format conversion, before/after size stats, EXIF stripping boundaries, and practical web performance workflows.
Image Formats Explained: JPG, PNG, WebP, HEIC, and SVG — Which One, When, and How to Convert
A practical guide to choosing image formats: what JPG, PNG, WebP, HEIC and SVG are actually good at, when compression hurts, why transparency changes everything, honest boundaries of browser converters, and how to convert without stacking damage.
Online Base64 to Image Converter: Decode Base64 Strings to Image Files
Learn how to convert Base64 encoded strings back to image files. Understand Base64 decoding principles, common image MIME types, and real-world Web development use cases.