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
Show as a tableValues behind the chart above
Category
Value
Top
0
Mid
0
Bottom
0
Unknown zone
0
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.
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.
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.
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.