Discovered a new (but seemingly old) stain on your carpet? Say, you’ve moved into a new abode with slightly patchy bedroom flooring. Or repositioned your furniture after a couple years, only to reveal a mysterious patch beneath the sofa. Or you simply haven't had time to tend to that muddy old patch on your rug…

That old brown stain? It’s got to go.

Whilst carpet flooring offers a lovely soft surface, it’s also a lot more susceptible to stains. Keeping your carpet clear of marks can be a struggle! No matter how much you clean, dirty footprints, pet stains, smudges, and spills will always happen in your home. 

However, that doesn’t mean they have to stay there forever. Removing carpet stains can make your home feel more polished, hygienic and get rid of lingering germs. Wondering how to get old stains out of carpets? Take these steps to get a fresh, clean carpet in no time!

What is the best cleaner for dirty carpets?

Firstly, consider what your stain was caused by. This helps to determine whether or not the stain is water soluble, and therefore how to treat it.

  • Water-soluble stains include: mud, washable ink, excrement, berry juice, and wet or latex-based paint
  • Tougher water-soluble stains include: coffee, chocolate, blood, and wine

If the stain is water soluble, a mixture of warm water and dish soap should do the trick. If you’re unsure, this approach is a great one to use before trying anything else. Made of gentle components, this mixture offers a safe solution, even for wool carpets.

dealing with an old stain

To remove stains from your carpet with this method, you should:

  1. Gently scrape away any solids that are on the stain using a butter knife. Take care not to rub any dirt particles into the carpet fibres
  1. Rehydrate the stain with a solvent. Either purchase a carpet stain remover or make your own by mixing a cup of warm water with dish soap 
  1. Blot the stain, working from the outside inwards, taking care not to spread the stain further out onto the carpet
  1. Rinse the stain by blotting with water and leave it to dry

Top tip:
Use a white cloth or towel to make it clear when the stain has stopped transferring from the carpet. This also ensures no dyes are worked into the carpet.

Dealing with Stubborn Stains

You could also try the above process with the addition of vinegar and baking soda when creating your homemade carpet cleaner mixture. Or, directly apply carbonated water, hydrogen peroxide, or baking soda on the stain. Then, use a spray bottle to dampen with water and vinegar and rinse off after 30 minutes.

If it’s a particularly stubborn stain, consider the types of stains that could be putting a stop to your clean-up process...

How do you remove brown stains from carpet?

Coffee stains, chocolate, mud, red wine stains, baby poop, you name it! All are plausible causes of the brown stain on your carpet. If the above methods fail to loosen up the stain, give these methods a try.

Food and drink

The most common! If there are any solids, e.g. from chocolate, start by gently scraping these away with a blunt, flat instrument like a plastic knife or spatula. If melted, you should freeze the substance with an ice pack before scraping and then vacuum any flakes. This ensures you’re not working anything further into the carpet where it will set.

Once you’ve scraped off as much as you can, blot the stain with warm water and dish soap or your store-bought cleaning solution. Let the treatment sit for a while, rinse the spot, and then repeat the process until the stain has gone. For tea, coffee, and wine stains, use a stronger concentration of baking soda and vinegar for extra oomph.

coffee stain

Dirt and mud

Always ensure any dirt is dry before tending to the stain, otherwise you’ll work mud further into the carpet fibres. As with above, you can then scrape and hoover away any flakes before applying your cleaning solution. Let this sit, use a cloth to blot the stain, and rinse. 


If you or a family member have had an accident, dried blood can set into the carpet and be tricky to clean. If the blood is really set, use a small toothbrush to break up the particles before applying any wet carpet cleaning solution. Always make sure to wear gloves when cleaning up blood, as it can be a biohazard.

Never use warm or hot water as this will work in reverse and help to set the stain. Instead, use cold water mixed with dish soap and blot this onto the stain until it is gone. Take care not to rub the blood further into the fibrous texture of the carpet.


Accidents happen, and that’s okay! Your approach to cleaning a poo stain will depend on whether it is pet poop or human poop.

Firstly, take a small plastic bag, moist paper towel, or baby wipe and pinch up any solids from the carpet. It’s okay if this smears a little, but try not to work the stain into the carpet.

pet stains on a rug

If the stain was caused by pets, mix 50% white vinegar with 50% water. Allow the solution to soak into the carpet before blotting.

If caused by a human, mix a cup of cool water and some dish soap. Then blot the stain, gently rinsing and repeating until gone. 

Time to call the professionals…

If your stain is still stuck, there are other options! You don’t need to worry about replacing the whole carpet. You can hire a professional carpet cleaning service to help.

ACS work across Bristol, Bath and South Wales, providing a specialist deep cleaning service for carpets and rugs. Our experienced carpet technicians carefully adapt their methods to the type of stain and the fabric of your carpet, which means we’re able to offer a 100% satisfaction guarantee to every customer.

If your carpet stains are proving tricky to remove, you can learn about our carpet cleaning service or get in touch today.