Truly lossless: PNG, WebP, GIF
These formats can be re-encoded so that every pixel is identical. A PNG written by a quick screenshot tool is often 10–30 % larger than it needs to be; ConvertX's "Exact quality" mode rewrites it with better compression and nothing else changes.
Not lossless: JPG, HEIC, AVIF
JPEG and its modern relatives are lossy by design. There is no way to make a JPG smaller without re-encoding it, and re-encoding always discards something. ConvertX is honest about this: in "Exact quality" mode a JPG is left untouched unless you resize it, and HEIC is saved as a maximum-quality JPG.
The practical answer is the Light preset: the loss exists but is below what you can see at normal sizes. Keep the original if you might compress again.
Resize first, then compress
A 12-megapixel photo is 4000 pixels wide. No screen shows that. Setting a maximum width of 2048 px cuts the file by about 75 % before any quality setting is applied, and the result still fills a 4K display. For messaging, 1600 px is plenty.
Which preset
- Light: best quality, modest savings. Printing and editing.
- Balanced: good quality, smaller files. The default for sharing.
- Strong: much smaller, visible on zoom. Thumbnails and previews.
- Maximum: smallest files, lower quality. Only when size is all that matters.
Step by step
- 1
Open Image Compressor
On the Home screen, tap Image Compressor.
- 2
Select the images
Tap "Select image files" and pick the photos or graphics.
- 3
Choose the mode
Pick "Exact quality" for a lossless result (PNG, WebP, GIF), or "Smaller files" with the Light preset for photos.
- 4
Check the estimate
Read the estimated size for one file. If it isn't small enough, set a maximum width before touching the quality.
- 5
Run the batch
Tap "Compress N images" and collect the results from the Library.
Frequently asked questions
Can I compress a JPG with zero loss?
No format tool can. Resizing is the lossless-feeling alternative; the Light preset is the invisible one.
Does ConvertX upload my photos to compress them?
No. Everything runs on the device; the app has no server.
Why is the estimate different from the final size?
The estimate is computed on one file; the batch total depends on each image's content.