Aquaponics · Calculator

Fish-to-plant ratio

Does your fish stocking match your grow bed area? Nitrogen supply vs nitrogen demand.

Fish-to-plant ratio Inputs in L, m²
Filters fish picker to species you can legally stock and flags those that need permits. Regulations change; verify with your local authority before stocking.
Fish stock

    Using species mature weights. Total biomass: -- kg.

    Crops

      Using species spacing. Total bed area: -- m².

      Or enter rough totals instead (used when rosters are empty)

      Skip the species pickers and enter totals directly. Useful for back-of-envelope sizing before picking specific fish or crops.

      Used only when fish roster above is empty.
      Grow bed area by crop type (m²)

      Used only when crop roster above is empty. Total: -- m².

      Override fish + plant defaults (optional)

      Defaults pull from species data when you use the rosters. Override these if you know your specific conditions differ.

      Mode --
      Daily feed -- grams per day
      Nitrogen supply (from fish) -- grams N per day
      Nitrogen demand (from plants) -- grams N per day
      Balance ratio -- supply ÷ demand
      Bed area check --
      Climate compatibility --
      Watch for deficiencies --
      Verdict --
      Per-species math uses each fish's mature weight, feed rate, and protein content; each crop's spacing and category N demand. Mixed rosters (multiple fish species or crops) sum honestly: the calc doesn't pretend the average is uniform.

      What this does

      Pick your fish by species and count (or type a total biomass if you'd rather), add crops by species with a bed area for each, and the calc reports whether the nitrogen the fish produce roughly matches what the plants demand. Each fish species carries its own feed rate and feed protein; each crop carries its own nitrogen appetite. The "specifics" section lets you tune for life stage (juveniles eat 2-3x what mature fish do), water temperature (cool water cuts feed rate), and plant maturity (seedlings draw a fifth of mature-canopy demand).

      The math

      Fish produce nitrogen through excretion and uneaten feed. Daily feed is roughly 1.5% of fish body weight for a mixed-stage system at warm temperatures. Juveniles eat ~3%; mature fish ~1.2%; cold-water fish about half the warm-water rate. Feed is about 16% nitrogen by protein weight, and the fish keep roughly 30% of it, so a 32% protein omnivore feed leaves about 3.6% of its weight as nitrogen for the plants; a 40% carnivore feed about 4.5%, a 25% herbivore feed about 2.8%.

      Plants consume nitrogen at category-specific rates. Per square meter of mature canopy:

      • Leafy greens (lettuce, kale): 1.5 g N/day
      • Herbs (basil, mint): 1.0 g N/day
      • Fruiting crops (tomato, pepper): 3.0 g N/day
      • Root crops (radish, beet): 2.0 g N/day

      Seedlings draw about 20% of these rates, vegetative-stage plants about 60%. A bed planted with fresh transplants is effectively N-light for several weeks, which is why aquaponics systems are easy to start (slow plant uptake gives the biofilter time to mature).

      Balanced means supply matches demand within reason (1.0 to 1.5x demand). Below 1.0, plants starve. Above 1.5, nitrate builds up in the water.

      What this calc doesn't yet do

      These limitations are real and matter for fine-tuning:

      Plant demand is by crop category (leafy, herbs, fruiting, roots) scaled by the species' own appetite, so watercress and lettuce differ, but two lettuces don't. Fine differences between cultivars are below what this model can see.

      Fish nitrogen is per species, but every fish of a species is treated as the same adult; a tank of tilapia halfway to harvest excretes less than the calc assumes. Use the life-stage setting for that.

      Potassium, calcium and iron get a flag when the roster is likely to run short (fruiting crops, iron-hungry greens), with fish-safe supplements to reach for. It's a flag, not a dose; the system designer works out weekly amounts.

      Day-night cycles aren't modeled. Plants stop taking up nitrogen at night while fish keep excreting, so ammonia spikes overnight in dense systems. The calc averages over 24 hours.

      Cross-references

      For initial system sizing from a target tank volume, use the system sizing calculator. It uses the same feed-rate and feed-to-bed ratios this calc does, so the numbers are consistent.

      For nutrient mixing when fish waste isn't enough (typically K supplementation), use the nutrient mix calculator.

      For per-crop compatibility and growing system selection, use the garden planner.

      Further reading