File size scales with pixel count, and the relationship is quadratic. Double the width of an image and you quadruple the number of pixels. That quadrupled data sits in the PNG file before any compressor touches it. To know how to compress png image size you must first see whether the image is larger on screen than it needs to be. A web image displayed at 800 pixels wide but stored at 3000 carries roughly fourteen times the pixel data anyone will ever see. That ratio is the single largest lever you have.

PNG compression is always lossless. It works in two stages. First the encoder picks one of five filter types (None, Sub, Up, Average, Paeth) that predicts each pixel from its neighbours and stores the difference. Then DEFLATE, the same algorithm zlib and ZIP use, compresses those filtered bytes. Flat colour, sharp edges, and repeated patterns make the prediction correct. The differences are mostly zero, and zeros compress to almost nothing. Photographic sensor noise makes the prediction wrong nearly every time, giving small random differences that are close to incompressible. That is the whole reason photos are huge as PNG.

An image displayed at 800 pixels wide and stored at 3000 carries roughly fourteen times the pixel data anyone will see.

Reduce PNG Dimensions: the Rule for What a Web Image Actually Needs

To reduce png dimensions you need a target. The rule is simple. For high density screens serve about twice the display width. Roughly 2560 pixels on the long edge covers full screen use. A blog image needs about 1600 pixels. Any dimensions beyond those numbers are pixels you pay for in file weight and that no viewer will see.

Resize Before Compress

Resize BEFORE compressing. Compressing pixels you are about to discard is wasted work, and the compressor performs better on the smaller image. The compressor has fewer rows to filter, fewer bytes for DEFLATE to scan, and the smaller pixel grid produces cleaner predictions. Run your resize first, then apply your compression tool.

The Right Resize Tools

On macOS open Preview and choose Tools, Adjust Size. That changes pixel dimensions. This is the real saving available in Preview. On Windows open Paint, select Resize on the Home tab (Ctrl+W), change dimensions, then save as PNG. In Photoshop use File, Export, Export As and set the Image Size values in the panel itself. In GIMP go to Image, Scale Image. Each of these resizes the pixel grid before the file is written.

Resize vs Compress PNG: Which One First?

The question resize vs compress png comes down to a single principle: always resize first, then compress. Here is why. Suppose you have a 3000 pixel wide screenshot that you will display at 800 pixels. If you compress the 3000 pixel version, your compressor works on 9 million pixels. After compression you resize the file to 800 pixels wide, which is about 0.64 million pixels. You paid for compression of 8.36 million pixels you just threw away. Worse, the compressor optimises patterns at the larger scale that do not survive the downsample. The result is a file that is both larger than necessary and no better looking than a file resized first.

When resizing is the wrong move. If the image is already at or near its display dimensions, resizing does nothing. If the image contains text, line art, or sharp edges that need every pixel to stay crisp, resizing below the display resolution introduces blur. In those cases do not resize. Apply lossless optimisation or palette reduction instead.

To compress a PNG, the cheapest order is: strip metadata losslessly, then reduce the palette in steps, then reduce dimensions, then change format.

What Lossless Optimisation Actually Does

Lossless optimisation searches harder for the best filter per row, re runs DEFLATE at maximum effort, and strips metadata chunks. The decoded pixels are identical to the original. Typical saving is 5 to 15 per cent. Sometimes zero on an already optimised file. Re encoding can produce a larger file than the original; a correct tool returns the original in that case.

Metadata chunks such as tEXt, iTXt, eXIf, and iCCP colour profiles can be stripped losslessly. On macOS ImageOptim bundles several lossless optimisers. On the command line optipng and zopflipng do the same work. None of these tools change colour count or dimensions.

Palette Reduction: the Lossy Option That Usually Works

Palette reduction rebuilds the image from an adaptive palette of typically 256, 128, or 64 colours chosen from the colours actually present. Two compounding effects happen. Each pixel needs 7 or 8 bits instead of 24 or 32, and thousands of near identical shades collapse into one entry, creating exactly the repetition DEFLATE feeds on.

Savings by image type. UI screenshot: 70 to 85 per cent. Logo, icon, or line art: 60 to 80 per cent. Chart or diagram: 70 to 80 per cent. Illustration with gradients: 40 to 65 per cent. Photograph stored as PNG: 40 to 70 per cent. Already optimised PNG: 0 per cent. Compare that to lossless only savings of 5 to 15 per cent for screenshots and 0 to 5 per cent for photographs.

PNG Palette Reduction Failure Modes

The visible failure mode is banding in smooth gradients. A soft fade needs many closely spaced colours to look continuous. The second failure mode is a stair step fringe on semi transparent edges. The soft alpha band around a rounded logo needs enough palette entries or it snaps into discrete steps. Worst on curves and diagonals. A gentler setting fixes it.

Palette reduction cannot be undone. Keep the original and compress a copy.

Realistic Target File Sizes

Target SizeHow to Reach ItLimit
500 KBStrip metadata, reduce palette. Easy on most screenshots and graphics.No visible change on a typical graphic.
200 KBAdd palette reduction on most images. May need slight downscaling on large files.Easy on most images.
100 KBAdd slight downscaling. Palette reduction already applied.Achievable.
50 KBDownscale large images. Palette reduction already applied.Only for small or simple images.
25 KBSmall images only. Simple graphics or icons.Only for small or simple images.
Below 50 KB (photo)Downscale heavily. Honest answer is change format to JPEG.Photograph as PNG cannot go below ~50 KB without severe quality loss.

Colour Types, Bit Depth, and Other Settings to Check

PNG 8 uses an indexed palette with a maximum of 256 colours. PNG 24 is truecolour with no alpha. PNG 32 is truecolour with an 8 bit alpha channel. Palette PNGs carry transparency in a tRNS chunk, one alpha value per palette entry. Bit depths of 1, 2, 4, 8, and 16 bits per channel exist. A 16 bit export is twice the data of 8 bit and is invisible on screen. Never export a web image at 16 bit unless you need it for print.

Adam7 interlacing makes a PNG progressively load but increases its size. Skip it for web use.

Photoshop: The One Checkbox

File, Export, Export As, choose PNG. The panel has a Smaller File (8 bit) checkbox. Tick it. That switches to a 256 colour indexed palette. It is exactly palette reduction. For finer control use File, Export, Save for Web (Legacy). That gives a Colors dropdown (2 to 256), a Dither slider, and a live file size readout. That is where you go below 256 colours in Photoshop.

GIMP: Compression Level Slider

File, Export As, type a .png filename, and the PNG dialog appears. It has a Compression level slider from 0 to 9. It is entirely lossless. Level 9 is slower and slightly smaller. It does not reduce colours. For real reduction go to Image, Mode, Indexed, choose Generate optimum palette, set the maximum number of colours, then export. GIMP's Export As is the correct route. File, Save writes GIMP's own .xcf format.