Spotless Vacuum may earn commission on purchases through links at no extra cost to you. Learn More.

How to Remove Bad Odours from a Carpet

Written by Hannah Hall |

How to remove bad odours from carpet

Have your carpets developed unwanted odours? Fear not! Here are our five top tips on how to banish bad smells from carpets.

What Causes Carpets to Smell?

Carpets have porous fibres, so dirt can build up and cause bad odours. To eliminate a bad smell, you need to remove the dirt and bacteria causing it. 

Some cleaning products mask the smell rather than remove it, so they’re only a temporary fix. Instead, you should try to find a long-term solution so that smell doesn’t get worse.

The good news is that there are effective home remedies for deep cleaning using everyday cupboard essentials. These will shift dirt to resolve the issue rather than masking it.

Keep in mind that it’s always easier to treat a stain or spill as soon as it happens, so the material doesn’t have time to soak in. 

Warning: Always test a new cleaning method on a small patch of carpet to see how the solution affects the colour and texture of the fibres. 

How to Get Smells Out of a Carpet

Here are a few different carpet cleaning methods you can try before splashing the cash on expensive kit or professional help.

Method #1: Spot Treat Using Washing Up Liquid

Washing up liquid is effective at removing stains from carpets. The detergent cuts through grease and grime so you can rinse it away.

It’s important to stick to the correct concentration for this cleaning solution to prevent damage to your carpet.

Disclaimer: Test this method on a small hidden area first to check it won’t stain your carpet.

What You’ll Need:

  • Washing up liquid
  • Water
  • Spray bottle
  • White cloths or paper towels
  • Clean brush

How To:

  1. Prep the area by removing clutter and vacuuming to remove loose dirt and debris. If you skip this step, there’s a risk of pushing dirt particles deeper into the carpet fibres.
  2. Mix your cleaning solution by adding 1 teaspoon of washing-up liquid with 100ml of water. Pour it into a spray bottle.
  3. Spray the solution onto the stain until it’s relatively damp but not saturated. Leave it for a few minutes to work into the stain.
  4. For a fresh spill, blot with a white cloth. If it’s an older stain that has soaked in, you can gently work the stain with a brush. Work from the outside in so you don’t spread the stain further. Brushes can damage delicate carpets, so be careful and use a soft cloth if you’re worried.
  5. Rinse the area with clean water and blot dry. Stack some clean paper towels on top and weigh them down to get more moisture out.
  6. Leave the area to air dry completely before walking on the carpet.

While this works the first time in some cases, it won’t always. Still smelling? Move on to the next method.

Method #2: Spot Treat Using White Vinegar

White vinegar is a natural odour eliminator, so it’s a top choice if you don’t want to use harsh chemicals. It also dries odourless, so you’re not just swapping one smell for another.

Disclaimer: Test this method on a small hidden area first to check it won’t stain your carpet.

What You’ll Need:

  • White vinegar
  • Clean water
  • Spray bottle
  • Clean white cloths or paper towels
  • Vacuum cleaner

How To:

  1. Vacuum the area first.
  2. Use paper towels or a white cloth to blot excess moisture away. Stay away from coloured cloth, as the dye can transfer.
  3. Mix white vinegar 50:50 with water and pour into a spray bottle.
  4. Apply to the carpet, working from the outside-in, so it doesn’t spread the stain further. Give the carpet a good soaking but don’t saturate it, then leave it to work for at least five minutes.
  5. Blot the area to remove the vinegar solution, then rinse with clean water to remove any vinegar residue.
  6. Blot a final time to remove excess moisture. 
  7. Leave the carpet to air dry. Opening windows and using fans will speed this up.

If the smell is still lingering, move on to the next method.

Method #3: Use a Steam Cleaner to Remove Odours

Steam is a natural cleaner that kills bacteria deep within the carpet fibres.

You can use a steam cleaner if you have one with a carpet nozzle or attachment. Or a handheld steam cleaner is a great choice for spot cleaning. 

What You’ll Need:

  • A steam cleaner with a carpet attachment
  • Vacuum cleaner

How To:

  1. Vacuum and pre-treat any stains with the above methods before moving onto steam.
  2. Set up your steam cleaner as per the instructions
  3. Steam the carpet slowly. This ensures the steam stays hot enough to kill any bacteria. As a general rule, the carpet should feel damp, not wet.
  4. Leave the carpet to dry completely and vacuum again. This picks up any dirt the steam has loosened.

Method #4: Using a Carpet Cleaning Machine

If you’ve tried spot cleaning visible stains, but the smell still lingers, it’s time to tackle the whole carpet. This is where a carpet cleaning machine comes in handy.

Many machines have bristles that agitate carpet fibres, removing the embedded dirt causing the smell. It’s better to use this method for entire rooms to ensure consistent results. 

You can hire a carpet cleaning machine for a weekend from places like Homebase, HSS Hire, and RugDoctor. It’s a great way to keep costs down, but you may prefer to buy one if you know you’re going to need it regularly. 

Once you’ve got your carpet cleaner, check what shampoo it needs. Many of them will have recommendations for specific products. Of course, always check the instructions for how to work each model before you start.

Method #5: Call a Professional

If you’ve tried everything and the smell still won’t shift, call a professional. They have access to commercial-grade equipment and products that can deep clean more effectively than many home options.

Besides, it’s a good idea to have your carpets cleaned every 12 to 18 months anyway. It removes stubborn dirt and bacteria that cause odours in the first place.

Frequently Asked Questions

Can I Use Baking Soda?

No, it’s best to avoid baking soda when cleaning carpets. While you see it suggested all over the internet, it’s actually an abrasive that can damage your carpet fibres and leave the area looking dull. 

It’s also impossible to vacuum 100% of baking soda up, so it sits in the carpet and absorbs moisture. This damages the glue in the carpet backing and leads to it losing its structural stability.

Finally, baking soda can damage a vacuum cleaner. The fine particles clog the filters and scratch the internal plastic parts of the machine. So unless you want to spend money on a new vacuum, stay away from baking soda.

How to Neutralise Odours in Carpet

White vinegar is one of the best natural options to neutralise unwanted smells in your carpet. It absorbs odours, like pet urine. See our method above for how to apply it.

You can also buy ready-made commercial products, like carpet deodorisers and odour-eliminators, if white vinegar doesn’t work.

How to Get a Musty Smell Out of Carpet

Musty smells are often caused by water problems which lead to the carpet sitting wet for a while. You need to fix the leak or water issue first before tending to your carpet. 

When you’re ready, here are some simple steps to fix a musty carpet:

  1. Let the carpet dry completely, then vacuum.
  2. Use a vinegar and water solution to mist the carpet and leave it for a few hours.
  3. If the smell persists, try a carpet shampoo. Apply it to the carpet, work it in using a sponge, then leave it to dry. Vacuum the area when it’s dry.

Make sure you don’t over-saturate the carpet, as this could lead to further problems with mould and must. And keep off the carpet until it’s dried out.

You may need to repeat this process a few times to defeat the odour. If it’s still not working, it’s best to call a professional.

How to Remove Pet Odours From Carpet

Pet odours are usually caused by pet dander, hair, or urine sitting in the carpet. 

  • For pet hair and dander, regularly vacuum with a vac that has powerful suction and a rotating brush bar.
  • For urine smells and other accidents, enzymatic cleaners or vinegar are your best bet. Enzymatic cleaners use enzymes to break down dirt and stains, while vinegar can eliminate bad odours.

Whichever method you choose, it’s best to tackle pet stains as soon as they happen. Use paper towels to soak up as much moisture as possible, then apply the cleaner of your choice. 

What About Coffee Stains?

Coffee stains can be hard to remove – but don‘t give up! We’ve written about a simple DIY method for removing coffee stains from carpet.


Carpet smells are inevitable in busy homes, but there are plenty of ways to fix them yourself. White vinegar, enzymatic cleaners, steam cleaning, and washing up liquid are all useful for getting rid of odours without calling a professional.

If you’re struggling to keep on top of your carpet’s cleanliness, take a look at our guide to the 5 best vacuum cleaners for carpet and our 7 tips for keeping carpets clean.

Leave a comment