

Why Are My Fish Not Eating? Stress, Water Quality, Diet, and Acclimation
A fish that refuses food is telling you something. Most cases of loss of appetite in aquarium fish have a clear cause and a straightforward fix — if you know what to look for. Here's a systematic approach to diagnosing and solving the problem.
Step 1: Is This Normal New-Fish Behaviour?
The most common reason fish refuse food is that they are newly introduced to a tank. Most fish take 3–10 days to begin feeding confidently in a new environment. During this time:
- They are exploring their territory
- They may be hiding or staying near the surface
- They may tentatively approach food but spit it out
What to do: Be patient. Offer small amounts of food twice daily. Do not overfeed trying to coax them — uneaten food degrades water quality and increases stress.
Step 2: Test Water Quality
Poor water quality is the second most common cause of appetite loss. Even experienced fish keepers are sometimes surprised by sudden ammonia or nitrite spikes.
Test immediately:
- Ammonia (target: 0 ppm)
- Nitrite (target: 0 ppm)
- Nitrate (target: < 20 ppm)
- pH (target: appropriate for species)
Any detectable ammonia or nitrite will cause fish to stop eating. Perform a 25–30% water change immediately if detected and retest in 24 hours.
Step 3: Check for Disease
Many diseases cause appetite loss as an early or primary symptom:
| Disease | Other signs alongside appetite loss |
|---|---|
| Ich (white spot) | White granular spots on fins and body |
| Internal parasites | Hollow belly, stringy white feces |
| Bacterial infection | Redness, ulcers, fin rot |
| Velvet | Gold dust appearance, scratching on objects |
If appetite loss is accompanied by any of the above, isolate the fish and treat appropriately.
Step 4: Assess Stress Sources
Stressed fish do not eat. Common stress causes:
- Aggressive tankmates: Is the fish being chased or bullied?
- Overcrowding: Too many fish for the tank volume
- Bright light without cover: Shy species refuse to come out to eat in exposed conditions
- Temperature extremes: Too high (above 30°C) or too low (below 22°C) for the species
Step 5: Evaluate the Food Itself
Wrong food type
Some fish are highly specific feeders:
- Carnivorous species (bettas, dwarf puffers) may refuse plant-based pellets entirely
- Bottom feeders (corydoras) cannot access floating food
- Very small fish (chili rasboras) cannot eat standard-sized pellets
Monotonous diet
Fish fed the same food for months sometimes develop a preference refusal — especially bettas. Rotate food types every 1–2 weeks.
Old or degraded food
Dry food loses palatability and nutritional value after opening. Store in a sealed, cool, dark location and replace after 2–3 months of opening.
Step 6: Check Water Temperature
Fish metabolism is directly tied to temperature. Fish in cooler-than-optimal water become lethargic and lose appetite. Check:
- Is the heater functioning?
- Is the thermometer reading correctly?
- Is there a temperature drop at night (common in less-insulated Singapore rooms with air conditioning)?
Quick Checklist
- Newly introduced? Allow 5–10 days to settle
- Test water: ammonia, nitrite, nitrate, pH
- Check for visible disease signs
- Look for aggression from tankmates
- Check food type matches species' dietary needs
- Check food freshness and storage
- Verify water temperature is in species' optimal range
Browse our fish food range and water test kits to support fish health and appetite.
