Tutorial
How to Compress JPEG File Size
If you need to compress JPEG file size — for an email attachment, a portal with a hard byte cap, or a website that loads too slowly — you have exactly three levers: lower the quality, shrink the dimensions, or switch to a more efficient format. This guide walks through all three, in your browser, without uploading your photos anywhere.
Why JPEGs are still too big in 2026
JPEG is already a compressed format. That confuses people — "compressed" sounds like it should be small. But a modern phone photo lands at 3–12 MB, and a DSLR raw-to-JPEG export can be larger. That's fine for archival storage. It's terrible for everything else: email attachments bounce, CMS uploads crawl, and portals with byte caps reject the file outright.
File size comes down to four things: resolution, noise, fine detail, and how aggressively the camera encoded the original. A noisy indoor shot at full resolution will always be heavier than a clean daylight photo at the same dimensions. Keep that in mind — it explains why the same quality setting produces different file sizes on different photos.
The three ways to compress JPEG file size
Every method you've ever seen is one of these three. Knowing which to reach for saves the guesswork.
1. Lower the quality. The classic slider. Fast, but imprecise — you guess a number, check the size, guess again. Fine when there's no hard cap.
2. Shrink the dimensions. A 4000px-wide photo displayed at 800px is carrying five times the pixels it needs. Resizing first is the highest-quality-per-byte move you can make, and most people skip it.
3. Change the format. If the destination accepts WebP, converting a JPEG to WebP typically cuts 25–35% at the same visual quality. If it requires JPEG — many portals still do — stay in JPEG.
In practice, the best results combine all three: resize to the display size, then compress to the target size.
How to compress JPEG file size without uploading anything
Most "compress JPEG online" tools make you upload the photo to their server, process it there, and hand back a download link. That works, but your file just traveled to a stranger's infrastructure — and their retention policy, not yours, decides how long it stays.
SnapShrink does the whole job inside your browser tab. Here's the actual workflow:
Step 1 — Open the tool. Go to SnapShrink. No signup, no wall. You'll see a drop zone, quality controls, a Target KB field, and an output format picker.
Step 2 — Drop your JPEGs. One file or a whole folder — mixed batches with PNG and WebP are fine. Files over 50 MB get skipped with a clear message instead of crashing the batch, and corrupt files are skipped the same way.
Step 3 — Pick your method. Quality slider for quick shrinks, Target KB when a portal demands an exact number (type 100, get ≤100KB — the engine binary-searches quality to find the highest setting that fits), or WebP output when the destination allows it. For a hard 100KB portal cap, see compress image to 100KB.
Step 4 — Compress and inspect. Each finished image shows original size, new size, and ratio. Check faces, text overlays, and product edges at 100% zoom before you ship the file. If skin looks waxy or text fringes, you went too far — raise the target slightly.
Step 5 — Download. Single files or Download all as ZIP. The ZIP is assembled in the browser too. First 10 images per session are free; a one-time $9 license removes the quota.
You can verify the no-upload claim yourself: open DevTools → Network, compress a batch, and filter for uploads. There won't be any. I built it this way because I got tired of wondering where my client photos went after using hosted compressors. Details are in the privacy policy.
Target size vs the quality slider: which to use when
This is the decision nobody explains, so here's my rule of thumb:
- Use the quality slider when there's no hard cap — you're just making files smaller for a faster site or a lighter email. Start around quality 80, check the result, adjust once.
- Use target size when a number is non-negotiable — visa portals, exam forms, "maximum 100KB" fields. Typing
100and getting exactly ≤100KB beats five rounds of guess-and-check.
One thing worth knowing: quality percentages aren't standardized across encoders. Quality 80 in one tool isn't the same file size as quality 80 in another. That's why slider advice like "just export at 80%" is unreliable across tools — and why naming the size you want is the more honest approach.
Resize first: the step everyone skips
Here's the mistake I see constantly: someone takes a 4000×3000 photo, sets quality to 40 trying to hit 200KB, and ends up with mush. The right move was resizing to 1200×900 first, then compressing at quality 80 — same file size, dramatically better looking.
The math is simple. Halving each dimension quarters the pixel count. Fewer pixels means the quality budget stretches further. If you know the display size — an 800px email template, a 1200px blog hero — resize to it (or slightly above for retina) before you touch quality.
SnapShrink doesn't resize for you yet, so do this step in your OS photo app first. It's thirty seconds and it's the single biggest quality win in this whole guide.
How to compress JPEG file size on iPhone and Android
iPhone (Safari): Tap the drop zone, pick from Photos or Files, set quality or a target, download. One wrinkle: iPhone photos are usually HEIC. Safari hands HEIC to the browser as JPEG through the system picker, so SnapShrink receives a JPEG and processes it normally — no separate conversion step.
Android (Chrome): Identical flow. Pick from the gallery or Files, compress, download to your Downloads folder, attach wherever you need it.
For portal caps on mobile, the Target KB field is the whole game — same as desktop. If the form says 100KB, type 100 and you're done.
Batch compress JPEGs without the tedium
If you're prepping product shots or a blog media library, do the folder in one pass with the bulk image compressor: drop everything in SnapShrink, set one quality or target size, download the ZIP. The same settings apply across the batch, which keeps a product gallery visually consistent — something you lose when you hand-tune files one by one.
Keep your originals somewhere safe and only ship the compressed set to the CMS. Disk is cheap; re-shoots aren't.
Mistakes that ruin JPEGs
- Re-saving the same JPEG repeatedly. Every lossy pass adds artifacts. Always compress from the original, once.
- Cranking quality to minimum. Skin tones band, gradients posterize. If quality 30 looks bad, the answer is resizing first, not going lower.
- Ignoring the required format. Some portals still reject WebP. Check before you convert a whole batch.
- Compressing thumbnails and expecting miracles. A 50KB thumbnail can't become a clean 20KB hero. Garbage in, garbage out.
- Uploading sensitive photos to random compressors. Passport photos, client work, unreleased designs — if a local tool exists, use it.
FAQ
Does compressing a JPEG always reduce quality?
Yes, technically — JPEG is lossy, so recompressing discards some detail. The practical goal is finding the highest quality that meets your size need. Done right (resize first, sensible quality), the difference is invisible at normal viewing sizes.
Should I convert JPEG to WebP instead of compressing?
If the destination supports WebP, usually yes — 25–35% smaller at similar quality. If a portal or old software requires JPEG, keep JPEG output. When in doubt, JPEG is the safe choice.
Are my photos uploaded when I compress them?
Not with SnapShrink. Everything runs in your browser via the File API and a Web Worker. Open DevTools → Network while compressing and you'll see zero file uploads.
Can I compress many JPEGs at once?
Yes. Drop a batch, set quality or a target size, download a ZIP. First 10 images per session are free.
Why is my JPEG still big at low quality?
Almost always resolution. A 4000px photo at quality 40 can outweigh a 1200px photo at quality 85 — and look worse. Resize first, then compress.
What's a good quality setting for web photos?
Quality 75–85 after resizing to display dimensions. That's the range where file size drops a lot and visible quality barely moves. Below 60, inspect carefully.
Compress your first JPEG free
Open SnapShrink, drop a photo, set quality or a target size. 10 images per session, no signup.