Paste this where you want the calculator to appear. It works on any site — WordPress, Squarespace, Webflow, Ghost or plain HTML — and needs no JavaScript of yours. It carries a link back here, which is the only thing we ask for it.
Residual falls exponentially with the number of baths and only linearly with the water in each. Baths beat volume, every time.
Residual Unfixed Dye
—ppm
On fabric weight after the rinse sequence
Series & Water
Unfixed Dye to Remove
—% owf
Fraction Surviving Each Bath
—x
Residual After Sequence
—% owf
Baths Needed for Target
—nos
Water Used by Sequence
—L/kg
Water Needed for Target
—L/kg
Single Bath Ratio for Same Result
—:1
Water Penalty of the Single Bath
—L/kg
The series assumes each bath reaches equilibrium before it drains, which is a fair description of a batch machine given a few minutes of circulation and a poor one of a continuous washing range, where counter-current flow does better than this model predicts and the right comparison is stages rather than baths. It also assumes the dye is free in the liquor: hydrolysed dye that has back-stained onto cellulose or, worse, onto an elastane or polyamide component is not governed by dilution at all and needs temperature, a soaping agent or a reduction clear, none of which appear here. Pick-up is the single most sensitive input and the one most often guessed - the difference between an efficiently squeezed 60 percent and a lazily drained 120 percent is a factor of two on every bath in the series, compounding. Take it from the machine by weighing fabric in and out rather than from a handbook. The single-bath comparison is a rhetorical device rather than a proposal; it is there to show the shape of the mathematics, and the practical readings are the bath count and the water figure beside it.
Using this calculator
About the Reactive Wash-Off Dilution Series & Water Demand
The formula
This is the expression the tool evaluates. Every term is named underneath, with the unit it must be supplied in.
The load the wash-off has to removeunfixed = dyeApplied x (1 - fixation / 100)
Hydrolysed dye is chemically dead and has no affinity left; it is simply present, and everything after this is dilution.
Fraction surviving one drain and fillD = pickUp / (pickUp + liquorRatio)
The fabric leaves with its pick-up and the bath takes the rest. At 80 percent pick-up and 8:1 this is 0.0909 - each bath removes 91 percent of what remained.
The series and its inverseresidual = unfixed x D^n n = ln(target / unfixed) / ln(D)
Exponential in n, linear in the water each bath uses. That asymmetry is the entire argument for more baths and less water in each.
Symbols used above
Symbol
Stands for
Unit
dyeApplied
Dye Applied
% owf
fixation
Fixation
%
pickUp
Fabric Pick-Up
%
liquorRatio
Rinse Liquor Ratio
:1
bathCount
Rinse Baths Run
nos
targetResidual
Target Residual
% owf
residualPpm
Residual Unfixed Dye
ppm
unfixedDye
Unfixed Dye to Remove
% owf
dilutionPerBath
Fraction Surviving Each Bath
x
residualDye
Residual After Sequence
% owf
bathsNeeded
Baths Needed for Target
nos
waterUsed
Water Used by Sequence
L/kg
waterForTarget
Water Needed for Target
L/kg
singleBathRatio
Single Bath Ratio for Same Result
:1
singleBathWaterPenalty
Water Penalty of the Single Bath
L/kg
How the result is derived
Step by step, from the values you type to the figure on screen.
The 6 inputs are read from the form on every keystroke: Dye Applied, Fixation, Fabric Pick-Up, Rinse Liquor Ratio, Rinse Baths Run and Target Residual.
Each value is checked against the accepted range in the input table below. A value outside its range stops the calculation rather than producing a misleading figure — the results blank out and a message appears.
The validated values are substituted into the expression above, which resolves Residual Unfixed Dye together with every supporting figure in one pass — no value is carried over from a previous entry.
The supporting outputs — Unfixed Dye to Remove, Fraction Surviving Each Bath, Residual After Sequence, Baths Needed for Target, Water Used by Sequence, Water Needed for Target, Single Bath Ratio for Same Result and Water Penalty of the Single Bath — come from the same pass, so they always describe the same case as the headline figure.
Results are rounded for display only. The full-precision value is used throughout the chain, so reading a rounded intermediate figure back into the tool by hand can shift the last digit.
What each input means
Where to read each value on the floor, the unit it must be in, and the range the tool accepts.
Input
Unit
Accepted range
Default
What it means
Dye Applied
% owf
0.05 to 20 % owf
4
Total reactive dye on the recipe
Fixation
%
20 to 99 %
72
Share covalently bound. The rest is hydrolysed and must come off
Fabric Pick-Up
%
20 to 300 %
80
Liquor the fabric carries out of a bath, on fabric weight
Rinse Liquor Ratio
:1
1 to 60 :1
8
Fresh water per kilogram in each rinse bath
Rinse Baths Run
nos
1 to 15 nos
4
How many drain-and-fill cycles the sequence uses
Target Residual
% owf
0.0001 to 1 % owf
0.01
Unfixed dye left on the fabric that the staining test will accept
What the tool returns
The headline figure and every supporting value it is built from.
Output
Unit
What it tells you
Residual Unfixed Dye (headline result)
ppm
On fabric weight after the rinse sequence
Unfixed Dye to Remove
% owf
Fraction Surviving Each Bath
x
Residual After Sequence
% owf
Baths Needed for Target
nos
Water Used by Sequence
L/kg
Water Needed for Target
L/kg
Single Bath Ratio for Same Result
:1
Water Penalty of the Single Bath
L/kg
Worked example
Given
Dye Applied
4 % owf
Fixation
72 %
Fabric Pick-Up
80 %
Rinse Liquor Ratio
8 :1
Rinse Baths Run
4 nos
Target Residual
0.01 % owf
The tool loads with this case already solved — the Residual Unfixed Dye shown above is its answer. Change one value and the difference from this baseline is the sensitivity of the result to that variable.
How to use it
Work through the input groups in order — After Dyeing and Rinse Geometry. The defaults are a realistic case, so you can change one value at a time and watch what moves.
There is no calculate button. Every figure recalculates as you type or drag, which is what makes this usable for a what-if sweep rather than a single answer.
Read Residual Unfixed Dye in the dark results panel — that is the headline figure, expressed in ppm.
Check the supporting rows underneath (Unfixed Dye to Remove, Fraction Surviving Each Bath, Residual After Sequence, Baths Needed for Target, Water Used by Sequence, Water Needed for Target, Single Bath Ratio for Same Result and Water Penalty of the Single Bath) before acting on the headline — they are where an implausible input usually shows itself first.
Reset to defaults returns every field to the reference case, which is the quickest way to check whether a surprising result came from the tool or from an input you had changed earlier.
Where this is used
Process planning — establishing Residual Unfixed Dye before a trial is booked, so machine time and material in Dyeing, Printing, Color Management & Chemical Control are committed against a calculated figure rather than an estimate.
Costing and quotation — Residual Unfixed Dye is an input to the cost sheet, and quoting from a worked number rather than a remembered one is what keeps a margin intact.
Troubleshooting — when the floor result drifts from plan, entering the measured values (starting with Dye Applied) shows how much of the gap in Residual Unfixed Dye each variable explains.
Teaching and study — the accepted ranges bracket normal Dyeing, Printing, Color Management & Chemical Control practice, so moving one variable at a time shows the shape of the relationship rather than a single answer.
Assumptions and limits
The series assumes each bath reaches equilibrium before it drains, which is a fair description of a batch machine given a few minutes of circulation and a poor one of a continuous washing range, where counter-current flow does better than this model predicts and the right comparison is stages rather than baths. It also assumes the dye is free in the liquor: hydrolysed dye that has back-stained onto cellulose or, worse, onto an elastane or polyamide component is not governed by dilution at all and needs temperature, a soaping agent or a reduction clear, none of which appear here. Pick-up is the single most sensitive input and the one most often guessed - the difference between an efficiently squeezed 60 percent and a lazily drained 120 percent is a factor of two on every bath in the series, compounding. Take it from the machine by weighing fabric in and out rather than from a handbook. The single-bath comparison is a rhetorical device rather than a proposal; it is there to show the shape of the mathematics, and the practical readings are the bath count and the water figure beside it.
Every input is bounded to the range normal practice occupies (Dye Applied 0.05 to 20 % owf, Fixation 20 to 99 % and Fabric Pick-Up 20 to 300 %, and so on for the rest). Those bounds are guard rails against typing errors, not a claim that the formula fails one unit outside them.
The calculation is deterministic: the same inputs always give the same result. It carries no allowance for machine condition, operator skill, ambient conditions or lot-to-lot material variation unless an input above explicitly represents one.
Nothing is sent anywhere. The maths runs in your browser, so the numbers you type never leave the page.
Questions people ask
What do I need to know before using the Reactive Wash-Off Dilution Series & Water Demand?
Have these to hand: Dye Applied, Fixation, Fabric Pick-Up, Rinse Liquor Ratio, Rinse Baths Run and Target Residual. With those entered, the tool returns Residual Unfixed Dye immediately.
What exactly is Residual Unfixed Dye?
On fabric weight after the rinse sequence. It is reported in ppm. It is derived from Dye Applied, Fixation, Fabric Pick-Up, Rinse Liquor Ratio, Rinse Baths Run and Target Residual, and is the figure the rest of the Dyeing, Printing, Color Management & Chemical Control calculation is built around.
Which units does this calculator expect?
Enter Dye Applied in % owf, Fixation in %, Fabric Pick-Up in %, Rinse Liquor Ratio in :1, Rinse Baths Run in nos and Target Residual in % owf. Mixing unit systems is the most common cause of a result that looks an order of magnitude wrong — convert before typing, not after reading.
What are the other figures under the main result?
They are the intermediate quantities the calculation passes through: Unfixed Dye to Remove, Fraction Surviving Each Bath, Residual After Sequence, Baths Needed for Target, Water Used by Sequence, Water Needed for Target, Single Bath Ratio for Same Result and Water Penalty of the Single Bath. They are shown because a headline number nobody can trace is a number nobody trusts — checking them against your own expectation is the fastest way to confirm the inputs were read as you intended.
Can I rely on this for a production decision?
The series assumes each bath reaches equilibrium before it drains, which is a fair description of a batch machine given a few minutes of circulation and a poor one of a continuous washing range, where counter-current flow does better than this model predicts and the right comparison is stages rather than baths. It also assumes the dye is free in the liquor: hydrolysed dye that has back-stained onto cellulose or, worse, onto an elastane or polyamide component is not governed by dilution at all and needs temperature, a soaping agent or a reduction clear, none of which appear here. Pick-up is the single most sensitive input and the one most often guessed - the difference between an efficiently squeezed 60 percent and a lazily drained 120 percent is a factor of two on every bath in the series, compounding. Take it from the machine by weighing fabric in and out rather than from a handbook. The single-bath comparison is a rhetorical device rather than a proposal; it is there to show the shape of the mathematics, and the practical readings are the bath count and the water figure beside it. Treat the output as an engineering estimate that narrows the trial window, not as a substitute for the trial.