How to Clean a Stained and Smelly Toilet

This post may contain affiliate links that won’t change your price but will share some commission.

Grab some common household products to get your toilet bowl clean and fresh, no matter how badly it’s stained.

Overhead view of hand in rubber glove using a brush to clean toilet stains

You already know that dirty toilets look and smell nasty. They can also make the rest of your bathroom nasty, too, thanks to “toilet plume” — germ droplets spewed with every flush.

Of course, no one really looks forward to cleaning a commode that’s out of control, but sooner or later, it’s got to be done. So, here’s how to clean that smelly, stained toilet efficiently and well, so you can get it over with and do something more pleasant.

How to Clean Your Toilet and Remove Stains

Turn your bathroom exhaust fan on before you begin. Even if you plan to use natural ingredients and homemade cleaners on your toilet, you’ll be stirring up a lot of bacteria as you scrub. Running the fan helps reduce how much of that you breathe and how much spreads elsewhere in your bathroom.

Clear the Surfaces

Take everything off the back of the tank — yes, even that basket of seashells from your last beach vacation. Remove any automatic toilet cleaners hanging in the tank, like the ones that turn the toilet water blue. If you use gel toilet cleaning stamps, scrape any residue away with a toilet brush. Flush the toilet twice to make sure those chemicals are out of the bowl.

Clean the Toilet Seat and Bowl

1. Dry-wipe the toilet: Disinfectants work best on clean surfaces. Too much dirt or other grime overloads them and reduces their germ-killing abilities. So, use a dry rag or paper towel to wipe the toilet tank, lid, seat, and pedestal to start.

2. Clean the toilet seat and hinges: In a small bowl, combine 2 tablespoons of baking soda (bicarbonate) with enough water to make a paste. Dip a corner of a damp microfiber cloth into the paste and use it to scrub any stains on the toilet seat gently. Be sure to check both sides of the seat and the lid, too. Use the remainder of the paste to scrub the toilet seat hinges. Spray the seat and hinges with hydrogen peroxide and wipe them with a clean, damp cloth.

3. Drain the toilet bowl: The less water in your toilet bowl, the better you’ll be able to clean it. So, turn off the water at the supply hose by twisting the oval-shaped stop valve to the right until it stops. Or, open the lid of your tank and slide a wooden spoon beneath the float lever to keep it from moving. (This works well if you can’t find the supply valve, or it won’t turn easily.) Then, flush the toilet to drain the bowl.

4. Clean the bowl: With the toilet empty of water, sprinkle baking soda around the bowl’s walls. Add a few drops of tea tree oil, which has deodorizing and mild disinfection properties. Dip your toilet brush into the water to get it damp. Sprinkle the end of the brush with more baking soda and scrub under the rim of the bowl. Work your way down the walls and into the drain as far as you can. Do not flush.

5. Disinfect and flush: Spray or pour vinegar into the toilet bowl, starting under the rim. This will cause fizzing and foaming that helps lift away stains while killing germs. Let the vinegar sit in the bowl until the foaming stops, then scrub it one more time. Turn on the water by rotating the valve to the left (or removing whatever you used to stop the float), wait for the tank to fill, and then flush.

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 it still 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 sprinkle them very lightly 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. 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 really need to bother — no one looks in the tank. 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. 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. 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 cleaners, 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, to be honest, 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 counties forbid pouring mineral oil down drains because it winds up in the water supply. 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.

Comment Policy

Comments are moderated. It may take up to 72 hours for moderated comments to appear. I welcome and encourage questions and discussion. However, I will not approve comments that are off-topic, repetitive, or contain hateful or threatening language, advertising or spam. Comments asking for information already covered in the article will not be approved.

Comments may be removed in the future if the information they contain or seek becomes outdated or gets incorporated within the article itself.


  1. What about tips for cleaning the tank? That’s where my toilet is dirty and smells

    1. Katie Berry says:

      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.

  2. 4 stars
    What if you’ve done all this and you still cant kick that urine smell from little boys?

    1. Katie Berry says:

      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!

  3. Esther Mmagu says:

    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.

    1. Katie Berry says:

      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.

Leave a Reply
Comments are moderated. Your comment is pending moderator approval.

Your email address will not be published. Required fields are marked *