Free & Private Image Compression Preset

Compress Image to 1 MB

Bring an image inside 1 megabyte — 1,048,576 bytes — with every step happening on your own device. This is the ceiling where the tool's behaviour matters more than its compression ratio: a file that already fits is returned byte-for-byte unchanged, and only a file over the line is searched down in quality. Our 1,387,124-byte PNG screenshot export came back as a 162,229-byte JPEG at the encoder's top quality setting, dimensions intact; a 910,460-byte PNG next to it was handed straight back. Both runs are measured in Chromium and shown in full below.

How to use this 1 MB preset

  1. Step 1: Add the File That Was Rejected

    Drop the image the form refused. Files stay in browser memory throughout, so the wait is bounded by your own hardware rather than an upload queue.

  2. Step 2: One Megabyte, Set For You

    Target File Size mode opens at 1 MB. The engine checks whether the input is already inside 1,048,576 bytes and, if it is, stops there and returns the original.

  3. Step 3: Take the File, Not the Filename

    Read the reported byte size on the result. A re-encoded image changes format — a PNG input becomes a JPEG or WebP name — so download the file the tool produced instead of renaming the old one.

Preset features & capabilities

Already Small? Nothing Happens

This is the behaviour people find surprising: an input under the ceiling is not touched. Our 910,460-byte PNG came back at exactly 910,460 bytes, still a PNG, because re-compressing an image that already complies only throws detail away.

Format Conversion Comes With the Ceiling

A 1,387,124-byte PNG screenshot became a 162,229-byte JPEG at quality 95% with the same 1376×768 frame. The container changes because a byte ceiling is enforced by a lossy encoder, and transparency is flattened to white unless you choose WebP.

Room for Real Camera Files

One megabyte is wide enough that a full-resolution photograph usually keeps its pixel dimensions. The engine still clamps any side above 4096 pixels first, then steps dimensions down by 10% only if quality alone cannot reach the ceiling.

Worked example

Input: Screenshot export real-converter-output.png from this repository: 1376×768 pixels, 1,387,124 bytes (1354.6 KB) — the one file in our set that genuinely had to shrink.

Output: After compression to a 1 MB target: 162,229 bytes (158.4 KB), dimensions 1376×768 pixels, quality 95%. That lands 886,347 bytes under the 1,048,576-byte ceiling, an 88% reduction on the original. WebP output for the same file measured 74,198 bytes at quality 95%. Second run: sample-photo.png at 910,460 bytes is already under the 1,048,576-byte ceiling, so the tool returns it unchanged (no re-encode, no extra quality loss).

Measured in real Chromium with the same engine this page runs. Quality 95% cleared the ceiling on the first attempt, so no dimension step and no lower quality setting were needed.

Honest limits & caveats (1 MB)

  • A file that is already under 1 MB is returned unchanged, so if you were hoping to make a compliant image smaller still, use a preset with a tighter ceiling — this page is about clearing one megabyte, not squeezing further.
  • Lossless PNG output is not on the menu. The engine writes JPEG or WebP, because promising an arbitrary byte ceiling on a lossless encode is not something a quality slider can deliver.
  • A phone photo that is several megabytes will need more than quality: the first clamp happens at 4096 pixels per side, and each 10% dimension step is visible in the output size shown next to your file.
  • Very large exports take time and memory on a phone. If a browser tab stalls on a multi-megabyte file, process one image at a time rather than a batch.
  • The numbers on this page come from committed sample files run through this engine. A high-noise scene, a 48-megapixel frame or a document scan with small print each behave differently, so check your own output before submitting it.

Tips for best results

  • If the destination accepts WebP, try it: our screenshot run produced 74,198 bytes as WebP against 162,229 bytes as JPEG, both at quality 95%.
  • Crop before you compress. Removing dead margin costs nothing, whereas every byte the encoder spends on background is a byte it cannot spend on the subject.
  • Never re-run a compressed file through this tool to make it smaller again — start from the original each time and pick a tighter target instead.
  • Video stills and film-grain photos are the worst case for any JPEG ceiling. If a one-megabyte still looks soft, that is the grain costing bits, not a fault in your upload.

Frequently Asked Questions (FAQ)

Is 1 MB 1000 KB or 1024 KB here?

The tool targets 1,048,576 bytes, which is 1024 × 1024. A destination that enforces exactly 1,000,000 bytes is stricter, and a file that sits between the two will pass here and fail there. When the wording looks precise, use a lower preset and read the byte count the panel reports.

Why did my image come back exactly the same size?

Because it already fitted. The engine returns the original file untouched whenever its size is at or below the ceiling, rather than decoding and re-encoding it for no reason. That protects you from a pointless generation of quality loss.

Can a 4K photo be compressed to 1 MB?

Usually with a visible cost. A frame that large is clamped to 4096 pixels on its longest side before the search starts, and if quality 30% still overshoots the ceiling the engine keeps stepping dimensions down by 10%. Expect a smaller picture, not merely a smaller file, and check the dimensions shown on the result.

Does this work on PDFs, videos or RAW files?

No. This page is the raster image compressor: JPG, PNG and WebP in, JPEG or WebP out. A document that needs to fit a size limit belongs to the PDF compressor, and a RAW file has to be exported to a standard image format first.

Files never leave your device; calculations and transformations happen locally.

Last reviewed: 2026-11-01