July 13, 2026 · 10 min read
JPEG Quality Settings Explained: Why 80 Is Almost Always Enough
Everyone has slid the quality slider. Almost nobody knows what it does. The number isn't a percentage of anything, it isn't standardized across software, and the relationship between the number and the file size is aggressively non-linear — which is exactly why "just use 100 to be safe" is one of the most expensive habits on the web.
Here's what the slider actually controls, why 80 sits at the sweet spot, and the specific situations where you should deviate.
Table of Contents
- What the Quality Number Actually Means
- The Non-Linear Curve
- Quality Scales Are Not Comparable Across Software
- Why 80 Is the Sweet Spot
- Chroma Subsampling: The Hidden Second Setting
- When to Deviate from 80
- Generation Loss: Why You Never Re-Save
- How to Find Your Own Threshold
- Frequently Asked Questions
1. What the Quality Number Actually Means
JPEG compression works in four stages. The quality slider only touches one of them.
- Colour space conversion. RGB is converted to YCbCr — one brightness channel (Y) and two colour channels (Cb, Cr). Human vision is far more sensitive to brightness than colour, and this split lets the encoder exploit that.
- Discrete cosine transform. The image is divided into 8×8 pixel blocks, and each block is converted from pixel values into frequency coefficients — essentially, "how much fine detail versus how much broad tone is in this block."
- Quantization. Each coefficient is divided by a value from a quantization table and rounded. High-frequency coefficients get divided by larger numbers, so fine detail rounds away to zero first. This is the lossy step, and this is what the quality slider controls — it scales the quantization table.
- Entropy coding. The remaining coefficients are losslessly packed. All those zeros compress extremely well, which is where the file size saving comes from.
So the quality number is a scaling factor applied to a table of divisors. Quality 100 uses a table of mostly 1s — divide by one, lose almost nothing. Quality 50 uses much larger divisors. That's the whole mechanism.
The practical consequence: JPEG discards fine detail first. Texture, hair, fabric weave, film grain, and sharp edges degrade before broad areas of colour do. Skies and studio backdrops survive aggressive compression; a knitted jumper does not.
2. The Non-Linear Curve
This is the part that changes behaviour once you see it. File size does not scale proportionally with the quality number.
| Quality | Relative file size | Visible difference from original |
|---|---|---|
| 100 | 100% | — |
| 95 | ~60% | None |
| 90 | ~45% | None |
| 85 | ~35% | None at normal viewing |
| 80 | ~30% | None at normal viewing |
| 75 | ~26% | Very slight on gradients |
| 70 | ~23% | Slight softening of fine detail |
| 60 | ~18% | Noticeable on texture and gradients |
| 50 | ~15% | Clearly visible artifacts |
| 30 | ~10% | Obvious blocking |
Read the top of that table again. Dropping from 100 to 80 cuts file size by about 70% with no visible difference. Dropping from 80 to 60 saves another 12 percentage points and is visible.
The curve is steep at the top and flat at the bottom. All the free money is in the first move. Almost every oversized JPEG on the web is a quality-95-or-higher export, and almost every one of them could be 80 with nobody noticing.
Lighthouse encodes this directly: the "Efficiently encode images" audit re-encodes your JPEGs at quality 85 and flags anything meaningfully larger than the result. Export at 80–85 and that audit stops firing.
3. Quality Scales Are Not Comparable Across Software
"Quality 80" means different things in different tools. This causes an enormous amount of confusion.
| Software | Scale | Notes |
|---|---|---|
| libjpeg / mozjpeg / cwebp | 0–100 | The de facto standard scale |
| Photoshop "Save As" | 0–12 | 12 ≈ libjpeg 95–100; 8 ≈ libjpeg 80 |
| Photoshop "Export As" / "Save for Web" | 0–100 | Roughly aligned with libjpeg, not identical |
| GIMP | 0–100 | Aligned with libjpeg |
| Lightroom export | 0–100 | Maps to a different internal table; ~76+ is near-max |
| macOS Preview | Slider, unlabelled | Roughly 5 stops |
| Most online tools | 0–100 | Usually libjpeg-based |
Two implications:
- Photoshop's 0–12 scale trips people up constantly. Setting "12" because it sounds like a normal high number produces a file two to three times larger than necessary. Use 8.
- AVIF and WebP scales are not JPEG scales. AVIF quality 60 is roughly equivalent to JPEG quality 82. Comparing formats at the same numeric quality is meaningless — you have to calibrate perceptually.
4. Why 80 Is the Sweet Spot
Four independent reasons converge on the same range:
- Perceptual. Studies of viewer discrimination consistently find that the threshold where most people begin to detect JPEG artifacts on typical photographic content sits somewhere in the low 70s. Eighty leaves headroom above that threshold.
- Economic. The size-versus-quality curve has its knee around 80. Above it, you pay a lot of bytes for imperceptible gains. Below it, you save few bytes for visible losses.
- Tooling. Lighthouse targets 85. WordPress defaults to 82. Most CDNs default to the low 80s. Shipping at 80–85 aligns you with every automated check you'll be measured against.
- Robustness. At 80 you have enough margin that a downstream re-encode — a CDN transform, a social platform, an email client — won't push the image into visibly degraded territory.
The recommendation is a range, not a point: 80–85 for content images, 75–80 for thumbnails, 85–90 for detail-critical work.
5. Chroma Subsampling: The Hidden Second Setting
Quality isn't the only lever, and the other one is often set badly.
Because human vision resolves brightness more finely than colour, JPEG encoders can store the colour channels at reduced resolution. This is chroma subsampling.
| Mode | What it does | Size impact | When to use |
|---|---|---|---|
| 4:4:4 | Full colour resolution | Largest | Text, graphics, saturated edges |
| 4:2:2 | Colour halved horizontally | Medium | Compromise |
| 4:2:0 | Colour halved both directions | Smallest | Photographs — the default |
For photographs, 4:2:0 is essentially free — it saves meaningful bytes with no perceptible cost.
For images containing coloured text or sharp saturated edges, 4:2:0 causes visible colour bleeding, especially on red text against white. If you're compressing a screenshot with syntax-highlighted code, an infographic, or a logo with hard colour boundaries, either switch to 4:4:4 or — better — don't use JPEG at all. That's WebP or PNG territory.
Most tools set 4:2:0 automatically below quality 90 and switch to 4:4:4 above it. That's part of why files balloon above 90: you're paying for both a finer quantization table and full-resolution colour.
6. When to Deviate from 80
| Situation | Use | Why |
|---|---|---|
| Standard web photo | 80–85 | The default |
| Thumbnail, listing grid | 72–78 | Rendered small; detail invisible |
| Textiles, knitwear, upholstery | 85–90 | Weave detail is the buying signal |
| Jewellery, watches, fine engraving | 88–92 | Detail is the product |
| Food photography | 85–88 | Texture drives appetite appeal |
| Large flat gradients (skies, studio backdrops) | 85–88 | Banding appears earlier than blocking |
| Images with fine text | Don't use JPEG | Use PNG or lossless WebP |
| Print-quality download | 95+ or lossless | Different medium, different rules |
| Archival master | Lossless (PNG/TIFF) | Never store an only copy as JPEG |
| Blurred background placeholder | 30–50 | It's going to be blurred anyway |
The pattern: raise quality when fine high-frequency detail carries meaning, lower it when the image renders small or serves a decorative role.
7. Generation Loss: Why You Never Re-Save
JPEG is lossy every single time it encodes. Open a JPEG, make a small edit, save it as JPEG, repeat — and quality degrades on each pass, even at quality 95. The quantization rounding happens again from the already-rounded values.
This is why:
- You keep a lossless master. Shoot RAW or export a PNG/TIFF master, and generate JPEGs from it. Never treat a JPEG as your source of truth.
- You don't stack compression tools. Compressing an already-compressed JPEG in a second tool gives you two lossy passes for barely more saving than one pass at the correct setting.
- You watch for CMS re-encoding. WordPress re-encodes generated sub-sizes at quality 82 by default. If you upload a quality-82 file, the sub-sizes get a second lossy pass. Raising
wp_editor_set_qualityto 90 avoids stacking passes when you've already compressed properly. - Rotating a JPEG can be lossless — if the tool supports it. Some tools do lossless rotation on 8×8 block boundaries. Most just re-encode. Check before batch-rotating a library.
8. How to Find Your Own Threshold
Published numbers are a starting point. Your content and your audience's screens are the actual test.
How to calibrate quality for your images
- Pick three representative images from your worst case, not your best: one with fine texture, one with a large smooth gradient, one with a busy detailed scene.
- Export each at 95, 85, 80, and 72 from the same source, with everything else held constant.
- View them at the size users actually see them. Not zoomed to 200%. Most quality panic comes from inspecting images at magnifications no visitor will ever use.
- Check the gradient image specifically. Banding in a soft sky or studio backdrop is the earliest visible artifact and the one that appears well before blocking does.
- Then check any zoom view your site offers. If product images support pinch-zoom, evaluate at that magnification too — this is where compression genuinely matters commercially.
- Note the file sizes alongside. Decide whether the delta between 85 and 80 is worth whatever difference you can actually see.
- Pick the lowest quality where you see nothing, and make it your standard for that content type. Different categories can carry different settings — that's not overcomplicating it, that's correct.
- Test on a phone, not just a desktop monitor. Higher pixel density hides artifacts; smaller physical size hides them further.
Batch-processing at your chosen setting is straightforward — CompressFile.pro does it in the browser without uploading anything, which keeps the test loop fast enough that you'll actually run it.
9. Frequently Asked Questions
Is quality 100 lossless? No. Quality 100 still quantizes and still applies the DCT; it just uses a quantization table of mostly 1s. There is no lossless mode in baseline JPEG. If you need lossless, use PNG, lossless WebP, or TIFF.
Why is my quality-100 JPEG bigger than the original PNG? Because JPEG is optimized for photographic content. On flat-colour graphics, screenshots, or line art, PNG's lossless compression is genuinely better — and JPEG will also add visible artifacts around sharp edges. Wrong tool for the content.
Does lowering quality hurt SEO? The opposite. Smaller files improve LCP, which is a Core Web Vital. There is no ranking penalty for compression, and Lighthouse explicitly asks for it. The only risk is compressing so hard that user experience suffers — which is why the recommendation is 80, not 50.
Should I use the same quality for WebP and AVIF? No. The scales aren't comparable. WebP roughly tracks JPEG's scale; AVIF is much more aggressive — AVIF 60 is approximately JPEG 82. Calibrate visually rather than copying the number across.
What does mozjpeg change? It's a drop-in JPEG encoder that produces smaller files at the same visual quality than standard libjpeg, mainly through better trellis quantization. Same format, same compatibility, roughly 5–15% smaller output. Use it where you can.
Can I recover quality from an over-compressed image? No. The discarded coefficients are gone. Re-saving at a higher quality just makes a larger file containing the same damaged data. Always keep the master.
The Short Version
- The quality slider scales a quantization table. It discards fine detail first — texture before flat colour.
- The curve is steep at the top: 100 → 80 cuts file size ~70% with no visible difference.
- Quality scales differ by software. Photoshop's "Save As" 12-point scale: use 8, not 12.
- Ship 80–85 for content images, 72–78 for thumbnails, 85–90 where fine detail is the product.
- Never re-save a JPEG from a JPEG. Keep a lossless master and export from it every time.
Test three quality levels in under a minute — compress in your browser and compare for yourself.