A transparent logo can look perfectly clean on one background and acquire a dark rim on another. The rim does not automatically mean the file contains a black stroke. Partially transparent edge pixels carry both color and opacity, and two different mistakes can make those pixels look wrong: their colors may still contain an old background, or a program may interpret their alpha representation incorrectly.
That distinction matters before blaming the monitor. A photograph can differ across two phones for reasons involving displays and processing. A halo that follows one cut-out object, changes with its background, and is concentrated along its silhouette asks a more local question. What information is in the edge pixels, and how is that information being combined with the new surface?
Transparency has a color component
Consider a red circle with a smooth boundary. Interior pixels can be fully red and fully opaque. Pixels along the edge are only partly covered by the circle. Alpha expresses opacity: zero is transparent, one is opaque, and intermediate values allow the background to contribute. A smooth edge therefore needs more than a yes-or-no decision about whether each pixel belongs to the object.
For ordinary source-over compositing, the foreground contribution is weighted by its alpha and the background contributes through the remaining transparency. Over an opaque background, a half-opaque red edge should become a mixture of that red and the background color. Put it over white and the edge looks lighter; put it over black and it looks darker. That expected change is different from an unwanted fringe. The same stored object need not have identical edge colors after compositing onto different backgrounds.
A useful thought experiment is to move a paper stencil between two colored sheets. The uncovered part reveals whichever sheet is underneath. Digital edges add fractional coverage rather than cutting an infinitely precise boundary. Their change with the background is necessary for smoothness. The question is whether the object’s own contribution is represented correctly, not whether every boundary pixel stays red in the finished picture.
A matte can be baked into the edge
A selection extracted from a flattened image may carry color from the former background in its anti-aliased boundary. A white matte can leave a pale fringe when the object is placed on a dark surface; a black matte can leave a dark fringe on a light one. Adobe provides separate commands for removing those matte pixels around selections. Transparency alone does not guarantee that the foreground colors have been recovered cleanly.
Imagine an icon first designed to sit on a white card. Its boundary looks convincing there because the pale mixture agrees with that card. Moving the icon to navy exposes the mismatch. This is a useful diagnostic example, not proof that every pale rim came from white. A real highlight, deliberately soft outline, or other processing could look similar. Compare the original artwork before removing anything that might be intentional.
The important distinction is where the problem lives. If the edge colors already contain unwanted background color, changing the compositing formula cannot reconstruct information that was never separated properly. Returning to a clean layered original may be more dependable than repeatedly exporting the contaminated cut-out. Keep that comparison reversible: test a copy and preserve the existing asset until the replacement has been inspected.
Straight and premultiplied alpha describe the same idea differently
The PNG specification stores unassociated, also called straight, color values. The color channels are not multiplied by alpha. A partly transparent red pixel still stores its foreground red separately from its opacity. In a premultiplied representation, the color contribution has already been multiplied by alpha. Both conventions can describe the same appearance when the software treats them consistently.
Problems arise when those conventions are confused. If an already weighted color is weighted again, its contribution becomes too small, which can produce a darkened edge. If a straight color is treated as though weighting has already happened, the contribution can be too large. These are consequences of the compositing arithmetic, not evidence that PNG itself requires a black border. Do not “fix” the stored channels by guessing which convention an undocumented pipeline expects.
There is a related, separate issue when colors are interpolated. CSS Color specifies premultiplication for interpolation involving alpha so that a fade between changing color and opacity behaves appropriately. That rule does not say a PNG should be saved with premultiplied channels. Interpolation, file storage, and compositing are different stages. Mixing their vocabulary can turn a correct instruction for one stage into a damaging adjustment at another.
Compare the boundary before changing it
Place the same asset over a light neutral background, a dark neutral background, and a clearly different colored background. Inspect the complete silhouette at its intended viewing size, then enlarge it to locate the affected pixels. Ask whether the unwanted color resembles an earlier matte, whether one application alone shows the problem, and whether a clean original produces the same edge. These comparisons narrow a diagnosis without pretending a screenshot identifies the precise failure.
For a separate exercise in judging intermediate colors, Color Matching’s target and adjustable patch let you attend to the mixture you actually see. The game does not inspect alpha channels. Its relevant habit is simply to compare a resulting color rather than assuming the foreground name predicts the finished pixel.
An edge can be smooth, transparent, and correctly different on different backgrounds. It can also be contaminated or mishandled. Treating every rim as the same export defect obscures those possibilities. The most useful fix begins by separating the foreground color, its opacity, and the operation that combines them.
Editorial backfill for October 8, 2026. Prepared on October 8, 2026.