The tropical fish is Minecraft’s most visually diverse mob, and it is not even close. With 2,700 naturally occurring variants in Java Edition and 2,211 in Bedrock Edition, these tiny aquatic mobs turn warm oceans into underwater kaleidoscopes. Every single one is a unique combination of body shape, pattern, and two colors — which means you could spend hundreds of hours fishing and still not catch them all. Gotta catch ’em all jokes aside, that is genuinely the situation here.
Unlike most passive mobs that just wander around waiting to become food, tropical fish exist primarily to make oceans look alive. They swim in schools, they come in absurd variety, and they can be scooped up in a water bucket to become the world’s most portable aquarium. They do not fight back, they do not drop anything useful, and they have three hearts. They are, by every practical measure, decorative. But decoration matters when you are building a coral reef base and want it to feel like something lives there.
If you have ever stood underwater in a warm ocean biome and watched these things dart around coral fans in every color imaginable, you already understand why they are in the game. If you have only ever seen them as the sad little item you occasionally pull from a fishing rod, you are missing out.
Overview / Quick Stats
| Attribute | Details |
|---|---|
| Name | Tropical Fish |
| Namespaced Entity ID | minecraft:tropical_fish |
| Alignment | Passive |
| Dimensions / Hitbox | 0.5 blocks wide × 0.4 blocks tall |
| Health | 3 (1.5 hearts) |
| Armor | 0 |
| Base Damage | 0 — Tropical fish cannot attack. |
| Movement Speed | ~1.2 blocks/second (swimming) |
| Knockback Resistance | 0 |
| Follow / Detection Range | N/A — Tropical fish do not follow or detect players. |
| Experience Drop | 1–3 XP when killed by a player or tamed wolf. |
| Spawn Location | Warm Ocean, Lukewarm Ocean, Deep Lukewarm Ocean, Mangrove Swamp (Bedrock only: also Lush Caves) |
| First Added | Java: 1.13 (18w10a snapshot) Bedrock: 1.4.0 (beta 1.2.20.1) |
| Last Major Change | 1.18 — Added spawning in mangrove swamp biomes. |
Appearance
Tropical fish come in two base body shapes: a small, compact body (referred to as Type A or “kob/sunstreak/snooper/dasher/brinely/spotty” shapes) and a larger, taller body (Type B, covering “flopper/stripey/glitter/blockfish/betty/clayfish” shapes). Each body shape has its own silhouette, and each one gets layered with a pattern and two independently chosen colors — one for the base body and one for the pattern.
There are 15 base colors available: white, orange, magenta, light blue, yellow, lime, pink, gray, light gray, cyan, purple, blue, brown, green, red, and black. There are 6 pattern types per body shape, for a total of 12 patterns. Combined with 15 base colors and 15 pattern colors, this creates the staggering number of natural variants.
In practice, what this means is that two tropical fish swimming side by side can look wildly different — one might be a tiny orange kob with white stripes, and the other a tall blue blockfish with yellow spots. They are the same mob. They just look like they come from entirely different oceans.
Twenty-two of these variants are given unique common names that reference real tropical fish species, like Clownfish, Queen Angelfish, Tomato Clownfish, and Blue Tang (yes, Dory). These named variants have a higher chance of spawning naturally than any specific random combination.
Behavior & AI
- Swimming Pattern: Tropical fish swim aimlessly in water, changing direction randomly. They tend to stay in small groups but do not have formal flocking behavior like some real fish simulators. They move slowly and are easy to catch up to.
- Schooling: Tropical fish spawn in groups of 3–5 (Java) or 3–5 (Bedrock). Fish of the same variant will swim loosely together, but they do not actively school with different variants.
- Out of Water: Like all fish mobs, tropical fish flop helplessly on land and take suffocation damage. They die after about 10 seconds out of water — roughly the same amount of time it takes you to feel bad about it.
- Flee Behavior: Tropical fish do not flee from players. They have zero self-preservation instincts. You can swim right up to them and bonk them with a sword and they will not try to run. They are the most trusting creatures in the entire game.
- Despawning: Tropical fish follow standard passive aquatic mob despawn rules. They despawn if the player moves more than 128 blocks away. If you want to keep them permanently, scoop them into a bucket — bucketed fish do not despawn when placed back down.
- Water Requirement: Tropical fish can only survive in water. They cannot exist in waterlogged blocks that do not have a full water source. If the water dries up or drains, they flop and die.
Variants, Jockeys & Special Forms
Named Variants
Out of the thousands of possible combinations, 22 are designated as “named” variants. These have a much higher spawn weight than random combinations, so you will see them repeatedly in warm oceans. Each named variant corresponds to a real-world tropical fish species:
- Anemone: Orange-Gray Stripey (based on Amphiprion ocellaris)
- Black Tang: Gray Flopper
- Blue Tang: Gray-Blue Flopper (yes, this is Dory)
- Butterflyfish: White-Gray Brinely
- Cichlid: Blue-Gray Sunstreak
- Clownfish: Orange-White Kob (classic Nemo)
- Cotton Candy Betta: Pink-Light Blue Spotty
- Dottyback: Purple-Yellow Blockfish
- Emperor Red Snapper: White-Red Clayfish
- Goatfish: White-Yellow Spotty
- Moorish Idol: White-Gray Glitter
- Ornate Butterflyfish: White-Orange Clayfish
- Parrotfish: Cyan-Pink Dasher
- Queen Angelfish: Lime-Light Blue Brinely
- Red Cichlid: Red-White Betty
- Red Lipped Blenny: Gray-Red Snooper
- Red Snapper: Red-White Blockfish
- Threadfin: White-Yellow Flopper
- Tomato Clownfish: Red-White Sunstreak
- Triggerfish: Gray-White Sunstreak
- Yellowtail Parrotfish: Cyan-Yellow Dasher
- Yellow Tang: Yellow Flopper
Random Variants
Any tropical fish that is not one of the 22 named variants is a random combination of body type, pattern, base color, and pattern color. In Java Edition, there are 2 body shapes × 6 patterns × 15 base colors × 15 pattern colors = 2,700 possible combinations. Bedrock has slightly different math due to how it handles the same-color exclusion, resulting in 2,211 variants.
Random variants display their colors and pattern in their item name when bucketed, like “White-Orange Blockfish” — which is useful for collectors who want to catalog every type they find. Good luck with that, by the way. You will need it.
Spawning
| Spawn Condition | Details |
|---|---|
| Location | In water blocks within applicable biomes. |
| Biomes | Java: Warm Ocean, Lukewarm Ocean, Deep Lukewarm Ocean, Mangrove Swamp Bedrock: Warm Ocean, Lukewarm Ocean, Deep Lukewarm Ocean, Mangrove Swamp, Lush Caves |
| Y-Level Range | 50–64 (ocean surface-level water). In Lush Caves (Bedrock), any Y-level with water. |
| Light Level | Any light level. |
| Required Block | Must spawn in a water source block. |
| Group Size | Java: 3–5 per school (up to 9 in warm oceans via multiple spawn attempts) Bedrock: 3–5 per school, with similar multi-attempt spawning |
| Weight | 25 (warm ocean), varies by biome. Named variants have 90% spawn weight collectively; random variants share the remaining 10%. |
| Edition Differences | Bedrock Edition allows tropical fish to spawn in Lush Caves, which Java does not. Bedrock also calculates the total variant count differently (2,211 vs. Java’s 2,700). |
Interactions with Environment & Other Mobs
- Axolotls: This is the big one. Axolotls actively hunt tropical fish. If an axolotl is nearby, it will target and kill tropical fish on sight. This is relevant for anyone building decorative aquariums — do not put axolotls and tropical fish in the same tank unless you want a massacre.
- Guardians and Elder Guardians: Guardians will attack tropical fish, though they prioritize players and squid.
- Dolphins: Dolphins do not harm tropical fish, and they coexist peacefully in the same ocean biomes.
- Boats and Minecarts: Tropical fish can be picked up by riding in a boat through water (Bedrock), though this is rarely intentional or useful.
- Coral Reefs: Tropical fish spawn much more frequently around coral reef structures in warm oceans. The reefs do not mechanically affect spawning, but the biome conditions that create reefs also create ideal fish spawning conditions.
Drops & Loot
| Item | Quantity | Chance | Notes |
|---|---|---|---|
| Tropical Fish (item) | 1 | 100% | Always drops as the generic “Tropical Fish” item regardless of variant. The item does not retain the fish’s specific pattern or colors. |
| Bone Meal | 1 | 5% | Java Edition only. Small chance to drop bone meal on death. |
| Experience | 1–3 | 100% | Dropped when killed by a player or tamed wolf only. |
Player Uses & Farming
- Bucket of Tropical Fish: The primary use. Right-click a tropical fish with a water bucket to capture it as a Bucket of Tropical Fish. The bucket retains the fish’s exact variant, including body shape, pattern, and colors. When placed back down, the fish keeps its appearance and will not despawn. This is the only way to permanently keep a specific tropical fish variant.
- Decorative Aquariums: Build a glass enclosure, fill it with water source blocks, and release bucketed tropical fish inside. Mix different variants for a colorful display. Keep axolotls far away unless you enjoy watching your collection get eaten.
- Cat Taming: Raw tropical fish can be used to tame cats (ocelots in Bedrock). This works identically to raw cod and raw salmon for taming purposes.
- Axolotl Feeding: Buckets of Tropical Fish are the only food axolotls will accept for breeding. Not raw tropical fish — specifically the bucket variant. This is one of those Minecraft quirks where the game decided a bucket of live fish is more appetizing than a dead one, and honestly, fair enough.
- Food (Emergency Only): Raw tropical fish restores 1 hunger point (0.5 drumstick) and 0.2 saturation. This is among the worst food items in the game. You would need to eat roughly 20 of them to fill your hunger bar, and you would get more nutritional value from staring at a painting of food. Cook it for slightly better returns, but it is still terrible.
- Fishing: Tropical fish can be obtained as a “fish” category catch when fishing. The item is always the generic tropical fish item, not a bucket variant.
- Trading: Fisherman villagers at the Journeyman level will buy tropical fish as part of their trade pool (Java Edition).
- Farming Viability: There is no practical tropical fish farm. They spawn naturally in oceans, they despawn when you leave, and there is no way to breed them. If you need large quantities of the generic tropical fish item, fishing is faster. If you need specific variants, bring a lot of buckets to a warm ocean and start scooping.
Commands & NBT
Tropical fish have unique NBT data that controls their appearance. The Variant tag is a single integer that encodes body shape, pattern, base color, and pattern color into one value.
/summon minecraft:tropical_fish ~ ~ ~ {Variant:65536}
This summons a Clownfish (orange-white kob). The variant integer is calculated as:
Variant = size + pattern*256 + bodyColor*65536 + patternColor*16777216
Where size is 0 (small/Type A) or 1 (large/Type B), pattern is 0–5, and colors are 0–14 corresponding to the 15 dye colors.
/summon minecraft:tropical_fish ~ ~ ~ {Variant:117506305}
This summons a Blue Tang (gray-blue flopper) — Dory, basically.
/summon minecraft:tropical_fish ~ ~ ~ {Variant:917504}
This summons a Yellow Tang (yellow flopper).
Variant(int): Encodes body shape, pattern, base color, and pattern color into a single integer. Use the formula above to calculate custom variants.FromBucket(byte): 1 if the fish was placed from a bucket. Fish with this tag set to 1 do not despawn naturally.NoAI(byte): Set to 1 to freeze the fish in place. Useful for display builds.
Tags, Gamerules & Datapack Hooks
#minecraft:axolotl_hunt_targets: Tropical fish are included in this entity type tag, which is why axolotls target them.#minecraft:aquatic: Part of the aquatic entity tag group.#minecraft:not_scary_for_pufferfish: Tropical fish do not trigger pufferfish inflation. They can swim right next to a pufferfish without causing it to puff up.doMobSpawning: Controls whether tropical fish spawn naturally. Set to false to prevent new spawns.Loot Table Path:minecraft:entities/tropical_fish— modify this in a datapack to change drops.
Difficulty & Edition Differences
- Difficulty Scaling: Difficulty does not affect tropical fish in any meaningful way. They deal no damage, and their health remains 3 (1.5 hearts) on all difficulty settings.
- Java vs. Bedrock — Variant Count: Java Edition has 2,700 naturally possible variants. Bedrock Edition has 2,211. The difference comes from how each edition handles the math when both colors are the same.
- Java vs. Bedrock — Lush Caves: In Bedrock Edition, tropical fish can spawn in Lush Caves. Java Edition does not allow this. If you are playing Bedrock and find tropical fish underground, you are not hallucinating.
- Java vs. Bedrock — Bone Meal Drop: The 5% bone meal drop on death exists only in Java Edition.
- Java vs. Bedrock — Bucket Names: Both editions display the variant name on the bucket item, but the exact formatting of the name string can differ slightly.
Sounds & Audio
- Ambient (swimming):
entity.tropical_fish.ambient - Hurt:
entity.tropical_fish.hurt - Death:
entity.tropical_fish.death - Flop (out of water):
entity.tropical_fish.flop - Bucket Fill:
item.bucket.fill_fish - Bucket Empty:
item.bucket.empty_fish
History & Major Changes
- Java 1.13 (18w10a): Tropical fish added as part of the Update Aquatic. Initially spawned only in warm and lukewarm oceans.
- Java 1.13 (18w10b): Added the 22 named common variants with higher spawn weights.
- Bedrock 1.4.0: Tropical fish added to Bedrock Edition as part of the same Update Aquatic rollout.
- Java 1.14: Tropical fish can now be used to tame cats (replacing the old ocelot taming mechanic).
- Java 1.17: Axolotls added, which hunt tropical fish. Buckets of Tropical Fish became required for axolotl breeding.
- Java 1.18: Tropical fish now spawn in mangrove swamp biomes.
- Bedrock 1.18: Tropical fish spawning added to Lush Caves (Bedrock exclusive).
Notable Bugs & Quirks
- Variant Loss on Death: When a tropical fish dies, it always drops the generic “Tropical Fish” item. The specific variant information is lost entirely. If you spent 45 minutes tracking down a specific rare variant and it dies, the item in your inventory is identical to every other tropical fish drop. The only way to preserve variants is the bucket.
- Bucket Stacking: Buckets of Tropical Fish do not stack, which means collecting variants quickly fills your inventory. Bring a shulker box or prepare to make a lot of trips.
- Name Display: In Java Edition, a bucketed tropical fish displays its full variant name (e.g., “Bucket of White-Orange Blockfish”). In Bedrock, the naming convention is slightly different but conveys the same information. Occasionally, the name can be surprisingly long for such a tiny mob.
Advancements / Achievements
- “Fishy Business” (Java): Catch a fish with a fishing rod. Tropical fish count toward this advancement.
- “Tactical Fishing” (Java): Catch a fish using a water bucket — scooping a tropical fish into a bucket triggers this. This is one of the easiest advancements in the game; just find any fish and right-click it with a water bucket.
- “The Cutest Predator” (Java): Catch an axolotl in a bucket. Tangentially related — you will likely be in the same warm ocean hunting for tropical fish to breed the axolotl.
- “A Furry Friend” / taming-related achievements (Bedrock): Tropical fish can be used to tame cats, contributing to related achievements.
Spin-offs, Culture & Trivia
- Finding Nemo Connection: The Clownfish variant (orange-white kob) and Blue Tang variant (gray-blue flopper) are clearly inspired by Nemo and Dory from the Pixar films. Mojang has never officially confirmed this, but come on — it is obvious.
- Most Variants of Any Mob: With 2,700 possible appearances in Java Edition, the tropical fish has more visual variants than any other mob in the game by a massive margin. The next closest is probably the horse, and it is not even a competition.
- Collector Challenge: Some players attempt to collect all 2,700 variants in buckets. This is technically possible but requires extraordinary patience, storage space, and a willingness to swim around warm oceans for hundreds of hours. It makes stamp collecting look exciting.
- Texture Source: The tropical fish textures were designed by artist Johan Aronson, who created the pattern and color system that allows for the massive variant count from just a few base textures.
- Naming Convention: The 22 named variants use real tropical fish common names, making them one of the few mobs in Minecraft that directly reference real animal species by name.
See Also
- Axolotl — Hunts tropical fish; requires Bucket of Tropical Fish for breeding.
- Pufferfish — Another fish mob found in warm oceans alongside tropical fish.
- Cod — The most common fish mob; also capturable in buckets.
- Salmon — Another fish mob with similar bucket mechanics.
- Dolphin — Passive ocean mob that coexists with tropical fish.
- Guardian — Hostile ocean mob that will attack tropical fish.



