DIY fertilizer stock solution calculator: ppm per mL and solubility check

Published October 15, 2026Not yet reviewed by the editor8 sources

Short answer

Grams of salt in one dose = grams in the bottle × dose (mL) ÷ bottle volume (mL); the rest is the same molar-mass arithmetic as dry dosing. PPS-Pro's published macro bottle (33 g KNO3, 3 g KH2PO4, 29 g K2SO4 and 20 g Epsom salt in 500 mL) gives about 1 mg/L of nitrate per mL in 40 L, as its author states [1, 2]. Keep each salt below its solubility, which PubChem lists as about 36 g per 100 mL for KNO3 and 12 g for K2SO4 at 25 °C [5, 7].

Stock solution

mL
Dissolve the salts, then top up to this mark.
Salts in the bottle
g
g
g
g
g
mL
L

Pre-filled with the PPS-Pro macro recipe as its author published it (500 mL). PPS-Pro's own dose is 1 mL per 40 L a day; 1.5 mL suits the 60 L shown.

Each 1.5 mL dose adds1.01mg/L NO3333 doses per bottle, about 47.6 weeks at 7 a week
mg/LPer dosePer week
Nitrate (NO3)1.017.08
Nitrogen (N)0.2291.6
Phosphate (PO4)0.1050.733
Phosphorus (P)0.03410.239
Potassium (K)1.339.32
Magnesium (Mg)0.09860.69
Sulfate (SO4)1.198.32
Sulfur (S)0.3972.78
Saltg/100 mLLimit (g/100 mL of solution)Check
KNO36.626.3OK
KH2PO40.618OK
K2SO45.810.7OK
MgSO4·7H2O447.2OK

Why use a stock solution

Dry dosing a small tank means weighing fractions of a gram. Dissolving a larger amount in a bottle and dosing milliliters spreads the same weighing error over many doses. PPS-Pro is built that way, with a published 500 mL recipe [1], and EI’s write-up also describes dissolving the trace mix and dosing it as a liquid [4].

How the calculator works

You enter the final volume of the bottle (after topping up, not the water you started with), the grams of each salt, the dose in milliliters, the tank volume and how often you dose. For each dose it computes the grams of each salt delivered,

grams per dose = grams in bottle × dose (mL) ÷ bottle (mL)

and then the mg/L of every nutrient with the same molar masses as the dry dosing calculator. Potassium and sulfate from different salts are added together. It also reports how many doses the bottle holds and how many weeks that lasts.

The solubility check

A salt can only dissolve up to a limit, and the limit drops in cold water. The PubChem records give grams per 100 mL of water, while the calculator measures grams per 100 mL of finished solution, so it converts each figure first. A saturated solution of S g per 100 mL of water is S ÷ (S + 100 × ρ) salt by mass, where ρ is the density of water at that temperature. Dissolved salt makes the solution denser than water, so taking the solution’s density as that of pure water gives a limit that is never higher than the real one. For Epsom salt the figure is for anhydrous MgSO4, so the limit is then scaled up by molar mass to grams of the heptahydrate you weigh out:

Salt PubChem figure (g per 100 mL water) Limit used (g per 100 mL of solution) Source note
KNO3 35.7 at 25 °C 26.3 [5]
KH2PO4 22, no temperature stated (25 °C assumed) 18.0 [6]
K2SO4 12 at 25 °C 10.7 lowered by potassium chloride or ammonium sulfate [7]
MgSO4·7H2O 30 as anhydrous MgSO4, at 20 °C 47.2 23.1 g MgSO4 converted by molar mass [8]

These are single-salt figures. In a mixed bottle the salts share ions; PubChem notes, for example, that potassium sulfate’s solubility is decreased by other salts [7], and potassium nitrate is a potassium salt too. The calculator therefore warns above 80 % of a single-salt limit, and you should expect the true mixed-bottle limit to be lower.

Worked example: the PPS-Pro macro bottle

PPS-Pro’s macro recipe is 29 g K2SO4, 33 g KNO3, 3 g KH2PO4 and 20 g MgSO4 per 500 mL [1]. Per 100 mL that is 5.8 g K2SO4, 6.6 g KNO3, 0.6 g KH2PO4 and 4 g Epsom salt, all well under the single-salt limits. One milliliter in 40 L delivers 1.01 mg/L NO3, 0.10 mg/L PO4, 1.33 mg/L K and 0.10 mg/L Mg, matching the daily dose the author states [2]. A 500 mL bottle is 500 doses: about 71 weeks of daily dosing for a 40 L tank, or 36 weeks at the 2 mL a day an 80 L tank needs.

Practical notes from the method authors

  • Keep macro salts and the trace mix in separate bottles; the PPS author advises against combining chemicals unless a recipe says so [2].
  • Use soft water to make the solution; the PPS author suggests RO or distilled water when hard tap water leaves a sandy residue [3].
  • Cloudiness or mold in a bottle is described by the PPS author as harmless and caused by impurities [3]; EI’s write-up stores the trace solution in a refrigerator against mold [4].
  • Label every bottle with its contents, concentration and date, and keep it away from children and food.

Questions

Can I put all the salts in one bottle?

The PPS author advises against mixing chemicals unless a published recipe specifies it [2]. The usual practice, which both PPS-Pro and EI's write-ups follow, is one bottle for the macro salts and a separate one for the trace mix [1, 4].

My solution went cloudy. Is it ruined?

The PPS author describes cloudiness, sediment or mold in fertilizer solutions as caused by impurities and harmless, and suggests using RO or distilled water if hard tap water leaves a sandy residue [3].

Other calculators

Background reading

Sources

  1. PPS-Pro. Edward, Perpetual Preservation System. Recipe per 500 mL: 29 g K2SO4, 33 g KNO3, 3 g KH2PO4, 20 g MgSO4; 29 g trace mix in a second bottle; fill with soft water. Accessed October 12, 2026.
  2. Chemicals & Dosing. Edward, Perpetual Preservation System. Mixing chemicals not recommended unless specified by a recipe; 1 mL per 10 gal or 40 L gives 1 ppm NO3, 0.1 ppm PO4, 1.33 ppm K, 0.1 ppm Mg. Accessed October 12, 2026.
  3. Fertilizer mold. Edward, Perpetual Preservation System. Cloudiness, sediment and mold from impurities; RO or distilled water for hard tap water; refrigeration optional. Accessed October 12, 2026.
  4. EI Light for those less techy folks. John N. and Tom Barr, The Barr Report. Trace mix dissolved separately (1 tablespoon CSM+B in 250 mL), stored refrigerated against mold. Accessed October 12, 2026.
  5. Potassium nitrate (CID 24434). PubChem, National Library of Medicine. Solubility in water 35.7 g/100 mL at 25 °C (ICSC); 1 g dissolves in 2.8 mL water at about 25 °C. Accessed October 12, 2026.
  6. Potassium dihydrogen phosphate (CID 516951). PubChem, National Library of Medicine. Solubility in water 22 g/100 mL (ICSC). Accessed October 12, 2026.
  7. Potassium sulfate (CID 24507). PubChem, National Library of Medicine. Solubility in water 12 g/100 mL at 25 °C (ICSC); decreased by potassium chloride or ammonium sulfate. Accessed October 12, 2026.
  8. Magnesium sulfate (CID 24083). PubChem, National Library of Medicine. Solubility in water 30 g/100 mL at 20 °C (ICSC), anhydrous basis. Accessed October 12, 2026.