How TankStocking works

Most stocking calculators are a black box. This page documents exactly how TankStocking reaches a verdict, where its data comes from, and — just as importantly — what it does not know.

Species data v2026.06 · updated 2026-06-02 · 126 species

The doctrine: welfare first, no false precision

TankStocking is built on three rules:

  1. Welfare checks can only lower a verdict, never raise it. A plan that fails any hard check can never read "Good", no matter how lightly stocked.
  2. No false precision. The headline is a clear risk band with reasons. The stocking-level gauge is an explicitly-labelled estimate, never presented as authority.
  3. We say when we don't know. If we don't have data for a species, we mark it a data gap instead of guessing.

Hard welfare checks (the blockers)

Any of these caps the verdict at "Caution" or "Not recommended" and is listed with the specific reason:

  • Minimum tank size — each species has a sourced minimum; a tank below it for any species is "Not recommended".
  • Group minimum — schooling and other social species kept below their minimum group are chronically stressed. (A pair-keeper kept singly is a gentle note, not a block.)
  • Temperature compatibility — if preferred ranges don't share a safe window it's a clash; coldwater fish such as goldfish are also kept out of tropical communities even when the ranges marginally touch.
  • Predation by size — a non-peaceful fish roughly 3.5× longer than a tankmate is flagged as a predation risk (e.g. angelfish with neon tetras, or an oscar with small fish).
  • Aggression & territoriality — aggressive or territorial species mixed with calmer tankmates are flagged; semi-aggressive species get a "keep with robust, similarly-sized tankmates" note.
  • Fin-nipping — known fin-nippers paired with long-finned fish (bettas, angelfish, fancy guppies) are flagged.
  • Keep-singly species — fish whose own kind fight, often fatally (bettas, paradise fish, jewel cichlids, the dwarf pufferfish…), are "Not recommended" in multiples.
  • Species-only fish — species best kept on their own (e.g. the dwarf pufferfish) are flagged when placed in a mixed community.

Two more guards: we never show "Good" before you've entered a tank size (we can't run the size and bio-load checks without it), and impossible or non-numeric volumes are ignored rather than trusted.

The bio-load estimate (the gauge)

The "one inch per gallon" rule is unreliable, so TankStocking weights each fish by adult body length and a waste class (low / medium / high), sums it, and compares it to a capacity derived from your tank volume. The result is a rough percentage and a zone (Light / Comfortable / Heavy / Over). It is a guide to help you stock conservatively — not a precise measurement, and never the basis for a "safe" verdict on its own.

How we handle planted tanks

A heavily-planted, mature tank processes waste better, so enabling the planted toggle applies a small (about 10%) bio-load allowance. That is the only thing plants change. Plants never reduce a minimum tank size, shrink an adult fish, satisfy a schooling need, calm aggression, or fix a temperature clash. This deliberately avoids the opposite error — older tools that flag healthy planted tanks as overstocked.

Where the species data comes from

Every species figure (adult size, minimum tank, group minimum, temperament, temperature and pH ranges) is taken from reputable care references and reviewed for consistency. Uncertain values are kept conservative. The data set is versioned and dated so you can see how current it is. Primary sources include:

  • AquaInfo / Aquarium Wiki
  • Aquadiction
  • Aquadiction / Fish Laboratory
  • Aquadiction / FishLore
  • Aquadiction / Wikipedia
  • Aquariadise
  • Aquariadise (aquariadise.com/pictus-catfish); Aquarium Source
  • Aquariadise (aquariadise.com/rubber-lip-pleco); Fish Laboratory
  • Aquariadise fancy goldfish caresheet; Fishlore
  • Aquariadise; Fish Laboratory scarlet badis guides
  • Aquarium Breeder; Aquatic Arts mystery snail guides
  • Aquarium Co-Op
  • Aquarium Co-Op (aquariumcoop.com/blogs/aquarium/discus-care-guide); FishLore
  • Aquarium Co-Op / Buce Plant
  • Aquarium Co-Op Endler's care guide / The Aquarium Wiki
  • Aquarium Co-Op amano shrimp care; Aquadiction
  • Aquarium Co-Op cherry shrimp care; The Shrimp Farm
  • Aquarium Co-Op guppy care guide / FishBase Poecilia reticulata
  • Aquarium Co-Op molly care guide / FishBase Poecilia latipinna
  • Aquarium Co-Op nerite snail care; Aquatic Arts
  • Aquarium Co-Op platy care guide / FishBase Xiphophorus maculatus
  • Aquarium Co-Op white cloud care guide; Seriously Fish
  • Aquarium Source / aqua-fish.net Ancistrus care guides
  • Aquarium Source common pleco guide; Aquarium Wiki
  • EasyClean Aquatics; Fish Laboratory
  • Fish Laboratory (fishlaboratory.com/fish/clown-pleco); AquariumStoreDepot
  • Fish Laboratory (fishlaboratory.com/fish/upside-down-catfish); Aquarium Source
  • Fishlore / Aquarium Source
  • Fishlore gold barb profile / FishBase Barbodes semifasciolatus
  • Fishlore swordtail profile / FishBase Xiphophorus hellerii
  • Loaches Online (loaches.com); Aquarium Co-Op
  • Loaches Online / Fish Laboratory
  • Seriously Fish
  • Seriously Fish (Epiplatys annulatus); Aquarium Co-Op
  • Seriously Fish (Pethia conchonius) seriouslyfish.com/species/pethia-conchonius
  • Seriously Fish (Pethia padamya) seriouslyfish.com/species/pethia-padamya
  • Seriously Fish (Puntigrus tetrazona) seriouslyfish.com/species/puntigrus-tetrazona
  • Seriously Fish (Puntius titteya) seriouslyfish.com/species/puntius-titteya
  • Seriously Fish (chromobotia-macracanthus) / Loaches Online
  • Seriously Fish (otocinclus-macrospilus) / Aquarium Co-Op care sheet
  • Seriously Fish (seriouslyfish.com/species/andinoacara-pulcher); Aquariadise
  • Seriously Fish (seriouslyfish.com/species/astronotus-ocellatus); FishLore
  • Seriously Fish (seriouslyfish.com/species/corydoras-habrosus); Aquarium Co-Op
  • Seriously Fish (seriouslyfish.com/species/corydoras-paleatus); Aquarium Co-Op
  • Seriously Fish (seriouslyfish.com/species/hemichromis-bimaculatus); Aquariadise
  • Seriously Fish (seriouslyfish.com/species/kryptopterus-vitreolus); Aquariadise
  • Seriously Fish / Aqua-Fish
  • Seriously Fish / Aquariadise
  • Seriously Fish / Aquarium Co-Op
  • Seriously Fish / FishBase
  • Seriously Fish — Balantiocheilos melanopterus
  • Seriously Fish — Barbonymus schwanenfeldii
  • Seriously Fish — Crossocheilus langei / SAE; Aquarium Co-Op SAE care
  • Seriously Fish — Desmopuntius pentazona
  • Seriously Fish — Epalzeorhynchos bicolor
  • Seriously Fish — Epalzeorhynchos frenatum
  • Seriously Fish — Heterandria formosa
  • Seriously Fish — Oliotius oligolepis
  • Seriously Fish — Sahyadria denisonii
  • Seriously Fish; Aquarium Co-Op Boesemani guide
  • Seriously Fish; Aquarium Co-Op dwarf neon rainbowfish guide
  • Tankarium / aqua-fish.net
  • The Aquarium Wiki (theaquariumwiki.com/wiki/Carassius_auratus); Fishlore Goldfish Care
  • The Shrimp Farm

What TankStocking does not do

  • It is not veterinary advice and cannot diagnose or treat illness.
  • It does not know your specific filtration, maintenance routine, or individual fish — all of which matter.
  • It does not yet cover saltwater/reef tanks, plants, or invertebrate-specific compatibility beyond basics.
  • It cannot guarantee an outcome. Cycle your tank, test your water, add fish gradually, and observe behaviour.

If you spot a species figure you believe is wrong, that feedback is welcome — accuracy protects animals, and we'd rather fix it. Contact & about →