How To Clean Carpet Stains

This post may contain affiliate links that do not change your price but share a small commission. I only recommend products I have personally used.

A stained carpet makes your home look dirty even when everything else is clean. Here’s how to remove carpet stains, old or new, to get your floors looking good again.

Person using a sponge and bottle of homemade carpet stain remover to show how to get rid of carpet stains, old or new

How to Clean Recent Carpet Stains

Fresh carpet stains from food, beverages, pets, grease, and other substances will usually come out with warm water and a small amount of liquid dish detergent. If this doesn’t completely remove the spot, move onto one of the methods below right away, so the stain doesn’t have a chance to set.

Feces, Mud or Latex Paint

Clean any remaining stain with a solution of 1 part white vinegar to 3 parts hot water. Spray the area and blot the stain away with a clean, white cloth. Rotate the fabric as you work so you aren’t spreading the mess.

Blood, Chocolate, Wine, Ketchup, and Coffee

Blot up as much of the spill as possible, then dab with club soda and a clean cloth. For stubborn stains, mix 1 tablespoon of clear household ammonia in 1/2 cup of water. Spray this on the stain, but don’t soak the carpet padding beneath. Dab it with a clean cloth, rinsing and changing your fabric often as the stain transfers to it. Once the stain is gone, clean the area with fresh water to remove the remaining ammonia, then blot dry.

Greasy Carpet Stains

Blot the area until it’s dry to touch. Sprinkle with 1/4 cup of baking soda and rub this into the stain. In a small bowl, combine 1 cup hot white distilled vinegar, 1/2 cup hydrogen peroxide (3%), and 1/2 teaspoon of liquid dish detergent. Have a stack of clean, white cloths handy.

Slowly pour the soapy vinegar over the stain. The bubbling chemical reaction between the vinegar and baking soda will pull the stain out of the carpet fibers. Once you’ve finished pouring, blot the stain away. Let dry, then vacuum.

Other Common Carpet Stains:

Nail polish
Candle wax
Pet stains
Dried paint

How to Remove Old Carpet Stains

1. First, see if warm water with a few drops of liquid dish detergent can lift the stain out. Use a clean, white cloth and change it frequently as you work.

2. Next, spray the area with 1 part white vinegar and 3 parts warm water, then spread a towel over it and go over the carpet stain with an iron using the steam setting. This action will transfer the mess to your cloth, so you’ll need to change it out often as you work. Let dry, and vacuum to restore the carpet’s fluff. (You can see how well this worked on my carpets.)

3. Is the stain still there? Use 1 part clear household ammonia and 3 parts hot water. Spray on, scrub into the rug with a stiff-bristled brush, and use the ironing-transfer process described above. Be sure to spray with fresh water, blot with a clean towel to remove the ammonia, and then dry and vacuum thoroughly.

Be the first to know how to clean your home

Ready to love your home again?

Comment Policy

Comments are moderated and may take 72 hours to appear. Not all comments are approved and approved comments may be removed in the future if they are no longer relevant.

4 Comments

  1. James Bergman says:

    I’m glad that you mention trying regular soap before anything else. It is amazing how much comes out without much effort and a little bit of soap. However, I am a big fan of using a steam cleaner for really old inset stains. It normally takes a couple of passes, but a lot of the stain comes up. However, if I end up with a really big stain or a lot of them I normally just let a carpet cleaning service take care of it for me.

  2. My carpet has a few old stains on it and so I really appreciate your advice about using liquid dish detergent, vinegar and water to get the stain out. However, I am a little nervous about what might happen if I need to use ammonia. Will ammonia change the color of the carpet?

  3. We have two toddlers and bedrooms with very light carpet so we have lots of stains. We were thinking of having the carpets professionally cleaned. Worth the money?

    1. Katie Berry says:

      If it’s stained all over then, yes, a professional cleaning is probably worth it.

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

Your email address will not be published.