CompressPhotosCompress photos

Compress JPEG Lighter JPEGs in one click.

Drop your JPEGs and download the same pictures at a fraction of the size.

or drop them here · paste with Ctrl+V

Free · No sign-up · Photos stay on your device

A mountain lake at sunset, snowy peaks reflected in the waterBefore · 3.6 MBAfter · 466 KB
87% smallerSame 3000 × 2000 photo
Quality
Size per file
Long edge
Format
Metadata
Nothing chosen yet.Auto Encoded on this computer

Keyboard shortcuts

Ctrl/⌘ O
Choose photos
Ctrl/⌘ Enter
Compress (or re-run what changed)
Ctrl/⌘ S
Save the results
Ctrl/⌘ Z
Undo (recipe, own recipes, left out, names)
Ctrl/⌘ Shift Z, Ctrl Y
Redo
1 2 3 4
Light, Standard, Strong, Custom quality
G / T
Grid or table
P R E D
Photo, Recipe, Export, Device panel
[ ]
Move the ceiling line a step down or up
X
Leave the picked photos out, or put them back
Esc
Clear the selection
Space
Pause or resume a running job
\ (hold)
Show the original in the Photo panel
Arrows, Shift+Arrows, Enter
Move, extend, open in the sheet
?
This sheet

Shortcuts never fire while you are typing in a field.

One quality number for every JPEG in the set, written by your browser's JPEG encoder, with the number printed on every row.

A measured example

Synthetic 4032 × 3024 test photo (gradients, shapes and grain), run by this build in Chromium 153 on 2026-10-23
RecipeCustom 76, written as JPEG, capture information kept
Before1.73 MB · 4032 × 3024 · JPEG
After787.8 KB · 4032 × 3024 · JPEG q76
Change−55.5%

What this does

Compress JPEG files at a quality number you can see: the desk starts at 76 and writes every file as JPEG, keeping the date and camera unless you remove them. The honest limit: this is your browser’s own JPEG encoder, so it does not offer progressive or chroma controls, and results differ by a few percent between browsers.

When to use this, and when not

Honest limits

  • Progressive scans, trellis quantisation and 4:4:4 colour are not offered in this build.
  • A JPEG already saved at a low quality usually cannot be made smaller by re-encoding; it is kept as it was and the row says so.
  • CMYK JPEGs (from print workflows) are left exactly as they are.

Privacy on this page

Capture information is kept by default here, because a JPEG library is often kept for its dates. Choose No place on the recipe bar to remove only the location, or Strip to remove all of it. See what a skip means for every row code.

Questions

What is the best JPEG quality number?
For photographs looked at on a screen, 70 to 80 is where most people stop seeing a difference side by side, which is why this page starts at 76. Below about 60 flat sky starts to band and fine text starts to ring. Use the slider in the Recipe panel, then hold the compare button on one photo: the number is the same for every file, so one check tells you about the set.
Why did a JPEG get bigger?
Because it was already compressed harder than the number you chose. Re-encoding a quality-60 JPEG at 76 spends bytes preserving the first encoder's blocks. With 'anything that came out bigger' switched on (it is, by default) the original goes into the ZIP instead and its row says grew.
Is it progressive? Can I choose 4:4:4?
Not in this build. JPEGs are written by your browser's own encoder, which decides progressive scans and colour subsampling itself; this page does not claim controls it does not have. The quality number, the size rule, the dimensions and the metadata are yours to set.
Can I make a JPEG smaller without re-encoding it at all?
Yes: switch on Lossless only in the Recipe panel, or use compress image without losing quality. The Huffman tables are rebuilt and metadata edited, every pixel stays the same, and the saving is small.
Are my JPEGs uploaded?
No. Each file is decoded and encoded inside this tab. The site has no upload address.

More on this site: all tools.

Other jobs

More ways to shrink a photo