Skip to content
brownie.tools

Compress PNG

Re-encode PNG locally, compare the result, and keep the original whenever it is smaller.

Choose PNG or drag & drop

PNG files up to 100 MB

or

Runs locally in your browser. Nothing is uploaded or sent to a server.

Choose a PNG with Choose PNG or drag & drop to compress it automatically, then click Download to save the result. Processing runs on your device through a lossy WebP pass at quality 0.85 followed by PNG encoding. Compare the preview before using the output: pixels can change. If the new file is equal in size or larger, the original is kept. Batch compress (up to 20 files) provides individual downloads and a ZIP option.

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

How do you compress a PNG and check the result?

Choose your file with Choose PNG or drag & drop, wait for automatic processing, compare the Original and Compressed preview, then click Download. The tool tries a new encoding and keeps it only when its byte size is smaller. Your image is processed locally; the compression path decodes and encodes image data in your browser without sending the file to a server.

The output remains a PNG, but the method includes a lossy WebP intermediate at quality 0.85. That distinction matters for screenshots, logos, and artwork where exact colors or sharp letter edges matter. A smaller file is useful only if its appearance still fits your purpose. Keep your source separately and inspect the comparison before replacing a published asset or an editable master.

How is the percentage reduction calculated?

The displayed reduction is the nearest whole number from ((original bytes − output bytes) / original bytes) × 100. Saved bytes are the original size minus the retained output size. The following is a worked arithmetic example using hypothetical encoder results, not a prediction of what every PNG will achieve.

Example outcomes for an original PNG of 800,000 bytes
Re-encoded candidateRetained downloadBytes savedDisplayed reduction
600,000 bytes600,000 bytes200,00025%
772,000 bytes772,000 bytes28,0004%
820,000 bytes800,000 bytes, original kept00%

In the middle row, 3.5% rounds to 4%. The tool keeps that smaller candidate despite the modest saving. The single-result panel suggests converting to WebP when the rounded reduction is below 5%; it does not reject all results below that threshold. In the final row, the download contains the original bytes rather than the larger candidate.

Is this PNG compression lossless?

PNG encoding itself is lossless, but this complete workflow is not guaranteed to be. First, the image is decoded and encoded as WebP with the fixed quality argument 0.85. Second, that WebP is decoded and encoded as PNG. Saving altered pixels in a lossless container preserves the altered pixels; it cannot recover source detail discarded by the intermediate encoding.

There is no quality control on this page. The method explanation in the interface describes a lossless re-encode, but the actual encoding path includes that lossy step. Treat the preview as a review aid rather than proof that pixels match. For archival images, exact color references, or graphics used in automated pixel comparisons, retain the original unless you have independently checked the output.

Why are some PNG files harder to shrink?

Under the PNG specification, image data uses lossless compression. Flat backgrounds and repeated patterns often compress differently from textured photographs or noisy gradients. The source encoder, pixel content, and auxiliary data all affect the starting file. This tool does not measure those contributions separately and cannot promise a fixed percentage reduction.

Already compact files can grow when decoded and encoded again. The Already optimal message means only that this particular candidate was not smaller. It is not an exhaustive test of PNG compression strategies. The original is also kept when sizes are equal. Repeatedly processing an output offers no guaranteed benefit and may introduce further changes through the lossy intermediate.

What happens to PNG metadata and transparency?

The encoder creates a new image from decoded pixels instead of copying the source file's auxiliary chunks. The metadata detector recognizes eXIf, iCCP, tEXt, iTXt, zTXt, and bKGD chunk names. These cover EXIF, embedded profiles, text, and background declarations. Its scan is limited to the first 65,536 bytes, so a negative detection does not establish that the entire source is metadata-free.

Neither encoding pass requests a solid background color, allowing transparent output. Nevertheless, compare semitransparent borders and colored edges visually. Avoid assuming that every pixel or color profile survives unchanged. If the size guard returns the original, all original data, including any embedded metadata, remains. This page therefore does not guarantee metadata removal from every download and should not be treated as a metadata erasure certificate.

How does batch compression work?

Use Batch compress (up to 20 files) for a group; the ordinary drop area handles its first file. The batch picker takes the first 20 files from each selection. Choose Add more to append another selection. Processing starts when you click the Compress button, whose label includes the pending count, and runs through the queue one image at a time.

Each file gets its own smaller-output check. Download completed images individually, or use the count-based Download ZIP button once at least two have completed. The archive is named compressed-pngs.zip; output filenames end in -compressed.png. Failed items are excluded from completed downloads. Compress more files resets the batch, so save the results you need before starting over.

What size limits and image cases should you check?

The upload area advertises PNG files up to 100 MB, but its current selection path does not enforce a byte-size check. Treat that text as guidance rather than a guaranteed rejection boundary or a promise that large files will succeed. Decoding and two encoding passes require browser resources, and available memory affects which images your device can process.

The conversion uses decoded image dimensions without requesting a resize or background fill. It does not implement an animation-frame workflow; use a static PNG when you need predictable results. Empty input is rejected by the conversion engine. If processing fails, try a smaller source image rather than assuming that changing its filename repairs the underlying image data.

When should you resize or switch to WebP instead?

Keep PNG output when the receiving application requires that extension and the preview is acceptable. The PNG to WebP converter is a separate route when your destination accepts WebP. This page converts its intermediate back to PNG, so it does not offer a direct WebP download or guarantee the size of that alternative.

For a strict upload limit, this tool has no target-KB setting. Use Image Resizer when reducing pixel dimensions is acceptable, or review the controls in Image Compressor for a different compression workflow. Check the destination's allowed formats first, then verify both the downloaded size and appearance before submitting it.

How to Use Compress PNG

  1. Choose PNG or drag & drop

    Select one PNG, drop it onto the upload area, or paste an image with Ctrl/Cmd + V. Single-file compression starts automatically.

  2. Batch compress (up to 20 files)

    For multiple images, use this separate picker. With three files selected, click Compress 3 files to start the queue; the button count follows your pending files.

  3. What was optimized?

    Review this explanation alongside the size results. For a single image, compare Original and Compressed in the preview. The WebP intermediate uses quality 0.85, so the resulting PNG is not guaranteed to match the source pixels.

  4. Download

    Save the single result with Download, optionally changing its filename first. With two completed batch results, Download ZIP (2 files) saves both together; its count follows the number completed. Use Compress another to return from a single result.

Frequently Asked Questions