How to Clean a Stained and Smelly Toilet

This post may contain affiliate links. See my disclosure page.

Pinterest Hidden Image

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 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

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

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 mixture 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.

Drain the 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.

Clean and scrub

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.

Disinfect then flush

Spray or pour vinegar into the toilet bowl, starting under the rim. Since there is still baking soda in the bowl from the previous step, 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.

Make a stubborn toilet stain remover

To remove hard water stains or deposits from calcium and other minerals, combine 1/2 cup borax with 1 tablespoon of white vinegar in a cup. Add more vinegar if needed to make a paste, but don’t make it too runny. Using a rag, apply the paste to the toilet bowl stains and scrub. Wait 5-10 minutes, then scrub with the brush and 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 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.

Comment Policy

Comments are moderated and may take up to 72 hours to appear. Submission of a comment constitutes acceptance of our Terms of Service.

Leave a Reply

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


  1. 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?

    1. Katie Berry says:

      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!

  2. 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.

  3. 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!

  4. 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.