Calculator

Aquarium Stocking Calculator (Freshwater + Saltwater)

The old "one inch of fish per gallon" rule has been wrong since 1935 but it survives because it's simple. This calculator runs three methods at once — bio-load (gal-per-inch tuned by body type), surface area (oxygen exchange), and inch-per-gallon for reference — and adds the compatibility checks the numerical methods can't capture: temperature overlap, pH overlap, schooling minimums, and tank-footprint length for active swimmers. Pick from 30 freshwater and saltwater species; the calculator does the rest.

Aquarium stocking

Add a species
Total inches of fish
0.0in
Bio-load (best method)
0.0 / 29gal

0 % of capacity

Inch-per-gallon
0.0 / 29in/gal

0 % — included for reference, not gospel

Surface area
0 / 360in²

0 % of provided surface

Empty — add fish to begin

Three methods reported because they disagree by design. Bio-load is the most accurate; surface-area helps for shallow tanks; inch-per-gal is here because people still expect it. The compatibility checks (temp / pH overlap, schooling minimums, footprint length) are guidelines from peer-reviewed and hobby-consensus sources.

How this is calculated

Three methods reported in parallel.

Method 1: Inch per gallon (legacy)
  capacity_inches = tank_gal × 1

Method 2: Surface area (Geisler 1981)
  required_in² = sum(fish_in × surface_factor[body])
    slim:   12 in² per inch
    medium: 16 in² per inch
    heavy:  20 in² per inch
  provided_in² = tank_length × tank_width

Method 3: Bio-load (recommended)
  used_gal = sum(fish_in × gal_per_inch[body])
    slim:   0.8 gal per inch
    medium: 1.2 gal per inch
    heavy:  2.0 gal per inch
  percent = used_gal / tank_gal × 100

Compatibility checks (warnings):
  - Temperature overlap < 4 °F  → flag
  - pH overlap < 0.5 unit       → flag
  - Schooler count < min_group  → flag
  - Tank length < species_min   → flag
  - Tank gal < species_min_gal  → flag
  - Bio-load > 100 %            → flag overstock

The inch-per-gallon rule comes from William T. Innes' 1935 Exotic Aquarium Fishes. It works for slim fish under 4 inches in a typical rectangular tank. It fails for goldfish, oscars, plecos, and any fish where body mass scales as roughly the cube of length rather than the length itself. Surface area was first formalised by Geisler (1981, Aquarium Hobbyist Magazine) and remains the most defensible method for shallow or unusually-shaped tanks.

The bio-load multiplier (0.8 / 1.2 / 2.0 gal per inch by body type) is the modern hobbyist consensus, drawn from the AqAdvisor algorithm and Practical Fishkeeping's stocking guides. It accounts for the fact that a 4-inch oscar produces ten times the waste of a 4-inch swordtail.

None of these methods capture aggression, territoriality, or breeding behaviour. The compatibility-check warnings catch the most common mistakes (mixing African cichlids with Amazon tetras due to pH; understocking a school) but a calculator can't replace species-level research before purchase.

FAQ

Is the one-inch-per-gallon rule actually useful?
Only for slim community fish under 4 inches. It dramatically underestimates the bio-load of goldfish, large cichlids, and plecos because waste scales with body mass (length cubed), not body length. Use the bio-load method as the primary read; treat inch-per-gallon as a sanity-check ceiling, not a target.
Why does the calculator warn about my schoolers?
Schooling fish (neon tetras, corydoras, rasboras, harlequins, danios) need a minimum group size to behave naturally. Below that count they stress, hide, get colour-faded, and live shorter lives. Most fall around 6, some prefer 8–10. Adding 3 of a schooling species costs the same as 6 but you lose the behaviour you bought them for.
Can I mix freshwater and saltwater species in one tank?
No. Different salinity, pH, and hardness ranges. Brackish setups (mollies, scats, archerfish) exist but they're a third water type, not a blend. The calculator flags fresh/salt mixing as an error.
Why does my tank length matter?
Active swimmers — danios, tangs, oscars, large barbs — need horizontal swimming distance. A 30-gal tall (24″ long) and a 30-gal long (36″ long) hold the same volume but support different species. The calculator flags species whose minimum footprint exceeds your tank length.
How does this compare to AqAdvisor?
AqAdvisor has a much larger species database (hundreds vs our 30) but uses a single proprietary algorithm. We show three methods side-by-side so you can see how much they disagree, and we expose the parameter ranges so you can verify each species before adding. We're a sanity-check tool; AqAdvisor is an exhaustive lookup. Use both.
Why do you report multiple methods if bio-load is best?
Because they disagree, and seeing the disagreement is informative. If bio-load says 70 % and surface-area says 110 %, your tank is shallow relative to its footprint and you should reduce stocking. If bio-load says 50 % and inch-per-gallon says 100 %, you've got messy heavy-bodied fish and inch-per-gallon is misleading you. Three numbers tell more than one.
Share / embed this calculator

Paste this snippet into any blog or forum post that allows raw HTML to embed the calculator.

<iframe
  src="https://reefcalcs.com/embed/freshwater-stocking/"
  width="100%"
  height="720"
  style="border: 1px solid #1C2D34; border-radius: 8px; max-width: 720px;"
  loading="lazy"
  title="ReefCalcs Aquarium Stocking Calculator (Freshwater + Saltwater)"
></iframe>

Sources & references

  1. 01
  2. 02
  3. 03
    Practical Fishkeeping — Stocking your aquarium guide
    https://www.practicalfishkeeping.co.uk/
  4. 04
  5. 05
    INJAF — Goldfish minimum tank sizes
    https://injaf.org/aquarium-fish/the-goldfish-section/what-size-tank-for-goldfish/

Last reviewed