Make your own non-toxic carpet stain remover! Tackle even the toughest carpet stains with a few simple ingredients you probably already have at home.

If you have carpet anywhere in your home, you know it can be such a pain to keep clean.
Add a few kids and a dog to the mix? And forget it!
I know the feeling.
When I was younger, we moved around a lot, and I remember having lots of carpet everywhere we went. I can also remember the very distinct smell coming from the red can of carpet stain remover that my mom would whip out at the first sign of a spill.
And you know what?
That stuff really worked. I don’t know what they put in there, but it didn’t matter what mess we made as kids. My mom could always get it out with that trusty red can.
But here’s the problem:
Most carpet stain remover that you can buy are made with harsh chemicals that can be unsafe, especially for kids and pets who crawl around and play on that carpet all day.
Even some homemade solutions can include things like ammonia or even chlorine bleach, both of which can be very irritating to the respiratory tract and aggravate asthma and other conditions.
Now, not to be presumptuous or anything, but I don’t think you want to wear a face mask every time you clean your carpets, do you?
Yeah, I didn’t think so.
So what’s the answer?
How do you remove life’s messy stains from your carpet without resorting to harsh chemicals?
It’s easier than you think.

In this guide I’ll show you how to make and use a carpet stain remover to treat some of the most common stains using a few ingredients you probably already have at home. Things like:
- hydrogen peroxide
- vinegar
- baking soda
- clear dish soap (make sure it doesn’t have bleach or dyes in it!)
- club soda
- rubbing alcohol
And some simple supplies like:
- white towels, rags, or paper towels
- lots and lots of water
- spray bottles
- soft sponge
- old toothbrush
- spoon or butter knife
- an iron with steam setting
But before we get to the list:
The stain remover recipes below are for specific stains with a known background history (you know, like when your toddler decides to smash a bright red raspberry into oblivion right on your white berber carpet? Yeah…).
But if you have an old, mysterious stain that’s been there since forever and you’re not really sure where it came from? Try using one of the ideas in my homemade carpet cleaner post.
Oh, and if you have untreated wool carpets?
First off, you rock for making the ultimate investment in a truly non-toxic solution for carpets and area rugs! But wool can be finicky and needs special treatment. So check out this really helpful post that breaks down the do’s and don’t’s of cleaning and caring for wool carpet and rugs.
Alright, now let’s jump right in…
Homemade Carpet Stain Remover List
NOTE: Don’t forget to spot test in a hidden spot to make sure these solutions won’t discolor or damage your carpets!
Blood
For a fresh blood stain:
- Simply pour some hydrogen peroxide directly on the spot and watch it fizzle.
- Then just dab the area with a clean towel until dry.
For an old blood stain:
- Start by loosening up any dried bits with some water and a tiny bit of clear dish soap.
- Scrape away what you can from the fibers, pour some peroxide on the spot.
- Then just dab the area with a clean towel until dry.
Chocolate
- Remove as much of the chocolate as you can by scraping it off with a spoon or butter knife.
- Then pour a small amount of cold water on the spot, add a drop of dish soap, and gently rub in a circular motion with a cloth. Let it sit for a few minutes.
- When you’re done, rinse the area completely to remove the soap solution by repeatedly spraying with water and then blotting up the excess. Continue until there’s no more solution in the carpet.
- Dry the area by using a dry towel to soak up excess liquid by pressing firmly (or stepping on it). You may want to leave the towel on the spot and weigh it down with something heavy, like a phone book, to let it dry completely.
Coffee
For a fresh stain:
- Quickly blot up as much of the liquid as you can with a towel.
- Flush the spot with cold water, and use another clean towel to blot up the liquid again.
- Mix 1 cup warm water + 1/3 cup vinegar + 1 teaspoon clear dish soap, and stir well to combine. Dip a sponge into the solution, wring out the excess, and apply to the stain by pressing/blotting into the carpet and gently rub in a circular motion. Remember to work your way from the outside of the stain to the inside.
- When you’ve covered the entire area, rinse the area completely to remove the soap solution by repeatedly spraying with water and then blotting up the excess. Continue until there’s no more solution in the carpet.
- Dry the area by using a dry towel to soak up excess liquid by pressing firmly (or stepping on it). You may want to leave the towel on the spot and weigh it down with something heavy, like a phone book, to let it dry completely.
For a dry stain:
- Spray the stain with cold water to dampen the area.
- Spray some peroxide on the stain.
- Place a wet cloth on the stain, and run your warm iron (with the steam setting turned on) over it a few times until the stain starts to lift up into the wet cloth. Remember to keep moving the iron around so you don’t scorch the towel.
- You might have to do this several times, and remember to change the cloth with a another clean, wet cloth when necessary.
- Dry the area by using a dry towel to soak up excess liquid by pressing firmly (or stepping on it).
NOTE: This works best on light colored carpets because the peroxide is a mild bleaching agent and might cause discoloration in darker carpet. If the peroxide won’t work for you, you can try this carpet cleaner spray instead.
Fruit and Juice
- Scrape up the fruit with a spoon or butter knife. Absorb as much of the fruit juice as possible by blotting with a towel.
- Spray some water on the area to lightly mist it, and use another clean towel to blot the area again. Continue blotting until you don’t see any more juice being transferred to the towel. Use a new, clean towel if the first one gets too dirty.
- Mix 1/2 tablespoon clear dish soap + 1 cup water, and stir well to combine. Dip a white towel or sponge into the solution, wring out the excess, and apply to the stain by pressing/blotting into the carpet. Then, use a fresh towel to blot the area and remove excess liquid.
- Continue applying the solution and blotting excess liquid until the stain is gone. Depending on the type of juice, it may take several rounds of the solution to get the stain out.
- When you’re done, rinse the area completely to remove the soap solution by repeatedly spraying with water and then blotting up the excess. Continue until there’s no more solution in the carpet.
- Dry the area by using adry towel to soak up excess liquid by pressing firmly (or stepping on it). You may want to leave the towel on the spot and weigh it down with something heavy, like a phone book, to let it dry completely.
Gum
- Just press an ice cube on the gum to harden it, then pull it right off the carpet.
Ink
- Blot up as much of the ink as you can with a dry cloth or paper towel.
- Dip a white cloth in rubbing alcohol (the higher the percentage, the better), and use it to blot the stain. If it’s a large stain, start from the outside and work your way towards the center. Don’t rub or scrub so the stain doesn’t spread. You should start seeing the ink transfer to the cloth.
- Continue dipping a clean part of the cloth in alcohol and blotting the stain until no more is being transferred to the cloth. This may take several applications, depending on how severe the stain is.
- If the stain is still visible, you can try dabbing some hydrogen peroxide to the stain.
- Rinse the area by spraying with water and blotting up the excess. Then let it dry overnight.
Mud

- Wait for it to dry, then scoop up the loose dirt particles with a dust pan, and vacuum the area very slowly in all directions.
- Mix 1/2 tablespoon clear dish soap + 1 cup water, and stir well to combine. Dip a white towel or sponge into the solution, wring out the excess, and apply to the stain by pressing/blotting into the carpet. Then, use a fresh towel to blot the area and remove excess liquid.
- Continue applying the solution and blotting excess liquid until the stain is gone.
- When you’re done, rinse the area completely to remove the soap solution by repeatedly spraying with water and then blotting up the excess. Continue until there’s no more solution in the carpet.
- Dry the area by using a dry towel to soak up excess liquid by pressing firmly (or stepping on it). You may want to leave the towel on the spot and weigh it down with something heavy, like a phone book, to let it dry completely.
Cooking Oil [source]
- Blot the area with a towel until no more oil comes up on the towel.
- Absorb the excess oil by covering the spot with baking soda or corn starch, and let it sit for 15-30 minutes, then scrape up the little clumps and vacuum the area. Depending on severity of stain, you might need to repeat this step until no more clumps form.
- Mix 1/2 tablespoon clear dish soap + 1 cup water, and stir well to combine. Dip a white towel or sponge into the solution, wring out the excess, and apply to the stain by pressing/blotting into the carpet. Continue applying the solution until the stain is gone.
- When you’re done, rinse the area completely to remove the soap solution by repeatedly spraying with water and then blotting up the excess. Continue until there’s no more solution in the carpet.
- Dry the area by using a dry towel to soak up excess liquid by pressing firmly (or stepping on it). You may want to leave the towel on the spot and weigh it down with something heavy, like a phone book, to let it dry completely.
Tomato Sauce

- First, scrape off any sauce with a spoon or butter knife.
- Soak a sponge or cloth in cold water, and begin blotting the stain, working from the outside towards the middle.
- Pour a small amount of club soda on the stain, then use a damp sponge to blot the spot and remove the stain.
- Soak up excess liquid with a dry cloth by firmly pressing down on the spot.
- Mix 1/2 tablespoon clear dish soap + 1 cup water, and stir well to combine. Dip a white towel or sponge into the solution, wring out the excess, and apply to the stain by pressing/blotting into the carpet. Then, use a fresh towel to blot the area and remove excess liquid.
- Continue applying the solution and blotting excess liquid until the stain is gone.
- When you’re done, rinse the area completely to remove the soap solution by repeatedly spraying with water and then blotting up the excess. Continue until there’s no more solution in the carpet.
- Dry the area by using a dry towel to soak up excess liquid by pressing firmly (or stepping on it). You may want to leave the towel on the spot and weigh it down with something heavy, like a phone book, to let it dry completely.
Urine
Method 1:
- Absorb as much of the urine as possible by blotting with white towels (or paper towels).
- Then spray a solution of equal parts (50/50) water and vinegar to completely saturate the stain. Let sit for 10 mins, then use more towels to absorb the liquid.
- After the area is almost dry (usually overnight), sprinkle some baking soda on the spot to neutralize the odor, and let it sit for 10 minutes. If the baking soda is still white, then brush away the excess with a dustpan, and then vacuum the rest. If the baking soda has a yellow tint, you may have to repeat the process after vacuuming.
Method 2:
This tip from One Good Thing looks and sounds very easy. Essentially, you:
- Pour full strength vinegar on the stain to saturate it.
- Then sprinkle with baking soda, and let it dry overnight.
- Once it’s dry, you vacuum the leftover baking soda, which at this point will be noticeably yellow. The pictures for this method speak for themselves, so it’s definitely worth a shot.
TIP: Regardless of what method you use to clean up fresh urine stains, never EVER use hot water or a steam cleaning machine, as the heat can actually set in the stain (and odor) even more.
Vomit [source]
- Carefully scrape up the vomit into a dustpan or garbage bag. Use a spatula, cardboard, scraper, or anything with a flat edge to scrape the bits off the surface of the carpet. Do NOT press or rub, just scrape/scoop.
- Absorb the excess moisture by covering the spot with baking soda or corn starch, let it sit for 10-15 minutes, then scrape up the little clumps and vacuum the area with the hose attachment.
- To remove the stain, try one of these solutions:
- Club Soda: Spray or pour on the stain, then use a clean towel to blot up the area. Repeat as needed.
- Vinegar: Spray equal parts water and vinegar, and let it sit for 15 minutes. Use a clean towel to blot up the area. Repeat as needed.
- Peroxide: *Test on hidden area first!* Pour a mixture of equal parts water and peroxide, and let it sit for 30 minutes. Use a clean towel to blot up the area.
And remember…

Just because you have carpet in your home, doesn’t mean you have to resort to harsh chemicals to keep them clean. Try some of the non-toxic carpet stain remover tips in this guide, and rest easy knowing that you’re keeping your family safe.
Interesting, I am always looking to use non toxic carpet cleaners, especially since my son likes to lie on the floor all the time. Does this do a good job with pet stains though?
To be honest, Alisa, I don’t have pets so I can’t comment on how well the pet stain remover works. I spent a good deal of time looking through several recipes for each type of stain, and used the best methods and info for each. Hope that helps!
Thanks Sarah for sharing your method for cleaning… this i all i need!
You’re welcome, Helen!
Interesting, I am always looking to use non toxic carpet cleaners, especially since my son likes to lie on the floor all the time. Does this do a good job with pet stains though?
To be honest, Alisa, I don’t have pets so I can’t comment on how well the pet stain remover works. I spent a good deal of time looking through several recipes for each type of stain, and used the best methods and info for each. Hope that helps!
Thanks Sarah for sharing your method for cleaning… this i all i need!
You’re welcome, Helen!
I have lots of coffee and tea marks on my carpet.
I definitely gonna try your idea of “1 cup warm water + 1/3 cup vinegar + 1 teaspoon clear dish soap”.
Thanks for sharing this post.
You’re welcome, Ava! If they’re old stains, you might want to try the steam iron trick in this post as well: http://naturesnurture.ca/homemade-carpet-cleaner-solution-spray/
Best of luck to you!
I have lots of coffee and tea marks on my carpet.
I definitely gonna try your idea of “1 cup warm water + 1/3 cup vinegar + 1 teaspoon clear dish soap”.
Thanks for sharing this post.
You’re welcome, Ava! If they’re old stains, you might want to try the steam iron trick in this post as well: http://naturesnurture.ca/homemade-carpet-cleaner-solution-spray/
Best of luck to you!
Kool-Aide?
Not a proud stain, for sure. Anything you can suggest to obliterate the red mark from beige synthetic fibers?
Oh no! I would probably try the ironing method under the “For Really Tough or Old, Set-in Stains” section of this post: https://naturesnurture.ca/homemade-carpet-cleaner-solution-spray/
Kool-Aide?
Not a proud stain, for sure. Anything you can suggest to obliterate the red mark from beige synthetic fibers?
Oh no! I would probably try the ironing method under the “For Really Tough or Old, Set-in Stains” section of this post: https://naturesnurture.ca/homemade-carpet-cleaner-solution-spray/
Sarah, very helpful information!
Vacuuming is the most basic carpet cleaning method, which if should not be ignored on a weekly basis.
Thanks for sharing your ideas.
Sarah, very helpful information!
Vacuuming is the most basic carpet cleaning method, which if should not be ignored on a weekly basis.
Thanks for sharing your ideas.
Thank you for such a great write up. Cleaning your carpets is an important part of keeping your home clean and tidy overall. However, carpet cleaning products tend to have strong chemicals in them that you may be hesitant to bring into your home.
Thank you for such a great write up. Cleaning your carpets is an important part of keeping your home clean and tidy overall. However, carpet cleaning products tend to have strong chemicals in them that you may be hesitant to bring into your home.