Notes
What actually costs the most bytes in a transparent PNG
Transparency is not one thing. A hard cutout and a soft fade cost wildly different amounts, and only one of them is worth worrying about.
Alpha is just another channel
A 32-bit PNG stores four values per pixel: red, green, blue, and alpha. The alpha channel goes through exactly the same prediction-and-difference compression as the colour channels, which means the same rule applies โ predictable is cheap, unpredictable is expensive.
From cheapest to most expensive
- A hard cutout โ alpha is 0 everywhere outside the shape and 255 everywhere inside. Two long runs of identical values. Almost free.
- Anti-aliased edges โ a one or two pixel band of intermediate alpha around the shape. Slightly more, and entirely necessary: without it the print shows visible stair-stepping.
- A large soft fade โ hundreds of pixels of slowly changing alpha across a wide area. The prediction is close but never exact, so every pixel stores a small non-zero difference. Expensive.
- Semi-transparent texture โ a grain or noise pattern in the alpha channel itself. Worst case, for the same reason grain is worst case in colour.
What not to do
Do not flatten the alpha away to save bytes. A design with the background baked in as opaque white passes every file-size check and then prints as a white box on a dark shirt โ the platform will not stop you, and you find out from the review. If the file is too large, reduce colours or simplify the artwork. Never remove the transparency.
Frequently asked questions
Should I use 8-bit PNG to save space?
Often yes. An indexed 8-bit PNG with a well-chosen palette can be a fraction of the size and is usually indistinguishable on flat illustration. It does change how gradients step, so check anything with a smooth blend before committing.
Does the transparent area still cost bytes even though nothing is drawn there?
Very little. A uniformly empty region is the most predictable thing in the file, so it collapses to nearly nothing. Empty canvas is cheap; edges and fades are not.