Smaller photos, same look.
Drop a photo, pick a format, slide the quality — or name a size and let it find the quality that fits. You see the real byte count either way, and if a setting would make the file bigger we say so instead of hiding it. Nothing uploads anywhere; the encoder runs on your device. For real projects, grab a proper app.
Compress a photo to a smaller file
Shrink a JPG, PNG or WebP in this browser tab and see the real byte count before you save it.
What you can change
- Format
- Quality
- Aim for a size
- Pixel size
- Compare
How it works
- 01Drop in a photo, or open one of the samples.
- 02Pick a format, pull the quality slider, aim for 200 KB, 500 KB, 1 MB or 2 MB, and cap the longer edge at 2400, 1920, 1200 or 800px. Compare shows the original beside the result.
- 03Download it at full resolution. Nothing is uploaded — the work happens in this browser tab.
Warming up the press…
Compress a photo to a smaller file
Shrink a JPG, PNG or WebP in this browser tab and see the real byte count before you save it.
What you can change
- Format
- Quality
- Aim for a size
- Pixel size
- Compare
How it works
- 01Drop in a photo, or open one of the samples.
- 02Pick a format, pull the quality slider, aim for 200 KB, 500 KB, 1 MB or 2 MB, and cap the longer edge at 2400, 1920, 1200 or 800px. Compare shows the original beside the result.
- 03Download it at full resolution. Nothing is uploaded — the work happens in this browser tab.
Warming up the press…
Six places compression earns its keep
- 01 for email
Photos that actually attach
Gmail, iCloud, Outlook — every email host caps attachments somewhere between 20 and 25 MB. A handful of phone photos blows through that fast. Compress at 75% JPG, attach the same shots, send in one go.
- 02 for web uploads
Squarespace, Shopify, Etsy, WordPress
Most CMS platforms warn (or silently downgrade) anything over a few MB. Compress to 1920px WebP at 75 before uploading — your gallery loads quicker, Lighthouse scores climb, and you skip their auto-conversion step.
- 03 for blog posts
Pages that load before readers leave
A single 6 MB header image is the single biggest reason a blog post feels slow. Resize to 1200px and re-encode WebP at 70 and the same image weighs ~120 KB — same look, fifty times lighter.
- 04 for messaging
WhatsApp, iMessage, Slack
Messaging apps re-compress everything you send anyway, often badly. Pre-compress to JPG 75 at 1600px first — you control the quality, the recipient gets a sharper photo, and you don't burn through someone's mobile data.
- 05 for print
Hit the kiosk file-size limit
Walgreens and CVS print kiosks limit individual file size on USB upload. A 12-megapixel iPhone shot is sometimes too big. Set the size target to the kiosk's limit and the tool finds the highest quality that still fits, then tells you which quality it landed on.
- 06 for the archive
Free up the family photo drive
10 years of phone photos add up. Re-encode the archive to WebP at 80, keep originals only for hero shots — you'll cut total size in half without anyone noticing the difference on a screen or a print.
Frequently asked
Does my photo upload anywhere? +
No. The encoder runs in your browser tab using the canvas API. Your photo never touches our servers — we don't run an image pipeline at all. Open DevTools → Network and watch: nothing leaves your device.
What's the difference between JPG and WebP? +
It depends on where your photo came from. On an original — a camera raw export, a screenshot, a rendered graphic — WebP came out about 20% smaller than JPG at matched quality in our tests (19.1 KB at 43.2 dB against JPG's 23.8 KB at 42.3 dB). On a photo that is already a JPEG, WebP lost: at the same file size, the JPG re-encode scored higher, because JPEG can reproduce the artifacts already in the file cheaply. Since most photos people bring here are already JPEGs, try both and read the byte count — the tool shows you the real number.
Why did my file get bigger? +
Because your original was already compressed harder than the setting you picked. A photo saved at quality 95 grew 52% in our tests, and the same photo saved as PNG grew more than nine times. That is not a bug in the encoder — it is what re-encoding an already-small file costs. The readout says “bigger” when that happens and offers your original back. Drop the quality, cap the pixel size, or keep what you have.
Should I use AVIF? +
If your browser offers it, yes — AVIF was the clear winner in testing, about 4.7 dB better than JPG at the same file size, or roughly half the bytes for the same picture. The catch is support: only browsers that can actually encode AVIF show the button, so you will see it in Safari and not in Chrome, and some older apps still cannot open the files.
When should I pick PNG? +
Only when you need lossless — diagrams, screenshots with text, anything you'll edit again later. PNG is much larger than JPG/WebP for photos and the quality slider doesn't apply.
What's the right quality setting? +
75 for JPG and 70 for WebP are the sweet spots for the web — visually indistinguishable on a phone or laptop. Push past 90 only for print or large displays, and expect the file to grow if the original was already compressed. Below 60, banding and blocking start to show. If you have a hard limit to hit instead of a look to match, use the size target and let the tool search for the quality.
Why does resizing matter so much? +
A modern phone shoots 4000–8000px wide. Almost no screen is bigger than 2400px. Resizing to 1920px before compressing cuts the file in half before quality even comes into play. Resize first, compress second.
Can I batch a folder of photos? +
Single-photo for now — the tool is built for quick, one-off compression. For batches of 50+ photos, a desktop app or a build script (sharp, ImageMagick) is the right tool.
now what?
A few moves before posting
next →
EXIF Stripper
Strip GPS metadata before posting.
Opennext →
Crop & Resize
Reframe for square, 9:16, or 2:3.
Opennext →
Photo Watermark
Sign the photo before posting.
Opennext →
HEIC to JPG / PNG
Coming off an iPhone? Convert the HEIC first.
Opennext →
Blur & Pixelate
Redact faces or licence plates first.
Opennext →
Background Remover
Cut the subject out for socials.
OpenThe rest of this shelf
Color Palette
Pull 3 to 8 hex codes out of any photo.
OpenQR Code Generator
Print-ready QR for menus, invites, journals, vCards.
OpenColor Replace
Eyedropper a color in your photo, swap it for another.
OpenBackground Replace
Drop your subject onto paper, gradient, or your own backdrop photo.
OpenText Behind Subject
Drop a word behind your subject, magazine-cover style.
OpenPhoto Filters
Eight looks plus the original — vintage to cinematic.
Open Make proper collages
in a proper app.
Compression is one step. When you're ready to lay a whole spread — photos, templates, captions, tape — a real collage app handles it cleanly.