Angelfish tank mates
Every recommendation below is computed, not copied: the AquaSage engine paired Angelfish (15 cm / 5.9 in, semi-aggressive) with 271 fish and invertebrates in a spacious reference tank and scored each pair for water-parameter overlap, temperament, predation and husbandry. A species makes the green list only when every check passes at 24–30 °C (75.2–86 °F).
Verdicts by the AquaSage engine v0.1.2 in a 450 L reference tank. Read the full methodology →
Best tank mates for Angelfish

Moonlight Gourami
15 cm · 24–30°C

Vampire Shrimp
15 cm · 22–29°C

Pearl Gourami
12 cm · 24–30°C

Kribensis
10 cm · 24–28°C

Sveni Eartheater
20 cm · 23–30°C

Clown Pleco
9 cm · 22–28°C

Thick-lipped Gourami
9 cm · 22–28°C

Dwarf Gourami
8.8 cm · 22–28°C

Congo Tetra
8.5 cm · 23–28°C

African Butterfly Cichlid
8 cm · 23–28°C

Bamboo Shrimp
8 cm · 22–29°C

Dwarf Flag Cichlid
8 cm · 22–29°C
4 more species pass every check:
Possible with care
- African Butterflyfish— Some tension — cover and space are doing the work
- Agassiz's Dwarf Cichlid— Everyone is close on pH — one fish sits just outside its favourite
- Altum Angelfish— Everyone is close on temperature — one fish sits just outside its favourite
- Banjo Catfish— Everyone is close on temperature — one fish sits just outside its favourite
- Betta (Siamese Fighting Fish)— Some tension — cover and space are doing the work
- Bleeding Heart Tetra— Serious temperament conflict
- Blood Parrot Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Blue Acara— Everyone is close on temperature — one fish sits just outside its favourite
- Blue Dolphin Cichlid— pH is a compromise for someone here
- Boesemani Rainbowfish— pH is a compromise for someone here
- Bolivian Ram— Everyone is close on temperature — one fish sits just outside its favourite
- Brichard's Teleogramma— Everyone is close on temperature — one fish sits just outside its favourite
- Bristlenose Pleco— Everyone is close on temperature — one fish sits just outside its favourite
- Bronze Corydoras— Everyone is close on temperature — one fish sits just outside its favourite
- Buenos Aires Tetra— Serious temperament conflict
- Buffalohead Cichlid— Some tension — cover and space are doing the work
- Celebes Rainbowfish— Everyone is close on pH — one fish sits just outside its favourite
- Checkerboard Cichlid— Everyone is close on pH — one fish sits just outside its favourite
- Chinese Algae Eater— Serious temperament conflict
- Cockatoo Dwarf Cichlid— Some tension — cover and space are doing the work
- Congo Dwarf Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Convict Cichlid— Serious temperament conflict
- Denison Barb— Everyone is close on temperature — one fish sits just outside its favourite
- Discus— Everyone is close on temperature — one fish sits just outside its favourite
- Doctor Fish— Everyone is close on temperature — one fish sits just outside its favourite
- Dojo (Weather) Loach— Temperature is a compromise for someone here
- Dwarf Neon Rainbowfish— Everyone is close on temperature — one fish sits just outside its favourite
- Elephantnose Fish— Some tension — cover and space are doing the work
- Ellioti Cichlid— Everyone is close on pH — one fish sits just outside its favourite
- Emerald Cory— Everyone is close on temperature — one fish sits just outside its favourite
- Featherfin Squeaker— Everyone is close on temperature — one fish sits just outside its favourite
- Festivum (Flag Cichlid)— Setup needs adjustments for some species
- Figure-8 Puffer— Serious temperament conflict
- Firemouth Cichlid— pH is a compromise for someone here
- Glass Catfish— Everyone is close on temperature — one fish sits just outside its favourite
- Gold Barb— Everyone is close on temperature — one fish sits just outside its favourite
- Golden Dwarf Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Golden Wonder Killifish— Everyone is close on temperature — one fish sits just outside its favourite
- Green Discus— Everyone is close on temperature — one fish sits just outside its favourite
- Green Terror— Everyone is close on temperature — one fish sits just outside its favourite
- Heckel Discus— Everyone is close on temperature — one fish sits just outside its favourite
- Jack Dempsey— pH is a compromise for someone here
- Jewel Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Keyhole Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Kissing Gourami— Some tension — cover and space are doing the work
- Kuhli Loach— pH is a compromise for someone here
- Macmasteri Dwarf Cichlid— pH is a compromise for someone here
- Paradise Fish— Serious temperament conflict
- Paraguay Eartheater— Everyone is close on temperature — one fish sits just outside its favourite
- Penguin Tetra— Serious temperament conflict
- Peppered Corydoras— Temperature is a compromise for someone here
- Pictus Catfish— Everyone is close on temperature — one fish sits just outside its favourite
- Polka Dot Loach— Serious temperament conflict
- Port Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Rabbit Snail— Everyone is close on pH — one fish sits just outside its favourite
- Rainbow Cichlid— pH is a compromise for someone here
- Rainbow Shark— Serious temperament conflict
- Red Devil— Everyone is close on temperature — one fish sits just outside its favourite
- Red Rainbowfish— Everyone is close on pH — one fish sits just outside its favourite
- Red Whiptail Catfish— Everyone is close on temperature — one fish sits just outside its favourite
- Red-Tail Shark— Serious temperament conflict
- Redhead Cichlid— pH is a compromise for someone here
- Rubber Lip Pleco— Everyone is close on temperature — one fish sits just outside its favourite
- Salvini Cichlid— pH is a compromise for someone here
- Scissortail Rasbora— Everyone is close on temperature — one fish sits just outside its favourite
- Severum— Some tension — cover and space are doing the work
- Siamese Algae Eater— Everyone is close on temperature — one fish sits just outside its favourite
- Spotted Hoplo— Everyone is close on temperature — one fish sits just outside its favourite
- Striped Kribensis— Everyone is close on temperature — one fish sits just outside its favourite
- Sunshine Peacock— Everyone is close on temperature — one fish sits just outside its favourite
- Swordtail— Everyone is close on temperature — one fish sits just outside its favourite
- T-Bar Cichlid— pH is a compromise for someone here
- Texas Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Threadfin Acara— Some tension — cover and space are doing the work
- Three-spot Gourami— Some tension — cover and space are doing the work
- Tiger Barb— Serious temperament conflict
- Turquoise Rainbowfish— Everyone is close on temperature — one fish sits just outside its favourite
- Uaru (Triangle Cichlid)— One swimming zone is overcrowded
- Umbrella Dwarf Cichlid— Everyone is close on temperature — one fish sits just outside its favourite
- Upside-down Catfish— Everyone is close on temperature — one fish sits just outside its favourite
- Venezuelan Cory— Everyone is close on temperature — one fish sits just outside its favourite
- Wrestling Halfbeak— pH is a compromise for someone here
- Yoyo Loach— Serious temperament conflict
Avoid with Angelfish
- Acei Cichlid— Only one pH value suits everyone — no margin
- Adonis Pleco— Tank is too small for some species
- Agassiz's Cory— A predator will eat a tankmate
- Amano Shrimp— A predator will eat a tankmate
- Assassin Snail— A predator will eat a tankmate
- Auratus Cichlid— Only one pH value suits everyone — no margin
- Bala Shark— Tank is too small for some species
- Black Moor Goldfish— No temperature suits every species here
- Black Neon Tetra— A predator will eat a tankmate
- Black Phantom Tetra— A predator will eat a tankmate
- Black Ruby Barb— Serious temperament conflict
- Black Skirt Tetra— Serious temperament conflict
- Blackline Rasbora— A predator will eat a tankmate
- Bladder Snail— A predator will eat a tankmate
- Bloodfin Tetra— Serious temperament conflict
- Blue Tiger Shrimp— A predator will eat a tankmate
- Blue Velvet Shrimp— A predator will eat a tankmate
- Borleyi (Redfin Hap)— Only one pH value suits everyone — no margin
- Borneo Sucker— Only one temperature suits everyone — no margin
- Brevis Shell Dweller— Only one pH value suits everyone — no margin
- Brichardi (Fairy Cichlid)— No pH value suits every species here
- Bumblebee Cichlid— No pH value suits every species here
- Bumblebee Goby— A predator will eat a tankmate
- Butterfly Hillstream Loach— Only one temperature suits everyone — no margin
- Calvus Cichlid— No pH value suits every species here
- Cardinal Tetra— A predator will eat a tankmate
- Celestial Pearl Danio— A predator will eat a tankmate
- Checkered Barb— Serious temperament conflict
- Cherry Barb— A predator will eat a tankmate
- Cherry Shrimp— A predator will eat a tankmate
- Chili Rasbora— A predator will eat a tankmate
- Chocolate Gourami— A predator will eat a tankmate
- Clown Killifish— A predator will eat a tankmate
- Clown Loach— Tank is too small for some species
- Cobalt Blue Zebra— No pH value suits every species here
- Cochu's Blue Tetra— Serious temperament conflict
- Colombian Ramshorn Snail— A predator will eat a tankmate
- Comet Goldfish— No temperature suits every species here
- Common Goldfish— No temperature suits every species here
- Common Pleco— Tank is too small for some species
- Compressiceps Cichlid— No pH value suits every species here
- Crystal Red Shrimp— A predator will eat a tankmate
- Cuckoo Catfish— Only one pH value suits everyone — no margin
- Cylindricus Cichlid— Only one pH value suits everyone — no margin
- Cyprichromis— No pH value suits every species here
- Demasoni Cichlid— Only one pH value suits everyone — no margin
- Demon Eartheater— Tank is too small for some species
- Diamond Tetra— Serious temperament conflict
- Dogtooth Cichlid— Only one pH value suits everyone — no margin
- Duboisi Tropheus— No pH value suits every species here
- Dwarf Chain Loach— Serious temperament conflict
- Dwarf Orange Crayfish— A predator will eat a tankmate
- Dwarf Pea Puffer— Serious temperament conflict
- Dwarf Petricola Catfish— Only one pH value suits everyone — no margin
- Dwarf Rasbora— A predator will eat a tankmate
- Electric Blue Ahli— No pH value suits every species here
- Electric Yellow Lab— No pH value suits every species here
- Elongate Mbuna— Only one pH value suits everyone — no margin
- Ember Tetra— A predator will eat a tankmate
- Emperor Tetra— A predator will eat a tankmate
- Endler's Livebearer— A predator will eat a tankmate
- Endlicheri Bichir— Tank is too small for some species
- Even-spotted Synodontis— Only one pH value suits everyone — no margin
- Fantail Goldfish— No temperature suits every species here
- Five-bar Cichlid— Only one pH value suits everyone — no margin
- Flame Tetra— A predator will eat a tankmate
- Forktail Rainbowfish— A predator will eat a tankmate
- Freshwater Clam— A predator will eat a tankmate
- Frontosa— No pH value suits every species here
- German Blue Ram— A predator will eat a tankmate
- Ghost Shrimp— A predator will eat a tankmate
- Glowlight Danio— A predator will eat a tankmate
- Glowlight Tetra— A predator will eat a tankmate
- Goby Cichlid— No pH value suits every species here
- Golden Julie— Only one pH value suits everyone — no margin
- Golden Pencilfish— A predator will eat a tankmate
- Golden Tetra— A predator will eat a tankmate
- Green Neon Tetra— A predator will eat a tankmate
- Green Spotted Pufferfish— Only one pH value suits everyone — no margin
- Guppy— A predator will eat a tankmate
- Harlequin Rasbora— A predator will eat a tankmate
- Head-and-Tail-Light Tetra— A predator will eat a tankmate
- Honey Gourami— A predator will eat a tankmate
- Hongi Cichlid— Only one pH value suits everyone — no margin
- Iridescent Shark— Tank is too small for some species
- Jaguar Cichlid— Tank is too small for some species
- Japanese Trapdoor Snail— A predator will eat a tankmate
- Johanni Cichlid— No pH value suits every species here
- Julii Cory— A predator will eat a tankmate
- Kenyi Cichlid— No pH value suits every species here
- Koi— No temperature suits every species here
- Lambchop Rasbora— A predator will eat a tankmate
- Least Killifish— A predator will eat a tankmate
- Lemon Cichlid— Only one pH value suits everyone — no margin
- Lemon Tetra— A predator will eat a tankmate
- Leopard Danio— A predator will eat a tankmate
- Little Corydoras— A predator will eat a tankmate
- Livingstoni— No pH value suits every species here
- Maingano Cichlid— No pH value suits every species here
- Malawi Eyebiter— Only one pH value suits everyone — no margin
- Malawi Hawk— Only one pH value suits everyone — no margin
- Malaysian Trumpet Snail— A predator will eat a tankmate
- Marble Hatchetfish— A predator will eat a tankmate
- Marlieri Cichlid— Only one pH value suits everyone — no margin
- Masked Julie— No pH value suits every species here
- Medaka Ricefish— A predator will eat a tankmate
- Molly— Only one pH value suits everyone — no margin
- Multifasciatus Shell Dweller— Only one pH value suits everyone — no margin
- Mystery Snail— A predator will eat a tankmate
- Neon Tetra— A predator will eat a tankmate
- Nerite Snail— A predator will eat a tankmate
- Ocellatus Shell Dweller— Only one pH value suits everyone — no margin
- Odessa Barb— Serious temperament conflict
- Oranda Goldfish— No temperature suits every species here
- Ornate Bichir— Tank is too small for some species
- Oscar— Tank is too small for some species
- Otocinclus— A predator will eat a tankmate
- Panda Corydoras— A predator will eat a tankmate
- Peaceful Betta— A predator will eat a tankmate
- Peacock Bass— Tank is too small for some species
- Peacock Cichlid— Only one pH value suits everyone — no margin
- Pearl Danio— A predator will eat a tankmate
- Pike Cichlid— Tank is too small for some species
- Platy— A predator will eat a tankmate
- Powder Blue Cichlid— No pH value suits every species here
- Purple Emperor Tetra— A predator will eat a tankmate
- Pygmy Corydoras— A predator will eat a tankmate
- Ramshorn Snail— A predator will eat a tankmate
- Ranchu Goldfish— No temperature suits every species here
- Red Empress— Only one pH value suits everyone — no margin
- Red Terror— Tank is too small for some species
- Red Zebra Cichlid— No pH value suits every species here
- Regan's Julie— Only one pH value suits everyone — no margin
- Reticulated Flying Fox— Only one temperature suits everyone — no margin
- Reticulated Hillstream Loach— A predator will eat a tankmate
- Rostratus— Only one pH value suits everyone — no margin
- Rosy Barb— Only one temperature suits everyone — no margin
- Rosy Red Minnow— No temperature suits every species here
- Rosy Tetra— A predator will eat a tankmate
- Royal Pleco— Tank is too small for some species
- Rummynose Tetra— A predator will eat a tankmate
- Rusty Cichlid— Only one pH value suits everyone — no margin
- Ryukin Goldfish— No temperature suits every species here
- Sailfin Molly— Only one hardness (GH) value suits everyone — no margin
- Sailfin Pleco— Tank is too small for some species
- Salt and Pepper Cory— A predator will eat a tankmate
- Sand-sifting Xenotilapia— No pH value suits every species here
- Saulosi Cichlid— Only one pH value suits everyone — no margin
- Scarlet Badis— A predator will eat a tankmate
- Serpae Tetra— Serious temperament conflict
- Shubunkin Goldfish— No temperature suits every species here
- Silver Arowana— Tank is too small for some species
- Silver Moony— Freshwater and brackish species cannot share a tank
- Silver Tip Tetra— Serious temperament conflict
- Similis Shell Dweller— Only one pH value suits everyone — no margin
- Skunk Cory— A predator will eat a tankmate
- Sparkling Gourami— A predator will eat a tankmate
- Star Sapphire— No pH value suits every species here
- Strawberry Rasbora— A predator will eat a tankmate
- Sulawesi Cardinal Shrimp— A predator will eat a tankmate
- Taiwan Reef Cichlid— No pH value suits every species here
- Telescope Goldfish— No temperature suits every species here
- Thai Micro Crab— A predator will eat a tankmate
- Threadfin Petrochromis— No pH value suits every species here
- Threadfin Rainbowfish— A predator will eat a tankmate
- Tropheus— No pH value suits every species here
- Venustus (Giraffe Cichlid)— Only one pH value suits everyone — no margin
- White Cloud Mountain Minnow— Only one temperature suits everyone — no margin
- Wolf Cichlid— Tank is too small for some species
- X-ray Tetra— A predator will eat a tankmate
- Zebra Danio— A predator will eat a tankmate
- Zebra Mbuna— Only one pH value suits everyone — no margin
Frequently asked questions
- What are the best tank mates for Angelfish?
- Top engine-approved picks: Moonlight Gourami, Vampire Shrimp, Pearl Gourami, Kribensis, Sveni Eartheater. Each shares a workable temperature and pH band with Angelfish and clears the temperament and predation checks in a spacious reference tank.
- What fish should you avoid keeping with Angelfish?
- The engine red-flags Acei Cichlid, Adonis Pleco, Agassiz's Cory among others — for incompatible water, temperament conflict or predation risk. The avoid list above states the specific reason for each pairing.