Compress JPG
Choose a JPEG size target in KB, compare the result, and download without sending your photo away.
Choose JPG or drag & drop
JPEG files up to 100 MB
Runs locally in your browser. Nothing is uploaded or sent to a server.
Choose your JPG with Choose JPG or drag & drop, then set Target file size to get a JPEG compressed toward your chosen KB limit. Compression starts automatically for a single image, and preset changes rerun it from the original. Use Custom for a whole-number KB target, compare the before-and-after preview, and click Download. Processing stays on your device. Check the actual result size: very small targets can remain unreachable even at the minimum encoder quality.
Updated
Work on images right from any web page: the free Image Tools extension compresses, converts, resizes and crops a picture with a right-click. Add to Edge · Add to Firefox
Related Tools
Image Compressor
Compress images to 100KB, 200KB or 1MB in your browser. Cap width and height, convert JPEG, PNG, WebP, AVIF, strip EXIF. No upload, no sign-up.
image-toolsJPG to PNG Converter
Convert JPGs locally with solid-color transparency, proportional resizing, palette reduction and print DPI.
image-toolsPNG to JPG Converter
Convert PNG to JPG in your browser with no upload. Set quality, a target file size, max dimensions and batch names for up to 50 files, then download a ZIP.
image-toolsImage Resizer
Set pixel dimensions, scale by percentage, or enter print sizes with DPI, then choose how the image fits.
How do you compress a JPG to a target size?
Choose your JPEG, set Target file size, inspect the result, and click Download. A single image starts compressing as soon as it is selected. Rather than asking you to guess a quality percentage, the tool tries JPEG encodings against your byte target and keeps a fitting result when it finds one.
For a worked example, take an original of exactly 409,600 bytes. The automatic target calculation halves its size to 200 KB and selects the matching preset. That target is 204,800 bytes because the tool multiplies KB by 1,024. This arithmetic determines the target, not the eventual encoded size: the actual result depends on the picture and your browser's encoder.
| Setting | Target in bytes | Effect |
|---|---|---|
| 50 KB | 51,200 | Smaller byte budget; inspect detail carefully |
| 100 KB | 102,400 | Lower target than the automatic selection |
| 200 KB | 204,800 | Automatic selection for this original |
| Custom: 97 KB | 99,328 | Leaves room below a 100,000-byte limit |
The 500 KB and 1 MB presets are hidden for this example because they exceed the original's whole-KB size. If a hypothetical result is 196,608 bytes, the savings display rounds (409,600 − 196,608) ÷ 409,600 × 100 to 52%. This illustrates the display calculation, not a promised compression ratio.
How do presets and custom targets behave?
The full preset list is 50 KB, 100 KB, 200 KB, 500 KB, and 1 MB. Here, 1 MB means 1,024 KB. For a newly selected single image, the tool rounds half its size to KB, bounds that suggestion between 50 and 1,024 KB, and picks the nearest preset. It is a starting point rather than a recommendation about visual quality.
Select Custom for a different target. Enter a whole number, then press Enter or move focus away to commit it. Decimal text is parsed as an integer rather than used as a fractional KB target. Clearing the field does not launch a new compression, so the previous result stays visible. For ordinary files larger than 1 KB, committed values are capped at the original's whole-KB size minus one.
Changing a preset schedules another pass after a 400-millisecond delay. It reads the original selected file again instead of using the previous compressed download. This lets you compare targets without repeatedly recompressing an already reduced result.
How does the quality search work, and can it miss the limit?
The search begins with quality bounds of 0.1 and 1.0, so its first attempt uses 0.55. A result above the target lowers the upper bound; a fitting result raises the lower bound. It tries at most 10 search iterations and can stop earlier when a fitting file is less than 5% below the target.
That threshold is not a guarantee of exact size or globally optimal quality. The search can finish with a fitting result farther below the target. If none of those attempts fits, it encodes once more at 0.1 and returns that result even if it is still too large. The single-image card warns when the target was not reached. Read that warning before submitting the download elsewhere.
How does JPEG quality affect visible detail?
Achieved quality is the encoder setting shown as a rounded percentage. It is not the percentage of original detail preserved and does not predict a universal file size. Photos with different textures, noise, or edges produce different byte counts, so a preset cannot promise a particular visual result.
Compare the Original and Compressed preview, especially fine lettering, hair, foliage, and sharp boundaries. JPEG re-encoding is lossy; saving the reduced copy does not restore discarded detail. Keep the original separately when you may need another crop, a larger display, or further editing. Choose a larger target if the smaller result loses detail that matters for its intended use.
When should you resize before compressing?
This page changes encoding quality without passing a dimension limit to the converter. It does not automatically shrink a large photo to meet a small file budget. The interface shows a resizing suggestion when either dimension reaches 3,000 pixels, with a link to Image Resizer.
If the receiving form permits fewer pixels, resize a copy before returning here. Reducing dimensions gives the encoder fewer pixels to represent, but it cannot guarantee a particular output size or quality percentage. Check the destination's minimum width and height as well as its byte limit. Compression and resizing solve different constraints; a small file can still have the wrong dimensions.
Why can an email or upload form still reject the result?
A service's KB label may mean decimal thousands of bytes, whereas this tool uses multiples of 1,024. Leave margin when the destination's definition is unclear. A form can also require a particular format or dimensions; meeting the byte target alone does not satisfy those checks.
Email adds another distinction. MIME Base64 encoding, defined in RFC 2045, represents binary attachments with roughly one-third more characters, before line breaks and message headers. The JPEG download size therefore differs from the transmitted message size. Follow the receiving service's stated attachment rules rather than treating a JPG target as a prediction of total email size.
What happens to EXIF metadata and already-small files?
The current re-encoding path draws image pixels onto a canvas and creates a new JPEG without copying the original EXIF payload. The visible Keep metadata checkbox is not connected to metadata transfer in this tool. Do not use it as an archival preservation guarantee.
There is an important exception: if a single original already fits its target, the tool returns that file unchanged and displays Already under target. This avoids re-encoding but also leaves existing metadata untouched. It is not a metadata-removal operation. Verify metadata separately before sharing a photo when location or capture information matters.
Which files and download options are available?
The picker requests JPG/JPEG files and displays a 100 MB guidance hint. That hint does not guarantee that a large image will decode successfully on your device. The separate Batch compress control accepts up to 20 files; its interface offers individual downloads and a ZIP option for completed results. For a dependable fallback if a batch stalls, use the single-image flow.
The default output name ends in -compressed.jpg, and the single-image card lets you edit the filename before downloading. Image processing uses local browser decoding and canvas encoding; the compression path does not upload your photo. For other format or quality controls, open Image Compressor; for an explicit PNG conversion, use PNG to JPG.
JPEG Quality vs File Size: Technical Tradeoff Reference
| Format | Extension | Compression | Transparency | Animation | Browser Support | Typical Size |
|---|---|---|---|---|---|---|
| JPEG 90% | .jpg | Lossy - minimal artifacts | No | No | 100% | ~70% of original |
| JPEG 80% | .jpg | Lossy - moderate, visually clean | No | No | 100% | ~40% of original |
| JPEG 60% | .jpg | Lossy - visible DCT block artifacts | No | No | 100% | ~20% of original |
| WebP 85% | .webp | Lossy - minimal artifacts, alpha supported | Yes | Yes | 97%+ | ~25% of original |
How to Use Compress JPG
-
Choose JPG or drag & drop
Select a JPG or JPEG file, drag it into the drop area, or paste a compatible image from the clipboard. Single-image compression starts automatically with a target chosen from the file size.
-
Target file size
Choose an available preset to recompress from the original. Options are 50 KB, 100 KB, 200 KB, 500 KB, and 1 MB; presets at or above the original's whole-KB size are hidden.
-
Custom
Select Custom and enter a whole-number KB target. Press Enter or leave the field to apply it. Check the resulting file size and any target-not-reached warning before downloading.
-
Download
Review the Original and Compressed preview, size reduction, and Achieved quality. Adjust the filename if needed, then click Download. Click Compress another to start again.