How our stocking calculator works
We combine five checks: stocking level (bioload), shared water conditions, pair compatibility, minimum tank size and group size. Each uses researched values for the 150 species in our database. Every warning tells you which fish caused it and why.
1. Stocking level (bioload)
Fish produce waste roughly in proportion to their body mass and metabolism, so a large fish counts for much more than a small one of the same total length. For each species we use its adult size, because shop-size fish grow.
- Load per fish = (adult length in cm)1.5 ÷ 2 × waste factor. A 4 cm (1.6 in) fish counts as 4 units.
- Waste factor is 1 for slim community fish. Heavy or messy species are higher: deep-bodied fish such as angelfish 1.2–1.4, plecos 1.5–2, goldfish 2, oscars and other large cichlids 2–2.5. Shrimp and small snails are 0.15–0.3.
- Tank capacity = volume in litres × 0.9 (substrate, decor and the gap under the lid take about 10%) × 1.6 units per litre.
- Filter: if you enter filter flow, turnover under 3× the tank volume per hour lowers capacity by 20%, 3–5× by 10%, 8–12× raises it 10% and 12× or more by 15%.
- Live plants: a heavily planted tank gets 10% more capacity.
We show the result as a percentage. Up to 85% is comfortable. 85–100% works with strong filtration and weekly water changes. Over 100% is overstocked.
We calibrated the model against common, well-tested hobby guidance: about 30 neon tetras alone fill a well-filtered 20 gallon tank, ten neons with six corydoras is a moderate load, and fancy goldfish follow the "20 gallons for the first, 10 more for each extra" rule.
2. Shared water conditions
Every species has a comfortable long-term range for temperature, pH and general hardness (GH). We find the overlap across all your fish.
- No temperature overlap: they can't share a tank (for example goldfish and most tropical fish).
- Overlap under 1.5 °C (about 3 °F): possible but tight, so we warn.
- pH ranges more than 0.5 apart: not compatible. Smaller gaps get a warning.
- Hardness more than 4 dGH apart: we warn (soft-water vs hard-water species).
3. Compatibility between each pair
- Predation: each species has the largest adult fish it can realistically eat. If a tank mate's adult size is at or below that, they're not compatible. Up to 30% larger gets a warning.
- Shrimp and snails: species that hunt shrimp or eat snails are flagged. Larger shrimp such as amanos get a warning rather than a hard no.
- Fin nipping: notorious nippers are not compatible with long-finned fish. Occasional nippers get a warning.
- Aggression: aggressive species are not compatible with peaceful ones. Other mismatches, such as semi-aggressive fish with much smaller peaceful fish, get warnings.
- Territory: territorial fish clash with species that use the same level of the tank.
- Long-finned rivals: male bettas often attack colourful long-finned fish such as fancy guppies.
- Species-only fish: some, like pea puffers, are best kept alone.
- African rift lake cichlids: Lake Malawi and Lake Tanganyika cichlids need hard, alkaline water, rockwork and tank mates from the same lake, so we mark them as not compatible with other fish. The one exception is a sturdy catfish such as a bristlenose pleco, kept as a clean-up fish (caution).
4. Minimum tank size and length
Some fish need room to swim or grow, no matter how few you keep. If a species' minimum volume is more than your tank, we flag it. If it's more than 25% bigger, it's a hard no. Active swimmers also have a minimum tank length, which we check when you enter yours.
5. Groups and same-species aggression
Schooling and shoaling fish kept below their minimum group size get a warning, because small groups become stressed, hide and get sick. Species whose males fight (bettas, many cichlids and gouramis) get a warning when you add more than one.
What the calculator can't know
- Individual personalities vary. Some "peaceful" fish are bullies, and some aggressive fish are calm.
- Tank layout matters: plants, caves and sight lines reduce aggression.
- Water quality depends on your maintenance. Test your water and change it regularly.
- Adding fish too fast overwhelms a new filter even if the final stocking level is fine.
Treat results as strong guidance, not a guarantee. If you see a problem we missed, tell us.
Where the species data comes from
Each species profile was researched from at least two reputable sources, such as Seriously Fish, FishBase, PlanetCatfish and established aquarium retailers' care guides, then independently fact-checked. When sources disagree we use the conservative, widely accepted hobby value. Each species page lists the sources we used and when it was last reviewed. Read our editorial policy.