Compress JPEG photos

Drop JPEGs below and get smaller JPEGs back. Lossless repacks the file without touching a pixel; Smart finds the lowest quality that still matches each photo. Up to 16 MB as a guest or 32 MB with a free account. Free. No account, no watermark.

  • Stays a JPG
  • Lossless option
  • Quality searched per photo
Compression Level
None
No compression, only apply settings on image
Lossless
Without any visual change in the image quality
Ultra
Max compression with some quality loss
Smart
Balance between the image quality and compression
Change Format Will allow you to convert images to different extensions
Resize Will allow you to change the width, height or scale of images
Keep EXIF Will allow you to preserve meta data in images
Maximum file size is 16 MB per image and supported formats are: PNG, JPG, JPEG, WEBP, GIF, HEIC, HEIF, TIFF, TIF
Guests get 20 images a day, 20 left today. A free account gets 50 a day.
Delete this image?
The image and its optimized copy will be removed from storage. This cannot be undone.

Rename this image
Choose the name the optimized image downloads with. Its format stays the same.

Uploaded as

Rename the selected images
Each image gets this name and a number, counted in the order they were uploaded. Their formats stay the same.

Share this image
Choose the compression level that suits your images
Level What it promises What happens Pick it when
Lossless
Not one pixel changes in a JPEG, PNG or GIF The file is repacked, never re-encoded. JPEGs get an optimised Huffman table and progressive scan, PNGs a tighter deflate pass, GIFs a lossless gifsicle run. A lossy WebP has no repack step, so it is re-encoded at the highest quality the level allows. A sideways phone JPEG is rotated losslessly on the way through and keeps its colour profile. The one exception to the promise is a PNG or WebP tagged with a wide-gamut profile such as Display P3: its colours are converted to sRGB, so the values change but the picture doesn't. Logos, line art, anything you'll edit again, or when the file is evidence.
Smart
No visible change, targets 40 dB PSNR and a perceptual score of 70 A quality search runs per image and stops at the lowest quality that still clears the PSNR target. That answer is then scored on the SSIMULACRA 2 scale, because an average over every pixel lets a mostly flat picture through at a quality its detail doesn't deserve, and when it falls under 70 the search moves back up until it doesn't. Photos and graphics end up at different qualities because they need different ones; an image that cannot reach the targets inside the quality ceiling is encoded at the ceiling. Almost everything on a website. This is the default for a reason.
Ultra
Smallest file, targets 34 dB PSNR and a perceptual score of 50 The same two-stage search with lower targets. Fine texture softens a little; edges and text stay sharp. Thumbnails, backgrounds, email images, anything shown small or blurred anyway.
None
No compression at all Only the resize, conversion or metadata setting you chose is applied. An untouched upload comes back byte for byte. You only wanted to resize or convert, and quality is someone else's decision.

Measured, not estimated

What compression did to five real JPEGs

The five JPG photographs from our showcase, compressed as JPG at each level. The range is the point: the same level saves very different amounts on different photos.

Sample Original Lossless Smart Ultra
Fjord 1800 by 1200 832 KB JPG 786 KB 5.6% smaller 555 KB 33.3% smaller 317 KB 61.9% smaller
Raspberries 1800 by 1200 342 KB JPG 332 KB 3% smaller 56 KB 83.7% smaller 46 KB 86.5% smaller
Night skyline 1800 by 1200 427 KB JPG 408 KB 4.3% smaller 236 KB 44.7% smaller 107 KB 74.8% smaller
Canoe at dusk 1800 by 1200 387 KB JPG 375 KB 3.3% smaller 125 KB 67.6% smaller 68 KB 82.4% smaller
Café interior 1800 by 1200 356 KB JPG 347 KB 2.4% smaller 90 KB 74.6% smaller 75 KB 78.9% smaller

Sources are 1800 by 1200 JPGs at quality 92. Metadata stripped, no resize. The landscape is dense foliage and needs a high quality to hold the target, so it gives up the least.

How it works

Why one quality number doesn't fit every photo

Most compressors give you a slider. Set it to 80 and a foggy sky comes out well while a brick wall comes out rough, because the same number costs different photos different amounts. In our tests one photo held a 40 dB target at quality 61 and another needed 95.

So Smart measures instead of guessing. It encodes your photo at several qualities with jpegli, compares each result with your upload, and keeps the smallest that clears 40 dB PSNR. Then it checks that result on the SSIMULACRA 2 scale and moves back up if it scores under 70. Ultra does the same with lower targets. The quality search runs on images up to 36 megapixels and the perceptual check on images up to 8; anything larger is encoded at the level's ceiling.

Lossless is a different operation altogether. mozjpeg's jpegtran rebuilds the file's Huffman tables and rearranges it into progressive scans without decoding it. Not one pixel changes, and no lossy result is ever delivered if it would be bigger than that repack.

What survives

What a JPEG keeps when it's compressed

  • Every pixel, at Lossless

    The repack works on the file's coefficients, never on decoded pixels, so the image is bit-for-bit what you uploaded.

  • The right way up, losslessly

    A sideways phone JPEG is turned by moving its blocks, not by re-encoding, so turning it usually costs nothing. When the dimensions leave edge blocks that can't be moved whole, Lossless keeps the pixels as stored with the orientation tag, and Smart and Ultra turn them as part of their one encode.

  • A wide-gamut profile, at Lossless

    Nothing on the lossless path can convert colours, so a Display P3 profile stays in the file. Smart and Ultra convert it to sRGB.

  • Metadata, unless you ask

    EXIF is stripped by default: camera, exposure, GPS. Turn on Keep EXIF to keep it.

When not to

When it won't help much

  • The JPEG was already compressed hard for the web. There's little left to remove, and Iminify hands back your original when nothing beats it.
  • The image is a screenshot or a logo. Those don't belong in a JPEG; a PNG or WebP of the source is sharper and smaller.
  • You can change format. The same photo as WebP or AVIF is usually smaller again, as the JPG to AVIF page shows.

How to

Compress a JPEG in three steps

  1. 1

    Drop your JPEGs

    Change Format stays off, so you get JPGs back. Both .jpg and .jpeg are accepted.

  2. 2

    Pick a level

    Lossless if the file is evidence or a master. Smart for the web. Ultra for thumbnails.

  3. 3

    Compare, then download

    The Compare view reports the PSNR between your upload and the result.

Questions

JPEG compression questions

From the blog

Make your JPEGs lighter

Drop a photo and open Compare. The PSNR is right there next to the slider.