A fish spitting food out can be seen in multiple species for many reasons. There is no one common reason why your fish is spitting out their food. Simply put: they do not want to eat their food for some reason including sickness, food palatability and environment. As with some other behavior quirks, some fish do like to play with their food a bit, spitting it out and in until they finally eat it.
(We had a balloon puffer at the aquarium who did this which was really annoying since it would take him a minute to eat one piece of food and when he was done, if another fish hadn’t stolen his piece of food, there was no more food left since all the other ones had eaten everything. Every so often, we’d move him to quarantine to fatten him back up.)
Common Reasons for Fish Spitting Food
These are the most common reasons we see fish spitting out their food. If you are able to rule out our top 3, you’ll need your veterinarian to help figure out what is going on.
Incorrect Food Item
When feeding fish, you have a ton of options. We recommend a complete pellet with a few other veggies and/or meaty treats for supplementation. Depending on how your fish feeds and their dietary requirements, some foods may not be appropriate. For example, feeding floating pellets in a tank full of bottom feeders. Not only can they not access the item, but the effort it takes to get to the surface and then try to take in a pellet can result in pieces getting spit out when they are just trying to breathe and maneuver around the tank.
Fancy goldfish are another group of fishes that can have mobility issues resulting in spitting behavior. If they are having difficulty accessing their food, they may be breathing too hard to effectively swallow. In order to crunch and swallow food items, pellets are sucked into their mouth and crushed by their pharyngeal teeth before being swallowed and swimming can take considerable effort using the same buccal cavity. It’s similar as you trying to eat a handful of crackers at a run.
Many pet fish owners will hold onto their container of food until it’s nothing but dust. Yes, it may not have expired, but fish food loses considerable vitamin content within the first six months, turning a nutritious food into a block of nutritious cardboard. Water-soluble vitamins, such as vitamin C, are lost to evaporation every time you open your container. Once you open a container of food, you have 6 months to feed it out before it starts to affect its overall benefits. Flakes and food stored outside will lose their vitamin content even faster.
As food deteriorates, it can affect its taste and texture. If you soak your food to make it “easier” for your fish to eat, congratulations, you’ve significantly decreased its nutritional value. Never soak your fish food prior to feeding unless it is frozen and needs to thaw first. If your fish is spitting out their pellets dry and then eating them once soaked, you have changed the taste and chemical make up of that food, improving palatability, but decreasing nutritional value.
If your fish is spitting their food because they are a picky eater (those exist), you should try a different diet. Multiple fish foods exist in the commercial market and just because they are marketed to one species, provided they have the correct nutritional profile, they can be eaten by any fish species. There are also gel foods out there that may be a better choice for your fish fish if they prefer soaked pellets.
Incorrect Environmental Conditions
Stress can do lots of things to your fish’s bodily functions. Fish spitting food can simply be their body telling them that they have too much going on and even though they are hungry, their body can’t process digestion right now. Incorrect environmental conditions can be various types of stress, but most commonly water quality and aggressive tank mates are to blame.
In addition to being a general stressor, changes in water quality can affect the taste and smell of a diet. A fish spitting food may be reacting to a diet they like previously, but now it doesn’t taste the same. They see the pellet, expecting one taste or smell and then spit it out, reacting to something they do not expect.
The stress of eating while being surrounded by aggressive tank mates can cause any fish to struggle to eat. As they try to swallow while trying to swim away, a pellet may pop out and then get eaten by another fish. Rather than removing a timid fish at feeding time and creating more stress, try to spread out the food throughout the tank or teach your fish to target in specific areas. Educationally-challenged fish may be moved to a perforated container within their tank during feeding to allow them more time to eat their meal in peace.
Sickness or Disease
And no, gill flukes do not cause fish to spit out their food. We have seen hundreds of cases of gill flukes and fish not eating and maybe one or two had both issues at once. Fish spitting food out can be a sign that there is a systemic disease present. It is great that they are trying to eat, but need to be successful in order to survive.
And no, there likely isn’t something stuck in your fish’s mouth preventing them from eating. We have seen 4 cases of fish with oral cavity foreign bodies out of thousands. Two were fish fish with a rock or piece of gravel, the other two had a gelatinous bioball filling their oral cavity. We do not recommend these types of media since they can cause significant issues for your fish. These can be difficult to see and impossible to remove without sedation, so please contact your veterinarian ASAP if you suspect this occurred in your fish.
If you have confirmed your water quality, tried various food items and decreased all the stress for your fish and they are still spitting out their food, it is time to call your veterinarian while your fish still has a chance to recover. If they stop eating, it may be too late.