Compress images without uploading them
Drop in a photo, move the quality slider and watch the file size fall in real time. Everything runs on your own device, so the image never leaves your browser.
- Runs in your browser
- Nothing is uploaded
- No sign-up
- Batch up to 20 images
Drag & drop your image here
or tap to browse · you can also paste from the clipboard
JPG · PNG · WebP · GIF · BMP · AVIF · SVG · up to 50 MB each · up to 20 files
Choose imagesBefore
After
Processed image will appear here.
How to use the image compressor
To compress an image, drop it into the box above, set the quality slider to about 80, and download the result. A typical 4 MB phone photo drops to 200-400 KB at quality 80 with no visible difference on screen. Nothing is uploaded; the compression runs in your browser.
- Add your imagesDrag files onto the drop zone, tap to browse, or paste from the clipboard. Up to 20 images at a time.
- Tune the qualitySlide between smaller files and higher fidelity, or switch on Auto optimise to let the heuristics choose format and quality.
- DownloadSave the single result, or process the whole batch and download everything as one ZIP archive.
About this tool
Large images are the single biggest cause of slow web pages. A phone camera photo is routinely 4-8 MB, while the same picture at 1600 px wide and quality 80 is usually under 250 KB. It looks the same on a screen and loads ten times faster.
This compressor uses your browser's own JPEG, PNG and WebP encoders through the HTML canvas API. You choose the quality; the before/after panel shows exactly what you are trading away, and the statistics row reports the actual byte savings.
What you get
- Live quality slider from 1 to 100 with instant size feedback
- Auto optimise picks format and quality from image statistics
- Batch mode: up to 20 images, ZIP download
- Optional resize during compression for even smaller files
- EXIF orientation respected, so portrait photos stay upright
When to use the image compressor
Speeding up a website
Images are usually 60-70% of a page's total weight. Compressing every image to quality 80 and resizing to the width it is actually displayed at is the single largest improvement most sites can make to Largest Contentful Paint.
Email attachments
Most mail servers reject messages over 20-25 MB. Ten compressed photos fit comfortably where three originals would bounce.
Uploading to a portal with a size cap
Job applications, government forms and exam registrations often enforce limits like 200 KB. Use the quality slider, or the File Size Reducer for an exact byte target.
Freeing up storage
Batch-compress a folder of photos before archiving. Keep the originals of anything you might print, because compression is irreversible.
Recommended settings by job
| What you are doing | Format | Quality | Also resize to |
|---|---|---|---|
| Website hero image | WebP | 80-85 | 1600-2000 px wide |
| Blog / article image | WebP or JPG | 78-82 | 800-1200 px wide |
| Product photo on a store page | WebP | 85 | 1000-1500 px wide |
| Thumbnail or avatar | WebP or JPG | 70-75 | 150-400 px wide |
| Email attachment | JPG | 75 | 1600 px wide |
| Logo or flat graphic | PNG or WebP | 90+ | keep original |
| Print or archival master | do not compress | n/a | keep original |
How it works
Compression happens in three stages. Your file is decoded with createImageBitmap(), which also applies any EXIF orientation flag so photos taken sideways on a phone come out upright. The pixels are drawn to an off-screen <canvas>, optionally resized using progressive halving. Finally canvas.toBlob() re-encodes with the quality value you chose.
The quality number is not a percentage of anything. It selects the quantisation tables the encoder uses when rounding frequency coefficients. That is why the size curve is so steeply non-linear: dropping from 100 to 90 often halves the file, while dropping from 50 to 40 saves very little and does visible damage.
Auto optimise samples the image at 140 px and measures three things: whether any pixel has partial transparency, how many distinct colours appear in 15-bit space, and an edge-energy score from neighbouring-pixel differences. Flat graphics get lossless-leaning settings, transparent images stay in an alpha-capable format, and photographs get a quality between 78 and 87 depending on how much fine detail is present to hide artefacts. It is a rules engine, not a machine-learning model, and the reason for its choice is printed under the result.
Common problems and how to fix them
- The file barely got smaller
- It was probably already compressed. Re-compressing a quality-80 JPEG at quality 80 saves almost nothing while adding a second round of artefacts. Check the original's size per megapixel: under about 0.3 bytes per pixel means it is already optimised, so resize it instead.
- The result is larger than the original
- You are almost certainly writing PNG from a photographic source, or re-encoding an already-optimised PNG. Switch the output format to JPG or WebP.
- Text and logos look fuzzy or have halos
- JPEG is bad at sharp edges. Use PNG or WebP for anything containing text, line art or flat colour, and keep quality above 90.
- Colours look slightly different afterwards
- Embedded ICC colour profiles are not preserved by canvas re-encoding, so wide-gamut images are interpreted as sRGB. For colour-critical print work, compress with a tool that keeps the profile.
- It is slow or the tab freezes on a big photo
- Everything runs on your device's CPU. Above about 24 megapixels the page switches to a manual "Apply changes" button instead of re-processing on every slider move.
Frequently asked questions
Are my images uploaded to a server?
No. The compression runs in your browser using the canvas API. Your files are read from disk into memory, processed and offered back as a download. Nothing is transmitted, and there is no server-side copy to delete.
What quality setting should I use?
For photographs on the web, 75-85 is the sweet spot: large savings with artefacts that are hard to see at normal viewing distance. Drop to 60-70 for thumbnails, and stay above 90 only when the image will be edited or printed later.
Why did my PNG get bigger instead of smaller?
Browsers cannot write a compact indexed (PNG-8) file, so every PNG they save is stored in full colour. This tool still reduces the palette (to about 147 colours at the default quality of 80), but a PNG that another optimiser already saved in indexed form can come out larger. Lower the quality slider for a smaller palette, or, if the source is a photo, convert it to JPG or WebP, since those formats are designed for continuous-tone images. The PNG Compressor gives you direct control over palette size and dithering.
Does compressing an image reduce its dimensions?
Not by default. Quality compression keeps the same pixel dimensions. Switch on "Also resize the image" if you want smaller dimensions too, which is usually where the biggest savings come from.
Is there a file size or count limit?
Files up to 50 MB and roughly 60 megapixels are accepted, and batches are capped at 20 images. These limits exist because everything is held in your device's memory, and a phone runs out of RAM long before a desktop does.
Will compression strip my EXIF data?
Yes. Canvas re-encoding produces a clean image without EXIF, GPS coordinates or camera metadata. That is good for privacy, but if you need to keep the metadata, keep a copy of the original.
What is the difference between compressing and resizing?
Compressing keeps the same pixel dimensions and stores them less precisely. Resizing throws pixels away entirely. Resizing usually saves far more: halving the width and height removes 75% of the pixels. The best results come from doing both: resize to the size the image is actually displayed at, then compress.
How much can I compress before people notice?
For photographs viewed on a screen, most people cannot tell quality 85 from the original, and quality 75 passes unnoticed in normal use. Below 60 you start seeing blocking in skies and smooth gradients. Images with text, sharp lines or large flat areas show damage far earlier, often by quality 90.
Does compression affect image resolution or DPI?
No. Compression changes only how the pixels are stored, not how many there are. The DPI field is metadata that affects printing size, and it is unrelated to file size.
Can I compress images in bulk?
Yes. Drop up to 20 files at once, set your settings on the first one, then press "Process all images" and download everything as a single ZIP archive.
Further reading
Longer articles covering the decisions behind this tool.
Which image format should you actually use?
Six formats and one decision: what each is good at, where each falls apart, and how to choose without having to think about it again.
Read the guide Performance · 11 min readHow to compress images for a faster website
Images are usually the heaviest thing on a page and the easiest to fix. This is the workflow in the order that saves the most bytes, with real numbers from a worked example.
Read the guide Reference · 8 min readSocial media image sizes
Every platform crops uploads to its own ratio. Pre-sizing means you decide what stays in frame instead of an algorithm deciding for you.
Read the guide