How to Clean a Stained and Smelly Toilet
This post may contain affiliate links. See my disclosure page.
Grab some common household products to get your toilet bowl clean and fresh, no matter how badly it’s stained.

You already know that stained toilet bowls look and smell nasty. They can also contaminate other surfaces in your bathroom, thanks to germ droplets spewed with every flush. During cold and flu season, or if someone in your home has a stomach virus, that toilet plume is of particular concern. So, here’s how to clean a smelly, stained toilet and disinfect its insides to keep your bathroom fresh.
How to Clean Your Toilet and Remove Stains
It is not safe to combine household cleaners. So, before you begin, remove any automatic toilet bowl cleaners hanging in the tank, like the ones that turn the toilet water blue. If you use gel toilet cleaner stamps, scrape any residue away with a toilet brush. Flush the toilet twice to ensure those products are out of the bowl.
Pre-clean the surfaces
Clean the toilet seat and hinges
Drain the bowl
Clean and scrub
Disinfect then flush
Make a stubborn toilet stain remover
Common Questions about Cleaning Toilets
Below are some frequently asked questions about cleaning dirty toilets and their answers. Remember, when it comes to cleaning your home, just because something can work doesn’t mean it’s a good idea. Hopefully, these FAQs will spare you a costly mistake.
Why does the toilet smell like “boy pee”?
If you have boys, you know they’re a lot messier in the bathroom. If the odor lingers after you’ve cleaned your toilet thoroughly, it’s probably coming from the surrounding wall, baseboards, or floors. Get these areas damp with water and lightly sprinkle them with baking soda. Wait a few minutes for it to deodorize, then wipe with plain water. Follow with this homemade floor cleaner to knock out germs and odors. You might even want to replace your toilet seat every 6 months while they’re young.
Why are there different colored stains in my toilet?
Orange stains at your toilet’s waterline occur due to mildew. Gray, black, or green stains at the waterline are due to hard water buildup and mineral deposits. Rusty grime below the waterline is bacteria clinging to mineral buildup. So are those orange streaks running from the rim to the water. The steps above, including the homemade toilet stain remover, will tackle all of these.
Why does my toilet bowl fill slowly?
Sometimes the water jet holes under the toilet rim get clogged. When this happens, the bowl fills slowly and doesn’t entirely flush. The clogs are buildup from either bacteria (black or orange) or mineral buildup (light or green). To clean the toilet rim holes, scrub them with an old toothbrush and the homemade toilet bowl stain remover above. You can insert and rotate the end of a pipe cleaner for very stubborn clogs.
How do I clean a stained toilet tank?
As long as there’s no slimy growth, you don’t need to bother since the stains are most likely from mineral buildup. But slimy growth in your tank is another matter. If that occurs, you need to shut off the water supply as directed and flush your toilet until the tank drains. Use a sponge or towel to absorb any remaining water carefully, then apply the toilet stain cleaner and scrub to remove the stains. Wipe with a clean, damp cloth and allow the tank to refill.
How do I clean my toilet brush?
No matter what method you use to clean the toilet bowl, don’t put the brush away dirty and wet. Tap it against the edge of the toilet bowl to shake off as much moisture as possible. Then, spray it with hydrogen peroxide until it’s wet. Let it air dry propped under the toilet lid. Once it’s dry, put it back in the holder.
Can I use a pumice stone on toilet stains? Or sandpaper?
Toilet bowls are porcelain, and both pumice stones and sandpaper are very abrasive. Using a strong abrasive on porcelain might remove toilet stains, but it will also ruin the slick finish that keeps stains from becoming permanent and leave scratches. Then you’ll wind up with more toilet stains more often, and they’ll be even harder to remove.
Can I just pour bleach into my toilet to get rid of stains?
Sometimes. A half-cup of bleach poured into the bowl can remove stains below the waterline in 5 minutes. But it won’t do anything for stains above the waterline, like orange lines streaking from the rim. It also won’t remove mineral buildup or limescale. So, you might need to follow the directions above anyway. But be sure you don’t combine bleach with other cleaning products, even natural ingredients.
Can I use a can of Coke to clean my toilet?
Coca-Cola is very acidic. Many people have had luck pouring a can into the toilet bowl and letting it sit overnight. After a quick scrub and flush the next morning, they say the stains are gone. I haven’t tried it because it seems like I’d just be inviting ants to a feast.
Can I use WD-40 to clean my toilet?
WD-40 is a mineral oil-based spray. It’s fantastic at silencing squeaky hinges or loosening tight screws. It can help loosen rusty residue in toilet bowls, but that doesn’t mean it’s a good approach. Most municipalities forbid pouring mineral oil down drains because it winds up in the water supply, and that’s why you shouldn’t flush it, either.
Can fabric softener keep my toilet smelling fresh?
A “cleaning hack” circulating online says to add a fabric softener like Downy to the toilet tank. The idea is that it’ll freshen the bowl with every flush. But, the ingredients in the fabric softener will damage your toilet’s flapper seal. Then your commode won’t flush properly and is likely to keep running. Besides, flushing releases most of the water in the toilet tank, so you’ll just be flushing fabric softener down your drain. Literally.
More How-Tos
I ordered 3 bags of the splash toilet cleaner supposed to foam up and clean your toilet makes it. Look sparkly and white it did absolutely nothing but sit there and turn blue and fizzle a little bit water waste. I tried it several different times so I know I was doing it right. Do you think this is a rip off?
Hi Patricia,
I’m not familiar with that splash cleaner and am reluctant to give an opinion on any product I haven’t used. Thanks for understanding!
I’ve tried your approach, but there is still a super stinky and stubborn ring right under the rim. I had a renter and he was filthy. My whole bathroom stinks despite washing the walls, soaking the toilet and scrubbing, washing all surfaces with baking Soda and bleach (separately). I can see the dark yellow ring under the rim, but it doesn’t lift despite soaking and scrubbing.
Unfortunately, some toilet stains become permanent, especially if the protective finish on the toilet bowl gets eroded due to time or improper cleaning. You may need to replace the toilet.
What if you’ve done all this and you still cant kick that urine smell from little boys?
Hi Kristin,
Boy pee doesn’t smell any different to girl pee. But boys are a lot messier when they’re young. So, if you’ve done all this and still get that whiff of urine odor, try cleaning these areas, too:
1. The walls behind and around the toilet. Soap and water with a small amount of baking soda stirred in should do the trick.
2. The floor at the base of your toilet, including the caulk around the toilet pedestal. Get these areas damp and sprinkle them very lightly with baking soda. Let that sit for a few minutes to deodorize then wipe it away with plain water. Follow that with whatever floor cleaner you ordinarily use. (Here’s my homemade floor cleaner if you want to try it.)
3. Scrub the toilet seat hinges with baking soda and water. In fact, you might want to replace your toilet seat every 6 months or so while they’re learning.
Best of luck!
What about tips for cleaning the tank? That’s where my toilet is dirty and smells
Hi Tina,
I’d shut off the water supply at the wall and empty the tank. Then, use a sponge or towel to get out as much water as you can. (Be careful you don’t damage the mechanisms.) Go over both sides of the flapper and its gasket with a damp microfiber cloth and a little baking soda to remove grime, then wipe it clean. Use the toilet bowl stain remover on any stains you find. Wipe away as much of the paste as you can before refilling the tank, so you aren’t leaving stuff in there that can clog the flushing mechanisms. Once you’ve got it all out, turn on the water supply to fill the tank and flush a few times.