Kilomill

Kilomill Compress JPEG

Compress JPEG files

Shrink JPG photos with MozJPEG, the encoder Mozilla built to make JPEG files smaller than standard libjpeg at the same visual quality. The output stays a normal JPG that opens everywhere.

  • No upload: runs in your browser
  • Batch + ZIP download
  • No sign-up, no watermark

Drop images here

or paste from the clipboard · JPG, PNG, WebP, AVIF, HEIC, GIF, BMP · no upload

Output format
File size

For JPG, WebP and AVIF. 70–80 is hard to tell from the original. PNG uses smart colour reduction instead (see Advanced).

KB
KB

Aims at or below the maximum counting 1 KB = 1,000 bytes, so the file passes whether a site counts 1,000 or 1,024 bytes per KB.

Dimensions

Leave one box empty to keep the proportions.

%
px
Advanced
PNG output
dpi

Metadata (EXIF, GPS location, camera details) is removed from every output file.

Choosing a JPEG quality

JPEG quality is a number from 1 to 100 that controls how coarsely the image is approximated. It is not a percentage of the original: quality 75 does not mean “75% of the detail”. The file size falls steeply from 100 to about 85, then more gently. Below about 50, blocky 8×8 patches and halos around edges become visible.

JPEG quality guide
QualityTypical useWhat you may notice
90–95Archiving, printing, further editingPractically identical to the original; files stay large.
75–85Websites, email, social mediaHard to tell apart at normal size; the usual sweet spot.
55–70Thumbnails, strict upload limitsSlight softness and blotches in skies and skin.
30–50Forms with tiny KB limitsVisible blocks and colour bleeding around text and edges.

What MozJPEG does differently

  • Trellis quantisation picks, for each 8×8 block, the coefficients that cost the fewest bits for the error they introduce.
  • Progressive encoding with optimised scan order: the file is usually smaller and appears gradually while it loads.
  • Optimised Huffman tables are built for each image instead of using the generic default tables.
  • Chroma subsampling stores colour at half resolution (4:2:0) below quality 90, which the eye barely notices in photos; at 90 and above colour is kept at full resolution.

The output is a standard baseline-compatible progressive JPEG. Every browser, phone, Windows, macOS and image editor can open it.

Don’t compress the same JPEG over and over

Each time a JPEG is decoded and saved again, a little more detail is lost, and the file rarely gets much smaller after the first pass. Keep your original, and compress from it once, at the size you need. If a JPEG is already efficient, Kilomill keeps the original rather than handing you a bigger file.

Sideways photos and hidden data

Phones often save photos sideways and add an orientation tag. Kilomill applies that rotation to the pixels before compressing, so the result is upright everywhere, and then drops the EXIF data (including GPS location) from the output.

Questions and answers

What is the difference between JPG and JPEG?

None. They are the same format; “.jpg” comes from older Windows versions that allowed only three-letter extensions. Kilomill saves files as .jpg.

What quality should I use for a website?

Start at 75. If you can see blotches in smooth areas such as sky or skin, try 80–85. For large hero images also resize them: a 1600–2000 pixel wide photo is enough for most layouts.

Can I get a JPEG under a specific size?

Yes. Switch File size to Target size (KB) and enter the limit. Or use the presets for 100 KB, 50 KB and 20 KB.

Is this lossless JPEG compression?

No. MozJPEG re-encodes the image, which is lossy, but at quality 80 or above differences are very hard to see. If you need lossless output, save as PNG instead (files will be larger).

What happens to EXIF data and GPS location?

Every output file is re-encoded from the pixels, so EXIF metadata such as GPS location, camera model and capture time is not copied into it. The photo is turned upright first, so removing the orientation tag does not leave it sideways.

Are my images uploaded to a server?

No. The images are read and compressed by code running in this browser tab, and the results are created in your device’s memory. Nothing is sent anywhere, which you can confirm in your browser’s developer tools (Network tab) while you work. See Privacy.

Compare

OriginalResultOriginal Result

Crop & rotate

Image to crop