Compress JPG, PNG, WEBP — In Your Browser

Drop images below. Compression runs locally using the Canvas API — nothing is uploaded, no signup required, no file size or batch limits.

Images never leave your browser. Open DevTools → Network and verify yourself.
Drop images here

JPG, PNG, WEBP · Multiple files OK · Any size

or

How to compress images

1
Drop your images
Drag one or more JPG, PNG, or WEBP files onto the drop zone, or click "Choose Files" to browse. No signup, no account needed.
2
Adjust settings
Set a quality level (80 is a good default for most uses), choose whether to keep the original format or convert everything to JPG, and optionally cap the max image dimension to also resize.
3
Check the live preview
The side-by-side preview shows the original and compressed versions of your first image in real time. Move the quality slider and watch the size comparison update before committing to the full batch.
4
Compress and download
Click "Compress images" to process all files. Download them individually or grab them all at once as a ZIP file.

How image compression works

How does image compression work?

There are two types of image compression. Lossy compression (used by JPG and WEBP) discards image data that the human visual system is least sensitive to — subtle color variation in uniform areas, fine texture in shadows, and high-frequency detail that blurs at normal viewing distances.

At quality 80, most photos look indistinguishable from the original but are 50–70% smaller. The quality slider controls how aggressively data is discarded. Below quality 50, visible artifacts appear — blocky shadows, color banding, blurry edges around text.

Lossless compression (used by PNG) finds patterns in the pixel data and encodes them more efficiently, without discarding any information. The output is bit-for-bit identical to the original. Lossless produces smaller files than uncompressed, but larger than lossy at the same visual quality.

Lossy vs lossless: which to use?

Photos and camera images: use JPG. Lossy compression works exceptionally well on photographs because the discarded detail is in the exact frequency ranges the eye doesn't notice. A quality-80 JPG of a landscape is typically 5× smaller than a lossless PNG with no perceptible difference.

Screenshots, UI captures, logos, diagrams: use PNG. These contain sharp edges, text, and large solid-color regions — exactly the kind of detail lossy compression smears. PNG preserves every pixel exactly.

When file size matters above all else: convert to JPG with quality 75–85. This typically beats any lossless format by a significant margin. If the image has transparency, the "Convert to JPG" option fills transparent areas with white before encoding.

When to compress images

  • Web publishing: Large images are one of the biggest causes of slow page loads. Compressed images improve page speed scores and reduce bandwidth for both you and your visitors.
  • Email attachments: Most email services cap attachment sizes at 10–25MB. Compressing images lets you send more in a single message without triggering size limits.
  • Cloud storage: Batch-compressing a photo library can cut storage by 50–70%, preventing plan overages or freeing space for more files.
  • Form and portal uploads: Many document portals, HR systems, and e-commerce platforms impose file size limits. Compression gets images under those thresholds without re-shooting.
  • Social media: Most platforms re-compress your images anyway. Pre-compressing gives you control over what gets discarded before the platform's algorithm takes over.
  • Archiving a large photo library: Batch compression at quality 85 can halve storage requirements while keeping images visually identical for everyday viewing.

Quality settings reference

Quality range Best for Visual quality File size reduction
90–100 Archival copies, print preparation Indistinguishable from original 20–40% smaller
75–90 Web use — most common choice No visible difference at normal viewing 50–70% smaller
50–75 Thumbnails, aggressive compression Slight softness visible on close inspection 70–85% smaller
Below 50 Maximum compression only Visible artifacts, blocky shadows 85–95% smaller

Highlighted row (75–90) is the recommended range for most web and sharing use cases.

How this compares to TinyPNG and similar tools

TinyPNG dominates image compression. Here's an honest side-by-side.

Feature This tool TinyPNG (free tier)
Where compression runs Your browser (Canvas API) TinyPNG's servers
Files uploaded to server? Never Yes
Max file size No limit (browser memory) 5MB per file
Max batch size No limit 20 images
Works offline? Yes (after page loads) No
Real-time preview? Yes No
Compression algorithm Browser Canvas encoder mozjpeg + zopfli (more aggressive)
Typical file size reduction 50–70% at quality 80 60–80% (better algorithm)
Bottom line: TinyPNG's mozjpeg/zopfli pipeline produces smaller files at the same visual quality — it's a better algorithm. Use TinyPNG when compression ratio is your only priority. Use this tool when you need privacy, have files larger than 5MB, want to compress more than 20 images, or simply don't want to upload anything.

Is this safe for sensitive images?

Yes — and you can verify it yourself. This tool never uploads your images to any server. All compression happens inside your browser using the Canvas API, a standard browser feature available in Chrome, Firefox, Safari, and Edge.

When you drop an image, your browser reads it using the File API — this is local disk access, not an upload. The image data is decoded and drawn to an in-memory canvas element. The canvas re-encodes the data as a compressed blob at your chosen quality setting. That blob is made available for download via a temporary object URL, which is revoked when you're done. Nothing leaves your device.

To verify: open DevTools (F12) → Network tab → drop in some images and click "Compress." You'll see no outbound requests carrying your image data. The only network activity is loading the page itself on first visit.

Offline test: load this page, then disconnect your WiFi or enable airplane mode. The tool continues working perfectly — conclusive proof that it doesn't depend on a server.

This matters when compressing images that contain personal information: scanned IDs, medical photos, financial documents, confidential work images, or anything you'd rather not hand to a third party. The Canvas API approach means there's no server to be breached, no retention policy, and no terms of service that might allow use of your image data. See our full privacy policy for everything we do (and don't) collect.

Frequently asked questions

TinyPNG runs compression on their servers, which costs real money. The free tier limits (5MB per file, 20 images per batch) exist to cap their server expenses. This tool runs compression entirely in your browser using the Canvas API, so there are no server costs and no limits.
At quality 80 and above, most images look indistinguishable from the original. The human visual system is less sensitive to the types of data that lossy compression discards. Below quality 50, you'll start to see visible artifacts, especially around edges and text. Use the real-time preview to find your own threshold before compressing all files.
Quality 80 is a good default for most web use — files are 50–70% smaller with no visible degradation. Use 90+ for archival copies or images with fine text. Use 60–75 when file size is the priority and you've confirmed the preview looks acceptable. Below 50, quality loss is usually visible and rarely worth the extra savings.
Yes — PNG uses lossless compression. If you keep your PNG files in PNG format (the default), the output is losslessly re-encoded and pixels are identical to the original. Note that PNG files that are already well-optimized may not get smaller. To reduce PNG file sizes more aggressively, convert them to JPG.
Not quite. TinyPNG uses mozjpeg and zopfli — specialized compression algorithms built specifically for images. The Canvas API uses the browser's built-in encoder, which is less aggressive. At quality 80, you'll get 50–70% file size reduction versus TinyPNG's 60–80%. The tradeoff: no upload, no limits, no account required.
PNG files that were already well-optimized may get slightly larger when re-encoded by the browser's Canvas API, because the browser's PNG encoder is less efficient than dedicated tools like pngquant or zopfli. The solution: convert those PNGs to JPG instead — lossy compression will reduce them dramatically regardless of prior optimization.
Yes. Drop as many files as you want — they're processed sequentially in your browser. Unlike TinyPNG (which caps at 20 images per batch on the free tier), there's no batch limit here. Very large batches on mobile devices may run into browser memory limits, but on a desktop browser this handles hundreds of images without issue.
No. PNG is a lossless format — there's no quality setting to apply. The quality slider only affects JPG and WEBP output. If you want quality control over PNG images, switch the output format to "Convert to JPG" and adjust the slider — that applies lossy JPEG compression to those files.