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.
What the 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.
Choosing between them
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.
Why this shows sizes instead of hitting one
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.
When 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.