Use the flushing volume your slicer calculates for each color pair, at a multiplier of 1.0. Bambu Studio and OrcaSlicer set black to white at 667 mm³ (0.83 g of PLA, polylactic acid) and white to black at 187 mm³ (0.23 g) on an X1 Carbon or P1S profile. Lower that only after a test print shows clean color changes.
What flushing volume should you use?
Use the per-pair values Bambu Studio or OrcaSlicer calculate from your filament colors, unchanged at first. On an X1 Carbon or P1S profile, light to dark changes land around 130 to 300 mm³ and dark to light changes around 420 to 725 mm³. The flat 280 mm³ in the default settings is only a fallback.
The slicer fills the table on its own when you assign filaments, so you rarely type these numbers. What you choose is the multiplier, which scales every pair.
Bambu Studio’s default is 1.0, and the field accepts 0 to 3. Bambu Lab’s wiki says the automatic values “tend to be slightly higher than necessary” and suggests 0.8 or 0.9 as a first saving, checked with a test print. At 0.8, black to white drops from 667 to 534 mm³.
How much flushing volume does a black to white change need?
Bambu Studio and OrcaSlicer give pure black (#000000) to pure white (#FFFFFF) 667 mm³ on an X1 Carbon or P1S profile. That is a 560 mm³ color score plus the printer’s 107 mm³ nozzle volume. In PLA at 1.24 g/cm³, one change flushes about 0.83 g, one of the costliest pairs.
The printer profile moves the number a little. The A1 profile lists a 92 mm³ nozzle volume, so black to white comes to 652 mm³.
Bambu’s own PLA Basic profile also turns on an 18 mm long retraction when the filament is cut. The slicer subtracts those 18 mm of 1.75 mm filament (about 43 mm³) from the nozzle volume. That brings black to white on an X1 Carbon to 623 mm³.
Prusa’s knowledge base gives far smaller example values for its MMU (Multi-Material Unit): 150 mm³ black to white. The MMU sums an unload and a load volume per filament, so do not copy those numbers into Bambu Studio or OrcaSlicer.
How much flushing volume does white to black need?
187 mm³, or 0.23 g of PLA, on the same X1 Carbon or P1S profile: an 80 mm³ color score plus the 107 mm³ nozzle volume. That is just over a quarter of the black to white figure. Prusa’s MMU example runs the same way at 50 mm³ white to black.
Flushing volumes table by color pair
These are the values Bambu Studio and OrcaSlicer put in the table for these hex colors, at a multiplier of 1.0 and a 107 mm³ nozzle volume, with no long retraction. The colors are the ones in the slicers’ own measured reference data, plus pure white. Grams are for PLA at 1.24 g/cm³ and use the Bambu Studio figure.
| From → To | Bambu Studio | OrcaSlicer | PLA per change |
|---|---|---|---|
| Blue #0A2989 → Yellow #F4EE2A | 725 mm³ | 673 mm³ | 0.90 g |
| Black #000000 → White #FFFFFF | 667 mm³ | 667 mm³ | 0.83 g |
| Blue #0A2989 → White #FFFFFF | 666 mm³ | 666 mm³ | 0.83 g |
| Red #C12E1F → White #FFFFFF | 611 mm³ | 611 mm³ | 0.76 g |
| Black #000000 → Light gray #D1D3D5 | 598 mm³ | 598 mm³ | 0.74 g |
| Green #00AE42 → White #FFFFFF | 582 mm³ | 582 mm³ | 0.72 g |
| Orange #FF6A13 → White #FFFFFF | 570 mm³ | 570 mm³ | 0.71 g |
| Black #000000 → Yellow #F4EE2A | 557 mm³ | 493 mm³ | 0.69 g |
| Black #000000 → Gray #8E9089 | 483 mm³ | 483 mm³ | 0.60 g |
| Black #000000 → Red #C12E1F | 469 mm³ | 469 mm³ | 0.58 g |
| Gray #8E9089 → White #FFFFFF | 425 mm³ | 425 mm³ | 0.53 g |
| Black #000000 → Dark gray #545454 | 364 mm³ | 343 mm³ | 0.45 g |
| White #FFFFFF → Green #00AE42 | 290 mm³ | 290 mm³ | 0.36 g |
| White #FFFFFF → Red #C12E1F | 285 mm³ | 285 mm³ | 0.35 g |
| White #FFFFFF → Blue #0A2989 | 265 mm³ | 265 mm³ | 0.33 g |
| Yellow #F4EE2A → Black #000000 | 227 mm³ | 163 mm³ | 0.28 g |
| White #FFFFFF → Black #000000 | 187 mm³ | 187 mm³ | 0.23 g |
| Red #C12E1F → Black #000000 | 182 mm³ | 133 mm³ | 0.23 g |
| White #FFFFFF → Gray #8E9089 | 167 mm³ | 167 mm³ | 0.21 g |
| Same color in two slots | 167 mm³ | 167 mm³ | 0.21 g |
The two slicers part ways only where a pair sits in their measured reference data, which Bambu Lab and the OrcaSlicer project maintain as separate files. Your own shades will shift these numbers, so read your table rather than copying a row. To price a whole print, put your average flush per change into the multi-color waste calculator.
Why does dark to light need more flush than light to dark?
A trace of dark pigment shows up in a light color, while a trace of light pigment vanishes in a dark one. The source code builds that in. Its comments state that a color difference “is more obvious if the dest color has high luminance” and “if the source color has low luminance.”
The brightness term gets a weight of 560 when the change goes toward a lighter color and 80 when it goes toward a darker one, seven times less. Only the lighter-going term is raised to the 0.7 power, which inflates small brightness gaps. Going darker, the hue term is also capped by how bright the new color is, so a dark target hides hue differences as well.
Bambu Lab’s wiki puts it the same way: “Darker colors need a higher volume flush to switch to lighter colors.” Prusa’s knowledge base blames the “higher color contamination from a darker to a lighter color.”
How do Bambu Studio and OrcaSlicer calculate flushing volume?
Both use the same formula in FlushVolCalc.cpp. The slicer first checks whether both colors closely match two of its 12 reference colors (a CIEDE2000 difference of 5 or less) and the pair has a measured score in its data file. If so, it uses that score. If not, it uses this formula:
brightness = 0.3 R + 0.59 G + 0.11 B (R, G, B from 0 to 1)
to lighter: L = (brightness change)^0.7 × 560
to darker: L = brightness change × 80
hue term: H = 230 × hue and saturation distance (distance capped at 1.2)
color score = √(L² + H² + L × H), never below 60
flush mm³ = color score + nozzle volume, capped at 900 in Bambu Studio
PLA grams = flush mm³ × 1.24 ÷ 1000
Worked example, black to white: brightness rises from 0 to 1, so L = 1^0.7 × 560 = 560. Neither color has any saturation, so H = 0. The score is √(560²) = 560. Add the 107 mm³ nozzle volume to get 667 mm³, and 667 × 1.24 ÷ 1000 gives 0.83 g.
The limits and fixed values
| Rule | Value | Where it comes from |
|---|---|---|
| Smallest color score | 60 mm³ | FlushVolCalc.cpp; with the nozzle volume, 167 mm³ on an X1 Carbon |
| Largest flush per pair | 900 mm³ (Bambu Studio), 20,000 mm³ (OrcaSlicer) | FlushVolCalc.cpp |
| Change into a support filament | 230 mm³ | FlushVolCalc.cpp |
| Change out of a support filament | at least 700 mm³ | FlushVolCalc.cpp |
| PLA Basic ↔ PETG Basic | at least 650 mm³ | Bambu Studio’s measured material pair file |
| Before colors are assigned | 280 mm³ | PrintConfig.cpp default matrix |
| Multiplier | 1.0 default, 0 to 3 | PrintConfig.cpp, WipeTowerDialog.cpp |
A transparent filament counts as white. A multicolor spool takes the highest value among its colors.
What happens if the flushing volume is too low?
The old color bleeds into the new one. Bambu Lab’s wiki says a value set too low “will show as discolored layers”: a tint where one color meets the next. Print a short test with the pairs your model uses, then raise only the pairs that bleed. Prusa’s knowledge base adds that glossy, glitter or soluble filaments usually need more purge than standard values.
Published · Figures last checked
Sources
- Bambu Studio source, FlushVolCalc.cpp (color-based flush formula, 900 mm³ cap, support filament values) (accessed 2026-10-10)
- OrcaSlicer source, FlushVolCalc.cpp (same formula, 20,000 mm³ cap) (accessed 2026-10-10)
- OrcaSlicer source, FlushVolPredictor.cpp and .hpp (measured-pair lookup, DeltaE 2000 match within 5) (accessed 2026-10-10)
- Bambu Studio resources, flush_data_standard.txt (measured flush per color pair) (accessed 2026-10-10)
- OrcaSlicer resources, flush_data_standard.txt (measured flush per color pair) (accessed 2026-10-10)
- Bambu Studio resources, flush_data_material_pair.json (measured PLA Basic and PETG Basic purge) (accessed 2026-10-10)
- Bambu Studio source, Plater.cpp (get_min_flush_volumes: nozzle volume minus long retraction) (accessed 2026-10-10)
- Bambu Studio source, PrintConfig.cpp (flush multiplier default 1.0, 280 mm³ fallback matrix) (accessed 2026-10-10)
- Bambu Studio source, WipeTowerDialog.cpp (flush multiplier range 0 to 3) (accessed 2026-10-10)
- Bambu Studio profiles, Bambu Lab X1 Carbon 0.4 nozzle machine profile (nozzle volume 107) (accessed 2026-10-10)
- Bambu Studio profiles, Bambu Lab P1S 0.4 nozzle machine profile (nozzle volume 107) (accessed 2026-10-10)
- Bambu Studio profiles, Bambu Lab A1 0.4 nozzle machine profile (nozzle volume 92) (accessed 2026-10-10)
- Bambu Studio profiles, Bambu PLA Basic @BBL X1C filament profile (long retraction when cut, 18 mm) (accessed 2026-10-10)
- OrcaSlicer profiles, fdm_filament_pla filament profile (PLA density 1.24 g/cm³) (accessed 2026-10-10)
- Bambu Lab Wiki, Reduce waste during filament change (accessed 2026-10-10)
- Prusa Knowledge Base, Purging volumes (MMU) (accessed 2026-10-10)