Image Compressor
Share tool
Only this public address is included. Your files, inputs and results stay out of the link.
Compress images locally and choose a maximum file size or pixel dimensions. The export is checked against your settings, and any unmet size target is clearly reported.
Preparing your tool…
A visual example
Two limits, two separate checks
A square upload can keep the full picture or deliberately crop it.
- 400 × 400 pxFull picture + padding
Keep the full picture
For a 1,600 × 900 source and an exact 400 × 400 target, padding preserves the entire image.
- 400 × 400 pxSelected square crop
Or choose a crop
A square crop fills the target. Check which parts at the sides are left out before processing.
- Checked: Exact 400 × 400 target
- Unchecked: Byte limit still to check
Then check the file size
A 200 KB ceiling means 200,000 bytes. Only the actual export can show whether that target is met.
Exact dimensions stay fixed, even when the requested byte limit cannot be reached.
Illustrative example. Schematic picture example, not your file or a promised compression result. KB and KiB are different units.
Read the practical guide and worked example
How to use it
- Choose image requirements, PDF byte limit, or the existing image quality workflow.
- Select the source or a synthetic example. For images, confirm format, maximum bytes and whether pixel dimensions are maximum bounds or exact width and height.
- Keep the full image with padding, or explicitly choose and review a crop. Choose white/black background, or transparency for PNG/WebP. For PDF, explicitly confirm the separate image-only rebuild.
- Process and compare the actual encoded preview with the original. Download only a passing result; revise an unreachable target and retry.
200 KB is exactly 200,000 bytes; 200 KiB is 204,800 bytes. For an exact 400 × 400 output, preserve the full image with padding or explicitly crop to the square. A failed byte target never silently reduces those exact pixels.
Details & limits
Upload-limits images: PNG/JPEG/WebP and supported HEIC/AVIF up to 10 MiB / 20 MP / 8,192 px. Keep the full image with padding or explicitly crop; exact pixel sizes stay fixed. This mode reopens image exports to check format, pixels and bytes. Simple compression accepts PNG/JPEG/WebP within the same input limits, checks the output header for format and dimensions, and displays the actual size. PDF: up to 10 MiB / 10 pages, rebuilt as image-only pages after explicit confirmation.
Can every upload limit be met?
No. In upload-limits mode, images use at most 24 encoding attempts; only maximum-bound mode may try smaller dimensions when you allow it. Exact width and height remain fixed. Padding is the default, cropping is explicit, and the workflow does not upscale. JPEG needs a white or black background. Supported HEIC/AVIF still inputs reuse the bounded decoder path; output encoders are probed, and unsupported animation or multi-image variants are rejected. This mode reopens image exports to check format, pixels and bytes. Simple compression checks the output header for format and dimensions and displays its actual size. Source metadata is not copied, but 8-bit sRGB export does not guarantee HDR, ICC or wide-gamut preservation. The separate PDF mode uses at most six attempts and loses searchable text, vectors, forms, links, attachments and signatures while retaining page order and physical dimensions. Passing technical limits does not guarantee acceptance by every portal.
Match the requirement that actually blocks your upload
An upload can fail because of file size, pixel dimensions or format. These are separate requirements: lowering JPEG quality changes encoded bytes but does not turn a landscape picture into the required portrait shape. Read the destination's requirements before choosing a mode.
A photo must be under 150 KB
Use the upload-limits mode for a definite byte ceiling, rather than guessing a quality percentage in simple compression. A 150 KB ceiling means 150,000 bytes; 150 KiB means 153,600. Use the unit actually requested. If the portal also specifies a format, select that format even if another one could make a smaller file.
The upload also needs exactly 450 × 600 pixels
For a 1,200 × 800 landscape source, keeping the full image places a 450 × 300 picture inside that portrait canvas, with space above and below. Cropping fills the canvas but removes part of the source. Choose based on whether losing the edges is acceptable, then inspect the subject's placement. Exact dimensions remain fixed while the tool tries to meet the byte target.
Check your result
- Read the actual exported byte size and pixel dimensions together; a smaller-looking preview is not a size measurement.
- Check small lettering, faces and crop edges in the encoded result, not only in the original preview.
- Keep the original and try the result at its intended destination; meeting the entered technical limits does not validate unrelated portal rules.
If something looks wrong
No result meets the byte ceiling
Review which requirement can change. Permit smaller dimensions only if the destination accepts them, or use another permitted format. Repeating the same exact-size request cannot guarantee a smaller result.
A transparent logo gets a background
JPEG cannot retain transparency. Use PNG or WebP if accepted, or deliberately select a suitable solid background and check the edges against it.