The most common cause is a buildup of waste and dead matter on the bottom
An aquarium that smells foul usually means organic material — uneaten food, fish waste, and decaying plants — is accumulating faster than your filter can process it. The smell comes from bacteria breaking down that material in low-oxygen conditions, which produces hydrogen sulfide and ammonia. Both are toxic to fish and make the water unsafe.
The problem is almost never the water itself. It is what is sitting in the gravel or hidden in the filter. A tank that looks clean on the surface can have a thick layer of sludge underneath where you cannot see it. This is why the smell often appears suddenly — the buildup reaches a tipping point before you notice anything wrong.
Fixing it means removing the source of the smell, not just masking it with chemicals or doing a large water change. A large water change alone will not help because the waste is still there, still rotting.
Key Takeaways
- Foul smells come from decaying waste in the gravel and filter, not from the water itself, so cleaning the substrate and filter media is the first step.
- Overfeeding is the single biggest cause — uneaten food rots on the bottom and in the filter, so feed only what your fish finish in two to three minutes.
- A filter that is clogged with debris cannot move water through properly, which creates dead zones where anaerobic bacteria produce the smell.
- Partial water changes of 25 to 30 percent weekly, combined with gravel vacuuming, prevent buildup before it starts.
- If the smell returns within days of cleaning, your tank is overstocked or your filter is undersized for the bioload.
Overfeeding is the fastest way to create a stinking tank
Most home aquarists feed too much. Fish do not need large meals, and anything they do not eat within two to three minutes sinks to the bottom and begins to rot. Uneaten food is one of the largest contributors to ammonia and hydrogen sulfide buildup.
The rule is straightforward: feed only what your fish will finish in that window. For most community tanks, this means a pinch of flakes once or twice a day, not handfuls. Overfeeding also produces more fish waste because the fish are eating more, which compounds the problem.
If you have been feeding generously, cut back when ready. You will see the smell improve within three to five days if overfeeding was the main cause. Your fish will not starve — they are far more likely to suffer from the ammonia spike caused by excess food than from eating less.
A clogged filter cannot process waste, so the smell builds up fast
Your filter is the engine that keeps the tank safe. It traps solid waste and grows beneficial bacteria that convert ammonia into less toxic compounds. When the filter gets clogged with debris, water cannot flow through it properly. Waste accumulates instead of being processed, and anaerobic bacteria — the kind that produce the rotten-egg smell — take over in the dead zones.
Check your filter media (the sponge, cartridge, or floss inside) every week. If it looks dark or clogged, rinse it in old tank water, not tap water. Tap water kills the beneficial bacteria you need. Rinse gently until water runs clear, then put it back. Do this every one to two weeks depending on how much waste your tank produces.
If your filter is more than a few months old and you have never cleaned it, that is likely where the smell is coming from. A neglected filter becomes a decomposition chamber.
Gravel holds more waste than you think — vacuum it weekly
Gravel looks solid, but it is porous. Waste sinks between the pieces and sits there, invisible, rotting. A gravel vacuum is a straightforward tool that sucks up the top layer of substrate while removing water at the same time. This serves two purposes: it removes the waste and it does a partial water change in one step.
Use a gravel vacuum once a week on the entire bottom, or more often if your tank is heavily stocked. Move slowly over each section so the vacuum can pull out the debris. You will be surprised how much dark material comes up, especially if you have never done this before.
If you have a bare-bottom tank (no gravel), use a siphon to remove debris from corners and under decorations where it collects. The principle is the same: remove the waste before it decays.
Tank size and fish count matter — overstocking creates constant odor
A small tank with too many fish will smell no matter how often you clean it. Each fish produces waste continuously, and there is only so much a filter can handle. This is called the bioload — the total amount of waste your fish produce. If the bioload exceeds what your filter and tank volume can support, ammonia and hydrogen sulfide will build up faster than you can remove them.
A 10-gallon tank with five goldfish will smell. A 10-gallon tank with two small tetras will not. The difference is bioload. If your tank smells even after you have cleaned the filter and gravel and cut back on feeding, your tank may straightforward be too crowded for the filter you have.
The solution is either to upgrade to a larger tank, reduce the number of fish, or upgrade to a larger filter. A filter rated for twice your tank volume is a good target. If you have a 20-gallon tank, use a filter rated for 40 gallons.
Dead plants and hidden decay spots create localized stink
Dead plant matter decays like any other organic material. If you have live plants, remove any leaves that turn brown or transparent. They will not recover and they will only rot. Check under decorations and in corners where dead leaves and waste collect and become invisible.
Driftwood and rocks can trap debris underneath. Lift them occasionally and vacuum the area beneath. A decoration that looks fine on top may be hiding a layer of sludge underneath.
If the smell seems to come from one spot, that is where the decay is concentrated. Move decorations, vacuum thoroughly, and check for hidden dead matter.
Water changes alone will not fix a smell that comes from the substrate
Many people assume a large water change will solve the problem. It will not, because the waste is still in the gravel and filter. A 50 percent water change might dilute the smell temporarily, but it will return within days because the source is still there.
The correct approach is: vacuum the gravel, clean the filter media, remove any visible decay, then do a partial water change of 25 to 30 percent. This removes the waste and replaces some of the contaminated water. Repeat this weekly to prevent buildup.
If you do a large water change without cleaning the substrate and filter, you are just diluting the problem, not solving it. The smell will come back stronger as the waste continues to decompose.
Frequently Asked Questions
How long does it take for a smell to go away after I clean the tank?
If you vacuum the gravel, clean the filter, and remove visible decay, the smell should improve noticeably within 24 to 48 hours. It may take three to five days to disappear completely. If it returns within a week, the source was not fully removed or the tank is producing waste faster than your maintenance routine can handle.
Can I use chemicals or additives to get rid of the smell?
Products that claim to remove odor are not necessary and do not address the real problem. They may mask the smell temporarily, but the waste is still there. Focus on removing the source: clean the gravel, clean the filter, and reduce overfeeding. The smell will go away on its own once the waste is gone.
What if my tank smells like rotten eggs specifically?
That is hydrogen sulfide, which means anaerobic bacteria are active in low-oxygen areas — usually in the gravel or a clogged filter. Vacuum the gravel deeply, clean the filter thoroughly, and improve water circulation by adjusting your filter output or adding an air stone. The smell should fade within a few days.
Is a smelly tank dangerous for my fish?
Yes. The gases and compounds that cause the smell — ammonia and hydrogen sulfide — are toxic. Fish in a smelly tank are under stress and at risk of disease or death. Treat it as an urgent maintenance issue, not a cosmetic problem. Clean when ready and establish a weekly routine to prevent it from happening again.
How often should I clean my filter to prevent smell?
Rinse the filter media in old tank water every one to two weeks, depending on how much waste your tank produces. A heavily stocked tank or one with heavy feeders may need weekly cleaning. A lightly stocked tank may only need it every two weeks. If the smell returns quickly after cleaning, increase the frequency.