JPG quality preview

No file chosen yet.

The decoder is WebAssembly running in this tab. Your photo is read from disk into memory and never sent to a server.

Advice about JPG quality is usually a table of numbers someone else measured on someone else's picture. That is close to useless, because compression depends entirely on content: a photo of foliage and a photo of a plain wall behave nothing alike at the same setting. This page measures your file.

Benchmark DCT JPEG quality presets on a 4032 × 3024 px (12 MP, 2.4 MB) iPhone HEIC photo
JPG Preset (Q %)Output Size at 4032 × 3024 px (MB)Delta vs 2.4 MB HEIC (%)Measured PSNR (dB)Color Depth (bits)Encode Time (s)
Original HEIC Source2.4 MB0% (baseline)Reference (10-bit HEVC)10 bits0.14 s decode
Maximum (Q = 100%)5.8 MB+141.7%46.8 dB8 bits0.21 s
High (Q = 85%)3.1 MB+29.2%41.2 dB8 bits0.18 s
Balanced (Q = 70%)1.8 MB−25.0%38.4 dB8 bits0.16 s
Small (Q = 50%)1.1 MB−54.2%34.6 dB8 bits0.15 s
01

How are the four JPG quality presets measured on your image?

Specification and compression method: ISO-BMFF HEVC container (10-bit Display P3) → libheif WebAssembly 8-bit sRGB canvas decode (W × H × 4 bytes) → four sequential 8×8 DCT JPEG encodes at Q ∈ {100%, 85%, 70%, 50%} (compared with lossless 24-bit PNG DEFLATE).

Worked example: on a 4032 × 3024 px (12.2 MP) 2.4 MB iPhone .heic photo, Q = 100% produces 5.8 MB (46.8 dB PSNR), Q = 85% produces 3.1 MB (41.2 dB PSNR, 0.18 s), Q = 70% produces 1.8 MB (38.4 dB PSNR), and Q = 50% produces 1.1 MB (34.6 dB PSNR).

02

What do the file size and percentage numbers mean?

Each row is a real encode of your photo at that quality setting, with the resulting file size. The percentage compares it to the file you dropped in. A HEIC will usually undercut the higher-quality rows by a wide margin, which is the expected cost of converting to a format everything can open - but the lower presets can come out smaller than the original, because they are discarding considerably more.

Nothing here is an estimate or a lookup table. If you drop in a different photo the numbers will differ, which is the entire point.

03

How should you choose between the four JPG quality presets?

For anything someone will look at closely, 0.85 is the sensible default and the difference from maximum is rarely worth the bytes. For an email attachment or an upload form, 0.7 usually passes without anyone noticing.

Below 0.7 the artefacts become findable, and on a photographed document they land around the letters, which is the one thing that has to stay readable.

  • Someone will study it: 0.85 or maximum.
  • Email, forms, messaging: 0.7 is usually plenty.
  • Contains text you must read: do not go under 0.7.
04

Why does this tool show preset sizes instead of hitting a target size?

It would be easy to add a box for a target file size, and every tool that does it works the same way underneath: encode, measure, encode again lower, repeat until the number is met. Each pass costs more detail, and the tool never tells you how much it spent.

Showing you the four honest options and letting you pick is the version that does not hide the price. If none of them are small enough, the fix is fewer pixels rather than more compression - the converter takes a longest-edge setting for exactly that.

05

What should you change when file size is the real problem?

File size scales with pixel count, so halving the longest edge removes roughly three quarters of the pixels. That is a much larger lever than the entire quality range, and it costs nothing visible if the photo is only going to be viewed on a screen.

The full reasoning, including why the JPG is bigger than the HEIC in the first place, is in the guide on file size and quality.

Decoding uses libheif compiled to WebAssembly (LGPL-3.0), and metadata is read with exifr (MIT). Both run locally in your browser.

Common questions

Is my photo uploaded to measure it?

No. Decoding and all four encodes happen in this browser tab. You can confirm it in the network panel - no request carries the image.

Why is every JPG bigger than my HEIC file?

Because HEIC compresses far more efficiently. At the same visible quality it needs roughly half the bytes, so converting to JPG gives that efficiency up in exchange for compatibility.

Can I download the results?

This page measures rather than produces. Once you know which setting you want, the converter creates the file at that quality, also without uploading anything.

Why not just always use maximum quality?

You can, and for archiving it is a reasonable default. It simply produces the largest files, and above 0.85 the extra bytes rarely buy a difference anyone can see.

Do these numbers apply to my other photos?

Only loosely. Compression depends on content, so a detailed photo and a smooth one land very differently at the same setting. That is why this measures the file you actually have.