Floor rugs have to stand up against a lot of wear and tear, and unfortunately having a smelly rug can be a common problem. 

Rugs have a big impact on home interiors adding style and warmth, however, they are also quite porous. Made from various materials with fibres that easily catch dirt and debris, regular cleaning and maintenance are essential to keep your rug looking and smelling fresh. 

There are several ways to clean a smelly rug, but it may depend on what is causing the smell as to the best way to remove the odour. 

Determine the cause of the smell

If you want to remove a smell from your rug, you first need to determine the cause of the smell, as there may be a way to prevent it from happening. 

Shoes can be one of the main culprits for a smelly rug. People bring in things on the bottom of their shoes which then gets tracked onto your rugs, leaving behind dirt and debris that can end up staining and smelling if not cleaned immediately. Embrace a no-shoes policy in your home to keep your floors from getting smelly. 

Moisture or dampness can result in a smelly rug. This could be caused by humidity, liquid spills, or flooding. If your rug gets damp and is not dried out this can result in mould and mildew forming, which can be unhealthy for your home. Invest in a dehumidifier to help keep moisture out of air and make it easier to keep your home, and your rug, smelling fresh. 

Spills happen in any home, and food and liquids can get caught in rug fibres. This can attract bacteria, resulting in an unpleasant smell. It may also attract ants if not cleaned up properly, which becomes another problem to deal with. 

If you have pets, then you’re probably already aware that animal hair and dirty paws can result in a smelly rug. There may also be instances of bathroom accidents that need to be dealt with, and can leave behind an unpleasant odour. 

While numerous factors can cause your rug to develop a bad smell, there are solutions to freshening up your rug. 

Regular vacuuming

Vacuuming regularly to remove debris and bacteria will improve the health and overall appearance of your rug. It can help remove some smells, or prevent smells from developing. 

You should aim to vacuum your rugs weekly, or more often if you have pets, to keep your rug in good condition. This will help prevent debris from getting pushed deeper into the fibres and potentially becoming a more difficult problem to deal with. 

Overall, keeping your home clean can help prevent odours from developing, and will make your rug and home environment feel fresher and more inviting. 

Check care instructions

When cleaning your rug, you always need to check the care instructions first, as this can differ depending on the materials and fibres. Some rugs may require specific cleaning to keep them in top condition. 

Avoid using harsh chemicals that may damage the rug. Spot testing before using cleaning products is a good way to ensure the product is safe to use on your rug. 

Clean up any spills straight away to prevent stains from setting which may become harder to remove. 

Dry it out

A wet or damp rug left to sit on the floor will develop an unpleasant odour, and may potentially cause damage to the flooring underneath and result in mildew or mould forming. 

Blot any liquid spills straight away to remove excess liquid, and after cleaning your rug, it’s important to properly dry it out before laying it back down to prevent any dampness remaining. 

Let your rug breathe

A floor rug can start to get musty after sitting inside for a long period of time, especially as it gets constantly walked on. 

Shake your rugs out at least once or twice a year to remove surface debris and also give them an opportunity to air out. Letting fresh air into your home regularly will also allow your rugs to breathe and help prevent them from getting so smelly. 

Baking soda

Baking soda is highly effective at absorbing liquids and odours, and luckily most people have this product readily available in the cupboard. 

If you notice your rug starting to smell, sprinkle some baking soda over your rug and leave it to sit for a few hours. Depending on how strong the smell is, you may have to leave it on longer. 

Once you’ve left it on for an appropriate amount of time, vacuum it up to remove the powder. Your rug should be smelling much fresher, but if you need to you can repeat this until the odour is removed. 


White vinegar is another household product that can be used to help remove odours from your rugs and keep them fresh. Vinegar can be particularly effective if your rug has mildew growing within the fibres.

Mix one cup of distilled white vinegar with one cup of warm water. Use a spray bottle to spray mixture over rug. Allow the mixture to sit on the rug for 15-20 minutes then blot to remove excess liquid, and set your rug somewhere to air dry completely before placing it back inside. 

Professional cleaner

If you’ve tried various recommended methods of removing the smell from your rug and nothing is doing the trick, it may be time to call in the professionals. 

Hard to remove stains and odours can become embedded in fibres, and may require a deep clean to thoroughly remove them. In these situations it is often best to get the help of a professional rug cleaner who has experience successfully removing smells from various rug materials. 

Rugs are generally quite absorbent and can hold smells, but with just a bit of extra cleaning you can remove the odour and have your rug smelling fresh again.