TankStockPlan / no guesswork hidden

TankStockPlan: aquarium stocking and habitat checker

Review water ranges, group sizes, tank dimensions, and unresolved behavior constraints. No opaque stocking score. No false compatibility guarantee.

No sign-inLocal calculationsEditable assumptionsSource-linked methodology

Set the habitat first

Before you calculateFollow the evidence trail
  1. 01
    TankMeasure internal dimensions and fill
  2. 02
    WaterRecord cycle and chemistry
  3. 03
    LivestockCheck each species row

Illustrative starting inputs. Replace them with your own measurements and evidence.

01 / Set your assumptions

Set the habitat first

Lock the water volume and chemistry before you review species rows. The result keeps welfare constraints beside the stocking record.

Job stateBuild, then reviewSwitch from the tank baseline to species findings without clearing a field.
01Tank dimensionsUse internal water dimensions, not the outside stand.
02Water conditionsEnter the readings you can repeat and maintain.
Compares your measured flow against a general reference turnover rate for this filter type. Not a filtration sizing guarantee.
Choose which size column the bioload index and spacing checks use.

Look up a species (optional)

Uses GBIF's free, keyless species API. Nothing is requested until you click Look up.

0 records

Species and husbandry requirements

No unreviewed species catalog is presented as authoritative. Enter independently verified species-specific requirements, including social and adult-space needs.

Edit records Start with a row or import a CSV
SpeciesQuantityAdult size cmCurrent size cmMinimum volume LMinimum tank length cmMinimum groupMinimum °CMaximum °CMinimum pHMaximum pHMinimum dGHMaximum dGHBehaviorSwim zoneHusbandry evidenceRemove
Habitat canvas

Make every welfare constraint visible.

Volume and turnover set the frame; species rows carry the individual compatibility review.

Computed locally
Verify the aquarium cycle first

This is a constraint checker using your measurements and husbandry inputs, not expert approval to stock the aquarium.

Tank baselineWater column
Estimated water volume149 LInternal dimensions, fill fraction, and displacement
Filter turnover estimate4× / hrActual entered flow; not proof of adequate filtration
Species ledgerReview queue
Entered livestock count0Not a stocking-capacity recommendation
Checks needing review00 species rows have no source reference

Open each species row below to compare adult size, temperature, pH, and hardness. A zero queue means no entered rows need review.

Additional reference figuresBioload, stocking %, filtration
Relative bioload index0Body-length-cubed proxy using adult size; comparative only, not a measured waste figure
Entered-minimum stocking %0%Sum of entered per-species minimum volumes ÷ usable volume; over 100% flags a conflict
Reference filtration turnover6×/hrGeneral reference for Unknown, not a sizing guarantee

Swim-zone distribution

entered fish, by self-reported zone
Swim-zone distributionTop: 0Top0Mid: 0Mid0Bottom: 0Bottom0Unknown zone: 0Unknown zone0
Show as a tableValues behind the chart above
CategoryValue
Top0
Mid0
Bottom0
Unknown zone0

Before you act

  • Cycle status is not verified. Do not use this plan as a reason to add livestock. Confirm ammonia, nitrite, and stable biological filtration.
  • There is no inches-per-gallon rule or guaranteed safe bioload score here. Oxygen demand, filtration, adult biomass, feeding, plants, territory, and maintenance are not captured by one number.
  • Species ranges are user-entered and require specialist validation. Overlapping water ranges do not rule out aggression, predation, disease, or habitat mismatch.
  • Measured turnover (4×/hr) is below the 6×/hr reference commonly cited for an unspecified filter type. Reference value only, verify for your setup.

Species-by-species constraints

No matching records. Add records or adjust your filters.

Compatibility matrix (pairwise range overlap)

No matching records. Add records or adjust your filters.
Calculation notes & limitations

Usable liters = internal length × width × height in centimeters ÷ 1,000 × fill percentage − displacement.

Each species is checked against its entered adult-space, social-group, temperature, pH, and hardness requirements. Behavior and missing evidence remain explicit warnings.

Bioload index, stocking %, care level, and the compatibility matrix are computed only from what you enter; they are reference approximations, not verified husbandry approvals.

Saving is optional. Files and records never leave your browser through this app.
Field note / measured habitat

Use the tank as the first constraint.

Worked example: 149 L before stocking

A tank entered as 100 × 40 × 40 cm at 95% fill with 5% displacement yields 149.025 L, displayed as 149 L. A 600 L/h flow yields 4.026 turnovers per hour, displayed as 4×/hr. Those outputs describe the entered habitat; they do not approve a stocking plan.

Read a species row as a checklist

Each species row compares entered temperature, pH, and hardness with the row’s adult-size and care constraints. Keep the source note with the row and treat unknown values as a reason to review, rather than as a pass.

Cycle before adding livestock

RSPCA fish-care guidance describes cycling and water quality as core husbandry work. Use the cycle control to record what you know, then confirm readings with a current test method before adding fish.

02 / Look under the hood

The method is part of the tool.

Estimate actual water volume from internal dimensions, fill height, and displacement, not the nominal tank label.

Check each species against entered adult-space requirements, minimum social group, and measured water ranges.

Keep cycle status, aggression, missing husbandry evidence, and other uncertainty visible. Passing numeric checks never becomes a guaranteed compatibility score.

Read the full methodology
03 / Know the boundaries

Evidence before certainty.

Prioritize animal welfare. A specialist-reviewed husbandry plan and a properly cycled, stable aquarium are required; this calculator is not approval to add fish.

These are reference sources, not evidence that example records have been verified. Imported records retain the source links you provide.

Field notes / TankStockPlan
04 / Frequently asked

Common questions.

How is the actual water volume calculated?

Internal length × width × water fill height gives the wetted volume, then the substrate/decor displacement you enter is subtracted. This is closer to the real water volume than the nominal tank size printed on the box.

What counts as a passing filtration turnover?

Your measured filter flow is compared against a general reference turnover rate for the filtration type you select (sponge, HOB, canister, sump, or undergravel). It is a reference comparison, not a sizing guarantee for your specific stock.

Why does a species still show a review flag even though every number is in range?

Numeric range checks (space, group size, temperature, pH, hardness) never resolve behavior compatibility, unverified husbandry evidence, or an unset cycle status. Those stay flagged for manual review even when the measured ranges pass.

What does 'Cycle verified' change in the result?

If the aquarium cycle is not confirmed 'Yes', the result status is set to a warning regardless of the other checks, because adding fish to an unstable nitrogen cycle is a welfare risk independent of stocking math.

Is my data uploaded anywhere?

No. All calculations run in this browser. Saved plans, CSV imports, and JSON exports stay on your device unless you explicitly export or share a link.

Can I trust the example presets as a real stocking plan?

No. Presets only fill in tank dimensions for common gallon sizes. Species rows start empty and require your own independently verified adult size, group size, and water-range requirements.