Compress images with a live preview, sharp-grade download

Upload a JPG, PNG, WebP, or AVIF and drag the quality slider — preview is rendered instantly in your browser, the final download is re-encoded server-side by sharp + libvips for the smallest file possible. Export as JPG, WebP, AVIF, or PNG. No account, no watermark.

or drop the image here

RoundCut Compress Image gives you a live preview rendered in your browser as you move the quality slider, then encodes the final download server-side using sharp + libvips — the same encoder stack used by Vercel, Shopify and Cloudflare. Your file is processed in a tenant-isolated cache, never used for training, and removed after a short TTL. Compare JPG, WebP, and AVIF at a glance, pick the smallest, then download.

Compress image

What this tool does

It takes an image you already have and makes a smaller copy. Lossy formats (JPG, WebP, AVIF) get re-encoded at the quality level you pick — the lower the quality, the smaller the file, down to the point where visible artifacts appear. You watch the live split-view preview and the live file-size counter as you drag the slider, so you can pick the lowest quality that still looks right. The output keeps the original dimensions exactly; to also reduce pixel size, use the Resize tool first.

Compress image

How privacy works on this tool

The slider preview is rendered locally with `canvas.toBlob` — every adjustment you see is computed inside your browser, no roundtrip. The final download is different: when you click Download, the file is sent over HTTPS to our compression service (Cloudflare Worker → our server running sharp + libvips) so the output gets the smallest possible byte count. The file is held in a tenant-isolated cache for a short TTL (so a repeat download of the same picture is served from cache instead of re-encoded), then removed. We never use uploaded files for training, never share them with third parties, and the API key used for the upload is redacted from our logs. If you prefer to never send the file at all, the slider preview itself is a working compressed image — right-click it to save the in-browser version. For files larger than the upload cap or when our service is unreachable, the tool automatically falls back to the in-browser encode.

Compress image

What the tool is (and isn't)

Free, with no account, no signup, no watermark, and no per-image or per-day limit. The download path needs network — our server does the final encode. If the network is offline or our service is unreachable, the tool falls back to the in-browser encode automatically (slightly larger file, same format). What it doesn't do: it won't resize — input dimensions equal output dimensions (use the Resize tool first if you need to go from 4000 px wide to 1200 px). It doesn't preserve EXIF, GPS, or camera metadata — the re-encoders strip it by default, which is a privacy win for most use cases. It doesn't do batch: one image at a time. It doesn't have a target-size mode: move the slider and watch the byte counter — you can hit any target size in two or three tries. GIF animation isn't kept: only the first frame is used.

Compress image

Live format comparison — pick the smallest in one glance

Below the quality slider you'll see three cards: JPG, WebP, and AVIF. They all encode your photo at the quality you picked and show the resulting file size as each one finishes. Whichever produces the smallest file gets a green Smallest badge — click that card to set it as your output format, then download. This is the difference between this tool and auto-pickers like TinyPNG: you see the actual numbers for your specific image, at your specific quality level, before you commit. No guessing whether AVIF would have been smaller than WebP for that particular photo.

Compress image

How it works: live preview client-side, final encode server-side

While you drag the slider, the preview is rendered using your browser's built-in `canvas.toBlob` — instant feedback, zero network. When you click Download, the original file is uploaded over HTTPS to our compression service: a small Cloudflare Worker forwards the request to a Fastify server running sharp 0.34 backed by libvips 8.17. That stack produces materially smaller files than browser encoders (typically 10-15% better at the same visual quality, plus access to JXL output and tuned chroma subsampling that browser APIs don't expose). The encoded result is cached per-tenant for repeat downloads, then deleted. Total roundtrip is usually under 600ms for a typical photo on a good connection; if it ever exceeds 6 seconds or the service is unreachable, the tool falls back to the browser-encoded version automatically.

Compress image

Pick your output format: JPG, WebP, AVIF, or PNG

JPG is the safest choice for photos going to email, print, or any workflow that might not support newer formats — universal support, no transparency. WebP is the best default for the web: typically 25–35% smaller than JPG at the same visual quality, and it supports transparency. AVIF pushes compression further, often 40–60% smaller than JPG, and works in Chrome, Firefox, Safari, and Edge. PNG is lossless — every pixel is preserved; the quality slider is hidden for PNG because there's nothing to lose. Typical saving on an unoptimized PNG: 30–50%, up to 70% on freshly-rendered exports. The download path uses sharp + libvips on our server (MozJPEG for JPG, libwebp for WebP, libavif/heif for AVIF, libpng for PNG); the in-browser slider preview uses the browser's built-in encoders. For input, the tool accepts JPG, PNG, WebP, and AVIF on every modern browser, plus GIF (first frame only) and HEIC (Safari only).

Compress image

Quality slider, in plain language

The slider runs from 1 to 100 for lossy formats (JPG, WebP, AVIF). Higher means less compression artifact and a larger file. Lower means a smaller file with more visible degradation. 80 is the default — it matches Photoshop's 'high quality' JPEG tier and is what most professional workflows use. 60 is a solid web-and-email default where file size matters more than print quality. Below 50, block artifacts start appearing on smooth gradients and skin tones. Below 30, the output is recognizable but clearly compressed — useful only for thumbnails. The size counter above the slider updates as you drag. It shows the exact byte count of the re-encoded output — measured, not estimated. When the re-encoded file is larger than what you uploaded (which happens with already-compressed JPGs at quality 100, or PNGs previously optimized by another tool), the saved value goes negative and the card tells you plainly: lower the slider or switch formats.

Frequently asked questions

Is Compress Image really free?

Yes. No account, no signup, no watermark, no trial period. The slider preview runs locally; the final download is encoded by our server (sharp + libvips). The infrastructure cost is small enough that we cover it as a free tier.

Does my image get uploaded anywhere?

The slider preview is computed in your browser — no upload there. The final download is different: when you click Download, the original file is sent over HTTPS to our compression service so the output gets a sharp + libvips encode (smaller than what a browser can produce). The file is held in a short-lived tenant-isolated cache, never used for training, and removed after the TTL. If the network is offline or the service is unreachable, the tool falls back to the browser-encoded version automatically; you can also right-click the live preview to save the in-browser version directly.

Can I compress WebP files?

Yes. WebP is a supported input format on all modern browsers. You can compress a WebP and export it back as WebP (smaller), or convert it to JPG or AVIF while you're at it.

Which input formats can I upload?

JPG, PNG, WebP, and AVIF on every modern browser. GIF works in Chrome and Firefox but only the first frame is kept — animation isn't preserved. HEIC from iPhones works in Safari only (Safari has a native HEIC decoder); in Chrome or Firefox, convert HEIC to JPG first using our Convert tool.

How much smaller will my file be?

It depends on the input. A typical unoptimized photo at quality 80: WebP is usually 25–35% smaller than the JPG equivalent; AVIF is usually 40–60% smaller than JPG. PNG with Oxipng saves 30–50% on unoptimized PNGs, up to 70% on freshly-rendered ones. The live size counter shows you the exact number for your file before you download.

What quality should I pick?

80 if you're not sure — it's the default and matches Photoshop's 'high quality' JPEG. Drop to 60 for web uploads where size matters more than print-quality detail. Drop to 40 only for thumbnails. Raise to 90–100 if you're editing the file further and don't want to stack compression losses.

Why does my file get LARGER at quality 100?

Quality 100 doesn't mean no compression — it means 'minimize visible artifacts.' If your input was already an optimized JPG, re-encoding at quality 100 with MozJPEG can produce a larger file because the two encoders made different internal trade-offs. The fix: lower the quality slider until the size counter turns positive, or switch to WebP or AVIF, which compress smaller at the same visual quality.

How small can the PNG get?

PNG output runs through Oxipng, which picks better filter and deflate parameters than a standard canvas export would. Typical savings: 30–50% on unoptimized PNGs, up to 70% on freshly-rendered ones. It stays lossless — every pixel is byte-identical to the input. If you want a dramatically smaller file and don't need transparency, WebP at quality 80 usually beats any lossless PNG run — try both with the live format comparison.

Does compression change the image's dimensions?

No. Width and height are preserved exactly. If you also need to downsize the image (e.g., from 4000 px wide to 1200 px wide), use the Resize tool first or after.

Will EXIF metadata survive?

No. The re-encoded file is stripped of EXIF, GPS, and camera metadata because both encode paths (browser preview and server-side download) drop source metadata by default. That's a privacy win for most users (no GPS coordinates leaked in the file), but if you need to preserve metadata, this isn't the right tool.

Can I compress many files at once?

Not yet — one image at a time. Drop them in one by one: each run takes well under a second for JPG and WebP, a couple of seconds for AVIF on the first encode.

Does AVIF work everywhere?

Encoding: yes — the download path uses libavif on our server, so AVIF output works regardless of whether your browser has a native AVIF encoder. Viewing the output: Chrome, Firefox, Safari, and Edge all support AVIF. If you're sending the file to a specific recipient, test once first; WebP is the safer universal choice.

What's the largest image this tool can handle?

There's no hard cap — it's limited by your device's RAM. A modern laptop handles 50-megapixel photos in a second or two. Very large files (raw input files over ~200 MB) may exhaust memory on phones — resize first if that's your situation.