UV & DTF · TECHNICAL
White underbase choke explained: what it fixes and what it can't
Every RIP has a white choke setting, and every forum thread about white edges tells you to "just add more choke". Sometimes it helps, often it makes things worse, and nobody explains why. This guide goes through what choke actually does to your file, pixel by pixel, what problem it was designed to solve, and why it can't fix the most common white-edge complaint on its own.
What the white underbase is for
CMYK inks are translucent. On a white substrate that's fine: the white of the material shines through and the colours look right. On black acrylic, a coloured balloon, a metal tag or a clear sheet, the same inks look dark, dull or invisible. So the printer first lays down a layer of opaque white ink wherever the design is, and prints the colour on top of it. That white layer is the underbase.
The underbase is a second image. The RIP builds it from your file by asking one question per pixel: is there anything here? If a pixel has any opacity, white goes under it. That rule is simple, fast, and it's the root of the halo problem, but we'll come to that.
What choke is
Choke (some RIPs call it pullback, shrink or white reduction) erodes the white layer inward by a set number of pixels. If you set choke to 2, every white pixel that is within 2 pixels of the edge of the white shape is removed. The white shape gets slightly smaller than the colour shape, all the way around.
Because choke is measured in pixels, the physical size depends on the resolution the RIP is working at:
- At 300 dpi: 1 px ≈ 0.085 mm, 3 px ≈ 0.25 mm
- At 720 dpi: 1 px ≈ 0.035 mm, 3 px ≈ 0.11 mm
- At 1440 dpi: 1 px ≈ 0.018 mm, 3 px ≈ 0.05 mm
(The formula is 25.4 ÷ dpi millimetres per pixel.) A "3 px choke" on one machine can be three times larger than on another. When someone online says "I use 4", that number means nothing without their resolution.
The problem choke was designed for: registration
The white and colour layers are printed in separate passes, or by separate rows of nozzles. Between passes the media moves, the carriage returns, and tiny mechanical errors add up: a few hundredths of a millimetre of offset between where the white landed and where the colour lands. That's registration error, and every printer has some.
If the white layer is exactly the same shape as the colour layer and the colour lands 0.05 mm to the right, a 0.05 mm sliver of white is exposed on the left edge of every shape. Choke pulls the white in by a little more than the printer's typical registration error, so the colour always covers it even when the pass is slightly off.
Choke is a tolerance. It exists so that a normal amount of mechanical slop never exposes white. It was never meant to clean up the file.
Why choke can't fix the halo
Here is the case choke was not designed for, and it's the case most people are actually fighting.
When a background is removed in Canva, Photoshop, remove.bg or any AI tool, the edge of the subject is not a hard line. It's a band of semi-transparent pixels, often 3 to 8 pixels wide, fading from opaque to transparent. On screen that band is what makes the cutout look smooth. In the file, those pixels have alpha values between 1 and 254. We call them ghost pixels; this guide explains them in depth.
Now remember the RIP's rule: any opacity → white underneath. The white layer therefore extends all the way to the outermost ghost pixel, the one that is 1% visible. The colour layer also "extends" there, but a 1% pixel carries almost no ink. So out in that fringe you have solid white with practically nothing on top. That's the halo.
What happens when you choke it:
- Choke 1–2 px: the outer part of the fringe loses its white. The inner part, where pixels are 20–60% opaque, still has white under faint colour. The halo gets thinner and greyer but doesn't go away.
- Choke 4–8 px: the fringe is finally white-free, but so is every thin line, serif, outline and small letter in the design, because they're narrower than the choke. Those print as translucent colour straight on the dark substrate: dark, dull or invisible. Operators describe this as the design "looking burnt" or "losing its outline".
- Any choke: the faint colour pixels in the fringe still print. Over an unchoked white they look pale; over bare black acrylic they look like a dirty, dark rim. Choke moves the defect, it doesn't remove it.
You end up tuning between two bad outcomes, white halo versus dark rim, and the sweet spot moves with every design because every design has a different edge.
The right order: clean first, then choke
The fix is to give the RIP a file that has no fringe to begin with. That means binarizing the alpha channel: every pixel becomes either fully opaque (255) or fully transparent (0). Once the edge is a hard line:
- The white layer ends exactly where the colour ends. No fringe, no halo.
- The colour at the edge is full-strength, because the half-transparent pixels were either promoted to opaque or discarded.
- Choke goes back to doing its real job: a small, fixed tolerance for registration. 1–2 px is usually enough, and you set it once for the machine instead of per design.
There's one more step worth doing at the same time: edge decontamination. The pixels that get promoted to opaque were originally blended with the old background, so they carry a tint of it (white from a studio shot, green from a screen). Correcting that colour before printing stops the clean edge from showing a pale or off-colour line.
Clean file, honest choke
Ghost Pixel Cleaner binarizes the alpha, decontaminates the edge and exports the colour plate and a white plate that is already choked and guaranteed to sit inside the colour. Set your RIP's choke to 0 and print.
Clean a PNG now →How much choke to use
On a clean file, work from the machine, not the design:
- Print a test shape (a solid circle and some 1–2 px lines) on a dark substrate with choke at 0.
- Look at the edge with a loupe. If white peeks out on one side, that's your registration error. Measure it roughly.
- Set choke to cover that error plus a small margin: typically 1–2 px at 720 dpi, 2–4 px at 300 dpi.
- Reprint. The circle edge should be clean and the thin lines should still be bright. If the lines go dark, you've gone too far.
That number is now a property of the printer. You shouldn't have to touch it again until something mechanical changes.
Don't choke twice
If your file prep tool already produced a choked white plate, set the RIP's white choke to zero. Stacking a 2 px choke from the tool with a 3 px choke in the RIP gives you 5 px, and thin details will suffer. One choke, in one place.
Ghost Pixel Cleaner's white plate is built as an eroded copy of the clean colour mask, so white can only exist where colour exists. The amount of erosion is the choke slider in the editor. Leave the RIP at 0.
Frequently asked questions
How much white choke should I use?
Start with 1–2 pixels at your print resolution (roughly 0.04–0.07 mm at 720 dpi) on a clean file, print a test on a dark substrate and inspect the edge with a loupe. Increase only if white still peeks out, and stop before thin lines and small text start printing dark.
Why doesn't choke remove the white halo?
Choke shrinks the white layer by a fixed number of pixels from the edge the RIP detected. The halo comes from semi-transparent pixels that extend that edge outward with almost no colour in them. A small choke leaves part of the fringe white; a large choke strips the white from under thin details, which then print dark. Removing the semi-transparent pixels fixes the cause.
What is the difference between choke and spread?
Choke shrinks a layer inward; spread grows a layer outward. You normally choke the white underbase so it hides under the colour. Some RIPs offer colour spread instead, growing the colour over the white edge. Both compensate for registration error between passes.
Should I use choke on white substrates?
On a white or very light substrate you usually don't print a white underbase at all, so choke doesn't apply. It only matters when a white layer goes under the colour: dark, coloured, metallic or transparent substrates, and DTF film.
My RIP has a "white threshold" setting. Is that the same thing?
No, and it's worth knowing about. Some RIPs let you set the minimum opacity a pixel needs before white is printed under it. Raising it trims the faintest ghost pixels, which helps, but it still leaves the colour fringe in place and it doesn't fix the tint those pixels carry from the old background. Cleaning the file does both.