Fish · Health

Why is my fish not eating? Common causes and what to do

A fish that ignores food is not always sick. Here is what actually causes fish to stop eating, from water quality and temperature to stress and stocking, and when it is genuinely a problem.

Two orange goldfish swimming near aquarium plants and driftwood in a dimly lit tank

A fish that swims past food without touching it is unsettling, especially when feeding time is usually the one part of the day you can count on. It is easy to jump straight to illness, but most fish that go off their food are responding to something in the water or the tank around them, not fighting a disease. Working through the ordinary causes first, in the order they actually show up, finds the answer far more often than guessing at sickness.

Check the water before anything else

Water quality is the single biggest reason a healthy-looking fish stops eating, and it is also the easiest thing to rule in or out.

An ammonia or nitrite spike, most often from an uncycled tank, overfeeding, or too many fish added at once, damages gill tissue and makes fish feel unwell well before any visible sign shows up, which is the same invisible problem behind most unexplained fish deaths. A test kit gives you a real number in minutes rather than a guess from how the water looks, since water can be perfectly clear and still be poisoning the fish in it. If a test turns up a spike, a partial water change and a pause on feeding buys the tank time while the filter’s bacteria colony catches back up.

Temperature is the next most likely cause

Fish are cold-blooded, so their whole metabolism, including digestion, runs on the temperature of the water around them.

A tank that has drifted even a few degrees below a fish’s comfortable range, from a failing heater, a cold snap in the room, or a heater that was never quite matched to the tank size, slows a fish down and reduces its appetite well before it looks sick in any other way. This is worth checking with an actual thermometer in the water rather than trusting the number on the heater’s dial, since a stuck or miscalibrated heater can read normal while the water itself has drifted. If the temperature checks out low, correcting it gradually, not with a sudden jump, usually brings the appetite back within a day or two.

Stress from the tank itself

Fish that feel unsafe or crowded eat less, and the causes are often social rather than chemical.

A new fish added to the tank can unsettle the existing hierarchy for days or weeks while everyone works out the new pecking order, and an aggressive tankmate can intimidate a fish enough that it stops coming out to eat at all, even with plenty of food available. Overstocking adds constant low-level stress on top of the extra waste load, which loops back into the water quality problem above. A tank that was recently rearranged, moved, or had its decor changed can also spook fish for a few days until they settle back in. Watching where the reluctant fish is spending its time, hiding constantly versus swimming normally but ignoring food, tells you a lot about whether stress or something physical is the more likely driver.

Shedding scales, illness, and physical causes

Once water and temperature check out and the tank environment looks calm, a smaller group of causes point toward the fish itself rather than its surroundings.

Constipation is common in fed-up, under-exercised fish and often clears with a day or two of fasting followed by a boiled, skinned pea offered instead of flakes. Parasites and internal illness can also suppress appetite, usually alongside other signs like clamped fins, unusual swimming, visible spots, or hiding more than normal, covered in more depth in the signs your fish is stressed. Breeding condition and natural seasonal slow-downs affect some species too, particularly in the lead-up to spawning. And it is worth remembering that fish, unlike mammals, cope with missed meals extremely well, so a single day of picky eating with everything else looking normal is rarely cause for alarm on its own.

The fast version

Test the water for ammonia and nitrite first, since that catches the most common cause. Check the actual temperature with a thermometer rather than the heater’s dial. Think about whether anything in the tank’s social setup or decor changed recently. Cut back on feeding rather than adding more while you work through it, since uneaten food makes water quality worse. And give it a little time, since a healthy fish skipping a few meals while you sort out the cause is normal, not an emergency, unless it comes with other signs of illness or affects the whole tank at once.

Common questions

Why has my fish suddenly stopped eating?
A sudden refusal usually points to something that changed recently, a temperature swing, a new fish added to the tank, a water change that shifted parameters, or a spike in ammonia or nitrite. Test the water first, since that finds the most common causes fastest, then think back over the last few days for anything else that changed.
How long can a fish go without eating before I should worry?
Healthy adult fish can comfortably skip several days of food, and some species go over a week during a temperature dip or a natural slow period with no harm at all. The concern is not the number of days alone, it is whether the fish also looks unwell, is losing weight or colour, or is one that should not naturally fast, alongside the missed meals.
Can cold water stop a fish from eating?
Yes, directly. Fish are cold-blooded, so their digestion and metabolism slow down with the water temperature. A tank that has drifted a few degrees cooler than a fish's normal range, often from a heater fault or a cold spell in the room, can drop appetite well before the fish looks obviously ill.
Should I keep feeding a fish that will not eat?
No, cut back rather than pushing more food in. Uneaten food rots in the tank and adds to the ammonia problem that is a common cause of appetite loss in the first place, which can turn a mild issue into a worse one. Offer a small amount once a day, remove anything left after a couple of minutes, and focus on fixing the water instead of tempting the fish with more.