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.
Dye is dosed on fabric weight; auxiliaries are dosed on bath volume. Keep the two bases straight.
Dye Required
—kg
Adjusted for commercial strength
Batch Quantities
Bath Volume
—L
Salt Required
—kg
Alkali Required
—kg
Dye Concentration in Bath
—g/L
Commercial dyes are sold at varying strengths against a standard. A 200% brand needs half the weight, so always confirm the strength before scaling a lab dip.
Using this calculator
About the Dyeing Recipe & Bulk Dosing Calculator
The formula
This is the expression the tool evaluates. Every term is named underneath, with the unit it must be supplied in.
Bath volume the recipe is dosed againstliquorVolume = fabricWeight x liquorRatio
Liquor ratio is quoted as 1 kg of goods to x litres of bath, so the multiplication is direct and needs no conversion constant. Use the ratio the machine actually runs at with this load, not the nameplate minimum: a jet rated 1:5 will sit at 1:7 or 1:8 on a part load, and every g/L in the recipe is quoted against that larger volume.
Dye to weigh out, corrected for commercial strengthdyeRequired = fabricWeight x (shadePercent / 100) x (100 / dyeStrength)
% owf means on weight of fabric, so the / 100 turns the shade percentage into a fraction of the batch weight and the bath volume never enters the term. The 100 / dyeStrength factor rebases the lab figure onto the drum in the store: commercial strength is a relative colour value against a 100% reference product, so a 200% brand halves the weight and a 50% brand doubles it.
Electrolyte for the batchsaltRequired = liquorVolume x saltGpl / 1000
Salt is dosed per litre of bath, not per kilogram of fabric, because its job is to raise the electrolyte concentration in the water phase and screen the repulsion between anionic dye and the negatively charged cellulose surface. The / 1000 converts grams to kilograms. The same g/L on a shorter bath is fewer kilograms weighed.
Alkali for fixationsodaRequired = liquorVolume x sodaGpl / 1000
Alkali is also a bath concentration, because what matters is the pH it holds — soda ash at 15 to 20 g/L sits near pH 11 for most reactive systems. Halving the bath volume halves the kilograms weighed but leaves the pH where it was, which is why the g/L figure transfers between machines and the kilogram figure does not.
Dye concentration in the bathdyeConcentration = dyeRequired x 1000 / liquorVolume
The x 1000 converts kilograms back to grams against the litres of bath. Substituting the two lines above, this reduces to shadePercent x 1000 / (dyeStrength x liquorRatio) — the batch weight cancels out entirely, so bath concentration is a property of the recipe and the machine, not of how much cloth was loaded. Checking the example: 2.5 x 1000 / (100 x 8) = 3.125 g/L.
Symbols used above
Symbol
Stands for
Unit
fabricWeight
Fabric Batch Weight
kg
liquorRatio
Liquor Ratio (1 : x)
:1
shadePercent
Shade Depth
% owf
dyeStrength
Commercial Dye Strength
%
saltGpl
Salt
g/L
sodaGpl
Soda Ash / Alkali
g/L
dyeRequired
Dye Required
kg
liquorVolume
Bath Volume
L
saltRequired
Salt Required
kg
sodaRequired
Alkali Required
kg
dyeConcentration
Dye Concentration in Bath
g/L
How the result is derived
Step by step, from the values you type to the figure on screen.
Bath volume is settled first, because it is the denominator for every auxiliary in the recipe. Liquor ratio is a machine property rather than a recipe choice: a winch runs long, a jigger and a modern airflow jet run short, and a part load raises the running ratio above the rated figure.
Dye is calculated on the goods. Shade depth is quoted on weight of fabric, so 2.5% of a 500 kg batch is 12.5 kg of dye whether the machine holds 2,500 litres or 7,500. That is exactly what makes a lab dip transferable to bulk — depth of shade is set by dye per unit of fibre, not by dye per litre.
The strength correction converts the recipe figure into what the store actually issues. Lab recipes are written against a 100% standard-strength product; the drum on the floor may be 150% or 200%, and the correction is applied to the weight, never to the shade percentage.
Salt and alkali are multiplied by the litres, then divided by 1000 to reach kilograms. This is the step where recipes go wrong, and the size of the error is worth knowing. Reading a bath concentration as a dose per kilogram of goods — 60 g/L taken as 60 g per kg of fabric — gives 30 kg instead of 240 kg on this batch, short by exactly the liquor ratio. Reading the same 60 g/L as 60% owf gives 300 kg, over by 10 / liquorRatio. Either way the machine, not the recipe, sets the size of the mistake.
Bath dye concentration is calculated back as a cross-check on dissolution and dosing. It tells you how much colour the dissolving vessel has to carry into the machine, and whether the stock solution volume fits the dosing tank and the dosing profile.
Finally the auxiliary kilograms are read against dissolving and metering capacity. Salt at a few hundred kilograms per batch has to be dissolved or brine-dosed and metered in over a profile, not tipped in; the calculated figure is a purchase and dosing quantity, not a shortcut past the addition sequence.
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
Fabric Batch Weight
kg
1 to 100000 kg
500
Liquor Ratio (1 : x)
:1
1 to 50 :1
8
Shade Depth
% owf
0.001 to 20 % owf
2.5
Commercial Dye Strength
%
10 to 400 %
100
Salt
g/L
0 to 300 g/L
60
Soda Ash / Alkali
g/L
0 to 100 g/L
20
What the tool returns
The headline figure and every supporting value it is built from.
Output
Unit
What it tells you
Dye Required (headline result)
kg
Adjusted for commercial strength
Bath Volume
L
Salt Required
kg
Alkali Required
kg
Dye Concentration in Bath
g/L
Worked example
Given
Fabric batch weight
500 kg
Liquor ratio
8 :1
Shade depth
2.5 % owf
Commercial dye strength
100 %
Salt
60 g/L
Soda ash / alkali
20 g/L
Substituting
liquorVolume = 500 x 8 = 4,000 Lnominal dye = 500 x (2.5 / 100) = 12.50 kgdyeRequired = 12.50 x (100 / 100) = 12.50 kgsaltRequired = 4,000 x 60 / 1000 = 240.00 kgsodaRequired = 4,000 x 20 / 1000 = 80.00 kgdyeConcentration = 12.50 x 1000 / 4,000 = 3.13 g/L
Answer
Dye required
12.50 kg
Bath volume
4,000 L
Salt required
240.00 kg
Alkali required
80.00 kg
Dye concentration in bath
3.13 g/L
A 500 kg dark shade on a 1:8 machine. The salt at 240.00 kg outweighs the dye at 12.50 kg by about nineteen to one, so the tonnage handled in the dye kitchen and the dissolved-solids load leaving in the effluent sit in the auxiliary — even though the dye is by far the more expensive material per kilogram and still dominates the recipe cost. Running the same batch at 1:5 leaves the dye untouched at 12.50 kg but drops the salt to 150.00 kg and the alkali to 50.00 kg; that is where a short-liquor machine pays for itself. The strength field at 100% makes its correction invisible here — on a 200% brand the same recipe weighs out 6.25 kg and the bath concentration falls to 1.56 g/L.
How to use it
Work through the input groups in order — Batch and Recipe. 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 Dye Required in the dark results panel — that is the headline figure, expressed in kg.
Check the supporting rows underneath (Bath Volume, Salt Required, Alkali Required and Dye Concentration in 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
Lab dip to bulk scaling — an approved beaker recipe at 1:20 carries its dye percentage straight across to a 1:8 jet, while every g/L auxiliary has to be requoted in kilograms against the new bath volume.
Dye kitchen weighing sheets — turning the recipe into the kilograms issued per batch, and checking that the dissolved stock solution fits the dissolving vessel and dosing tank before the machine is loaded.
Costing — dye at % owf is normally the dominant chemical cost in medium and dark shades, while salt is the largest single tonnage the dyehouse buys and handles.
Effluent and salt load planning — total salt per batch is what reaches the effluent as dissolved solids and chloride, so the kilogram figure is the number that goes into discharge consent and ZLD evaporator load calculations.
Dye brand substitution — checking what a change from a 100% to a 150% or 200% strength product does to the weighed quantity when the approved shade percentage stays fixed.
Reading the result
Typical bands and what each one is telling you.
Value
What it indicates
Under 0.5 % owf
Pale shades — less than 0.5 kg of dye per 100 kg of goods. Salt is typically 20 to 40 g/L and alkali 5 to 10 g/L. The risk here is levelness and batch-to-batch repeatability rather than exhaustion: a small weighing error is a large proportion of the dose and shows immediately as an off-shade.
0.5 to 2 % owf
Medium shades, the bulk of commodity production. Salt around 40 to 60 g/L and alkali 10 to 15 g/L for reactive dyeing on cotton. At 1% owf with 50 g/L on a 1:8 bath the salt weighed is roughly forty times the dye weight, so liquor ratio starts to drive the chemical tonnage handled and the wash-off water used.
2 to 4 % owf
Dark shades — the worked example sits here at 2.5%. Salt typically 60 to 80 g/L and alkali 15 to 20 g/L. Wash-off becomes a real cost: hydrolysed, unfixed dye rises with depth and has to be rinsed out or the lot fails rubbing fastness.
4 to 8 % owf
Navy, black and heavy brights. Salt commonly 80 to 100 g/L with alkali 20 to 25 g/L. Dissolution becomes the constraint — stock solution has to be made in hot water and strained, and the dosing profile lengthened, or the batch specks.
Above 8 % owf
Past the economic point for most reactive systems. Fixation efficiency falls as the fibre approaches saturation, so a larger share of the dye leaves in the effluent and the wash-off cycle lengthens. Sulphur or vat blacks usually deliver the depth for less money and less rinsing.
Assumptions and limits
Commercial dyes are sold at varying strengths against a standard. A 200% brand needs half the weight, so always confirm the strength before scaling a lab dip.
Every input is bounded to the range normal practice occupies (Fabric Batch Weight 1 to 100000 kg, Liquor Ratio (1 : x) 1 to 50 :1 and Shade Depth 0.001 to 20 % owf, 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.
Standards and further reading
ISO 105-J03 — calculation of colour differences. This is the arithmetic behind the pass or fail when the bulk lot is compared against the approved lab dip after the recipe is scaled.
ISO 105-C06 — colour fastness to domestic and commercial laundering, the check on whether the unfixed dye implied by a deep recipe was actually washed off.
ISO 105-X12 and AATCC 8 — colour fastness to rubbing and crocking. Over-dosed or under-washed dark shades fail here before they fail anywhere else.
ASTM D2495 — moisture in cotton by oven drying, which establishes the weight basis the shade percentage is quoted against when a batch weight is disputed.
Relative dye strength has no single test designation that transfers between suppliers. Mill practice is to check the drum against a retained reference by lab dip, or by spectrophotometric comparison of solutions made up at equal concentration, and to record the strength used on the batch card.
Questions people ask
The lab dip was run at 1:20 and the machine runs 1:8. What carries across?
The dye percentage carries across unchanged, because % owf is dye per kilogram of fibre and the fibre has not changed. The salt and alkali g/L figures are concentrations and transfer directly as concentrations, but the kilograms weighed drop in proportion to the bath. In practice technologists trim the salt when shortening the ratio, because the dye concentration in the shorter bath is already higher and exhaustion improves on its own — so a lab figure of 60 g/L at 1:20 may only need 40 to 50 g/L at 1:8, confirmed by a trial rather than assumed.
Why is salt dosed in g/L when the dye is dosed in % owf?
Because the two do different jobs. The dye has to end up inside the fibre, so it is metered against fibre mass. Salt works in the water phase, screening the electrostatic repulsion between the anionic dye and the negatively charged cellulose surface, and that is a concentration effect in the bath. Quoting salt as % owf appears to work until the liquor ratio changes, at which point the recipe is wrong by a factor of 10 divided by the new ratio.
What does a 200% dye strength actually mean, and how do I verify it?
Commercial dye powder is chromophore plus diluent, dispersing agent and standardising salt. Strength is a relative colour value against a nominated reference set at 100%, so a 200% brand carries twice the colour per kilogram and needs half the weight: the 12.50 kg in the example becomes 6.25 kg. Confirm it by lab dip or by spectrophotometric comparison of solutions against the retained reference before scaling, because a strength error is a full-batch shade error, not something a shading addition will fix.
Which batch weight do I use if the fabric goes into the machine wet?
Use the dry weight of the goods recorded on the batch card, not the weight of the wet rope. Fabric coming from bleaching and a squeeze still carries a large fraction of its own weight in water — commonly 60% to 100% wet pickup on cotton — so weighing it wet inflates the dye dose by that proportion. Where the weight is disputed, settle it on a conditioned or oven-dry basis and record which one was used, since a 5% weight error is a 5% dye error and is clearly visible in a pale shade.
Does the bath dye concentration figure change if I load less cloth?
Not if the liquor ratio is held. Substituting the two dye lines, dyeConcentration = shadePercent x 1000 / (dyeStrength x liquorRatio) and the batch weight cancels out — 2.5% at 1:8 on a 100% product is 3.13 g/L whether the load is 200 kg or 500 kg. What actually changes on a part load is the running liquor ratio, because most machines cannot drop the bath below a minimum working level. The ratio rises, the concentration falls, and exhaustion drops with it, which is why part loads on a long bath often come out weak.