DIY fertilizer stock solution calculator: ppm per mL and solubility check
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].
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
- Dry fertilizer dosingConvert grams of KNO3, KH2PO4, K2SO4, Epsom salt or a trace mix into mg/L for your tank, or work back from a target ppm. Every molar mass is shown.
- EI and PPS-Pro plannerTurn the Estimative Index and PPS-Pro, as their authors published them, into grams or milliliters for your tank, with the build-up each schedule produces.
Background reading
- FertilizersEstimative Index (EI) dosing: what the method prescribesEI as Tom Barr wrote it up: dose a surplus three times a week, change 50 % of the water weekly, and why that caps build-up at twice the weekly dose.
- FertilizersHow ppm from dry fertilizer salts is calculatedThe molar-mass arithmetic behind every dosing chart: grams of salt to mg/L of nitrate, phosphate or potassium, with worked examples and the common traps.
- FertilizersPPS-Pro: the lean daily dosing method and its targetsPPS-Pro as its author published it: two 500 mL bottles, 1 mL per 40 L a day, low water-column targets, and how it differs from EI in intent and arithmetic.
- FertilizersMixing dry-salt stock solutions: solubility, separation and storageHow to turn dry fertilizer salts into a dosing bottle: solubility limits from PubChem, why phosphate and iron go in separate bottles, and storage and safety.
Sources
- 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.
- 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.
- 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.
- 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.
- 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.
- Potassium dihydrogen phosphate (CID 516951). PubChem, National Library of Medicine. Solubility in water 22 g/100 mL (ICSC). Accessed October 12, 2026.
- 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.
- 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.