The White Underbase Reaches Too Far
This is the production-side cause, and choke is the answer to it. When the white is pulled in correctly for the design, it stays hidden behind the color.
Soft or Transparent Edges in the File
This is the one that catches most people, and it happens in the artwork long before it reaches the printer. Edges that look clean on a white screen often carry faint, semi-transparent pixels — anti-aliasing, leftover shadows, glow effects, or a background that was not fully removed.
The printer still reads those faint pixels as part of the design and lays white ink behind them, and that shows up as a haze or halo after pressing.
Small text, thin lines, faded or glow-heavy graphics, screenshots, and social-media images are common offenders.
Low-Resolution or Stretched Artwork
When a file is blurry or has been blown up well past its real size, the edges go jagged and the printer has less clean edge information to work with. That makes the underbase more visible and the border rougher.
Build your file at 300 DPI at the size you are printing. A small 3' 300 DPI image blown up to 12 inches is no longer 300 DPI.
A White or Gray Border Already Baked Into the File
Sometimes the outline is in the artwork before it ever reaches us — a fringe left behind by a rough background removal, a trace-and-fill, or a design originally made for a white background and never cleaned up for transparent printing.
Zoom in tight on your edges and look for a faint white, gray, or checkerboard-adjacent halo. If it is there in the file, it will be there on the shirt.