You have a PNG file open, a form demands it be under a specific size, and the usual advice is useless. This is constrained optimisation. You need to hit a ceiling, not shrink a file for the sake of it. The order of operations matters: do the cheapest thing first, the costlier one later, and never touch what you do not have to. The exact question is how to compress png to 100kb, and the answer is a sequence of discrete steps, each with a predictable result.
Strip Metadata Before Lossless Compression
Start with lossless stripping. PNG carries metadata colour profiles, timestamps, comments, and gamma tags that the display ignores. Strip them and the file shrinks for free. On macOS Preview you cannot strip metadata, so use ImageOptim or the command line. On Windows Paint does nothing, Photoshop and GIMP have checkboxes in the export dialog. Tick them.
Lossless optimisation comes next. Running optipng or zopflipng on the file searches harder for a better filter per row and re runs DEFLATE at maximum effort. Typical saving is 5 to 15 per cent. If the file was already optimised, saving is zero. The tool is safe to run repeatedly, it never degrades pixels. This step is free in every sense except time.
Compress a PNG to 100KB
Now the real work begins. For a screenshot, UI element, or graphic, palette reduction is the lever that gets you to 100KB. You cut the colour count from 16.7 million to 256, 128, or 64 colours. Two things happen: each pixel needs 8 bits instead of 24, and thousands of near identical shades collapse into one entry, creating the repetition DEFLATE feeds on. Total saving for a screenshot is 70 to 85 per cent.
In Photoshop, open File > Export > Export As and tick Smaller File (8 bit). That switch to a 256 colour indexed palette. For finer control use File > Export > Save for Web (Legacy), set the Colors dropdown to 128 or 64, and watch the live file size readout. In GIMP, go Image > Mode > Indexed, choose Generate optimum palette, set the maximum number of colours, then export. On the command line use pngquant 256 image.png.
If the image is a photograph stored as PNG, palette reduction helps but not enough. A photo with sensor noise defeats prediction, and even a 256 colour palette still leaves a large file. At that point you need to reduce dimensions. An 800 pixel wide image stored at 3000 pixels carries fourteen times the data anyone will see. Resize to the display size, or for high density screens to about 2560 pixels on the long edge. In Preview use Tools > Adjust Size. In Paint use Resize on the Home tab. In Photoshop set Image Size in the Export As panel. Resize before compressing, not after.
If the file is still above 100KB, the honest answer is to change format. A photograph as JPEG at quality 85 is roughly one tenth the size of the same photo as PNG with an invisible quality difference. JPEG has no alpha channel, so a transparent PNG must be flattened onto a solid colour usually white. WebP lossless is about 26 per cent smaller than PNG and supports full alpha, but some older applications cannot open it. If the form accepts JPEG or WebP, use them.
How to Compress PNG to 50KB
Fifty kilobytes is a tight target. For a screenshot or logo, start with palette reduction to 128 or 64 colours and downscale to about 600 pixels on the long edge. The combination of colour reduction and dimension cut will land most graphics under 50KB. For a photograph stored as PNG, 50KB means significant downscaling, down to roughly 400 pixels wide, or switching to JPEG at quality 70. Do not expect a 2000 pixel photograph to fit 50KB as PNG. If the form demands PNG and rejects everything else, you need to resize the image to a thumbnail.
How to Compress PNG File to 200KB
Two hundred kilobytes is generous. A screenshot or UI graphic at full resolution with palette reduction to 256 colours will land under 200KB easily, often without any visible change. A photograph as PNG at 200KB is possible at moderate dimensions, around 1000 pixels wide, but only after palette reduction and lossless optimisation. If the image is a large photograph at 3000 pixels, you need to resize first. Start with lossless stripping, then palette reduction to 256 colours, then resize if needed. The 200KB target is the one where most images succeed without format conversion.
Realistic File Size Targets for PNG Compression
Here is the blunt truth about what each method can achieve. Palette reduction cannot be undone, so always compress a copy. Lossless re compression is safe to repeat, but running palette reduction a second time on an already reduced file gives worse results than going to the low colour count once. Settings move in discrete steps, so the output often lands well under the requested ceiling rather than exactly on it.
| Target | Screenshot or Graphic | Photograph as PNG |
|---|---|---|
| 500 KB | Easy, no visible change. Lossless strip only. | Easy, may need slight downscale. |
| 200 KB | Easy on most images. Palette reduction to 256 colours. | Needs downscale to ~1000px and palette reduction. |
| 100 KB | Achievable, may need slight downscale or 128 colour palette. | Needs downscale to ~800px and format change likely. |
| 50 KB | Needs downscale and 64 colour palette. | Change format to JPEG or WebP. |
| 25 KB | Only for small or simple images, e.g. icon at 200px. | Impossible as PNG. Use JPEG. |
How to Compress a PNG to a Smaller Size (Any Target)
The principle is the same regardless of the number. To compress a PNG to a smaller size, you always start with lossless stripping and optimisation, then reduce the palette in steps, then reduce dimensions, then change format. If you skip to the expensive step first, you waste time and may degrade quality more than necessary. The form that demands a size limit does not care how you get there. It only cares that the file is under the ceiling.
Cautions for Palette Reduction and Resize
Palette reduction fails on smooth gradients. A soft fade needs many closely spaced colours to look continuous. At 64 colours you get visible banding. The second failure mode is a stair step fringe on semi transparent edges, worst on curves and diagonals. A gentler setting in pngquant or Save for Web fixes it at the cost of file size.
If you need to compress png to smaller size than the palette allows, resize the image. An image displayed at 800 pixels wide and stored at 3000 carries roughly fourteen times the pixel data anyone will see. For print, send the untouched original. Print resolution exposes banding invisible on screen.
Adam7 interlacing increases file size. Turn it off. A 16 bit export is twice the data of 8 bit and invisible on screen. Export at 8 bit. Every metadata chunk you strip is free space. Every pixel you resize away is free space. Do the free things first.