Compress Image: what this tool does
Compress one image or a batch with format, quality, maximum-dimension and optional file-size-goal controls, then compare actual bytes. The source is decoded and processed in the current browser tab; CalculatorGeek does not receive the image bytes.
This page owns the compress image online task. For the adjacent workflow, use Resize Image Converter, or return to the Image Tools Hub to choose another operation.
For the next related calculation, use the Convert JPG to PNG or WebP. Create PNG, WebP or browser-supported AVIF copies of JPG files, optionally limiting their maximum dimensions.
How to use Compress Image
- Choose a supported source image or enter the page-specific source content.
- Set the visible controls for this task.
- Inspect the processed preview, dimensions, format and measured byte size.
- Run the final action and download the result. Keep the original until you have checked the output.
To compare this result with another relevant method, open the Blur an Image Area. Use this related conversion when its inputs match the next part of your problem.
Method and result meaning
The browser draws the source at the selected maximum dimensions and encodes it in the chosen format. When a lossy file-size goal is entered, a bounded quality search keeps the highest tested quality that satisfies the byte cap when possible.
The result panel is the authoritative state for this session: it reports the rendered dimensions, encoded format and actual output bytes. The source file is never overwritten.
Which settings should you choose?
Choose settings from the destination requirement, not from a promise of universal quality.
- Use JPG or WebP plus a file-size goal when a portal or email has a hard KB limit.
- Use Keep dimensions when only encoding should change; choose a maximum dimension when the source is larger than its destination.
- Raise Minimum acceptable quality when detail matters more than reaching the requested byte cap.
Worked example
A 2400 x 1600 image with a 1920 px maximum becomes 1920 x 1280. A 200 KB JPG goal tests progressively lower quality values down to the chosen minimum and reports whether the encoded result actually met 200 KB.
After completing this task, Convert Image to JPG handles the next distinct image operation without mixing its settings into this page.
Privacy, supported files and limitations
PNG is lossless and cannot use the target-size search. A difficult photo may remain above the requested cap at the minimum quality, which is reported instead of silently reducing dimensions again.
Processing is local to the browser. Each input is limited to 25 MB and 80 megapixels, each output to 64 megapixels, and batch-capable tools accept up to 20 files. Animated inputs use the decoded still frame.
Inputs, outputs and result meaning
The browser draws the source at the selected maximum dimensions and encodes it in the chosen format. When a lossy file-size goal is entered, a bounded quality search keeps the highest tested quality that satisfies the byte cap when possible.
Inputs
- Source width
- Decoded source width in pixels. Supported units are px.
- Source height
- Decoded source height in pixels. Supported units are px.
Outputs
- Decoded source pixels
- This is the primary result. It is displayed in px. The display rule uses up to 0 decimal places.
The documented method is applied after the inputs are validated and normalized. Keep the result label, unit, selected mode, and stated limitations together when sharing the answer.
Frequently asked questions
Does compression change image dimensions?
Not when Maximum dimension is set to Keep dimensions. A selected maximum can downscale a larger source while preserving its proportions.
Does the target guarantee an exact file size?
No. The tool reports whether the maximum was met at or above your minimum quality; it never hides a missed target.
Sources and method transparency
The implementation and its stated limits were reviewed on October 14, 2026 against the following browser-platform documentation.
- MDN - CanvasRenderingContext2D.drawImage() - Documents the browser drawing, scaling and source-rectangle operation used by the image pipeline.
- MDN - HTMLCanvasElement.toBlob() - Documents browser canvas encoding and format fallback behavior.