Compress Image to 1 MB
Compress any image down to 1 MB or under automatically, entirely inside your browser.
How compressing to 1 MB works
Each uploaded image is redrawn onto a canvas and re-encoded at a quality level chosen automatically to land at or under 1 MB — the tool tests multiple quality levels and picks the highest one that still fits the target, so the result stays as sharp as possible while meeting the size limit. If quality alone can't reach 1 MB, the image is also scaled down slightly and re-tested until it fits.
Because a fixed target size needs a quality dial to work with, the output is always saved as JPEG (or WebP if that was the original format) — PNG sources are converted, since a lossless format can't be quality-tuned down to a specific byte size.
GuideHow to use it
Features & benefits
Why this runs entirely in your browser
Compression happens using the browser's own Canvas API to redraw and re-encode the image locally, so the original file never leaves the device — there's no upload to wait on and no server storing a copy.
Common uses
Getting a photo under a file-size limit for an upload form, application, or email attachment, shrinking a screenshot before sharing it, or reducing page weight for a website image.
Frequently asked questions
A few things people usually want to know before trusting the numbers.
In almost all cases, yes. If an image can't be brought under 1 MB through quality and resizing alone, the tool returns its smallest possible result and the file list shows the actual output size.
Hitting an exact target file size needs an adjustable quality level, which PNG's lossless compression doesn't offer — so PNG sources are converted to JPEG (or kept as WebP) to reach the target.
Only if needed. The tool first tries to reach the target through quality alone; dimensions are only reduced slightly, as a last resort, for very small targets on large source images.
Yes, up to 20 at a time — each one compresses automatically as soon as it's added to the queue.
No. All compression happens locally in your browser. Nothing uploaded here is sent to a server, stored, or shared.