How to Get Stubborn Stains Out of Your Carpet

Don’t let an accidental spill ruin your day

Get quotes from floor cleaners and waxers near you
No obligation · 100% free
Get quotes from floor cleaners and waxers near you
No obligation · 100% free
Need Help With a Project? Connect With a Pro
  • Your carpet stain removal success depends on acting fast and blotting instead of rubbing, which prevents spills from setting deeper into the fibers.

  • DIY carpet cleaning uses household supplies like baking soda and vinegar, and renting a steam cleaner gives your carpet a deeper clean.

  • You can tackle most fresh stains by applying cold water or club soda, then using simple homemade cleaners with common ingredients.

  • Hiring a local carpet cleaning professional provides expert help with stubborn or old stains and helps your carpets stay fresh with regular deep cleaning.

Get quotes from up to 3 pros!
Enter a zip below and get matched to top-rated pros near you.
Geo Icon

Picture this: After hosting a party for your friends and family, you realize that a few sloshes of beer and wine have stained the floors. Spills happen, but there’s no need to cover the living areas in plastic tarps to keep your carpet looking pristine. 

Whether your kids drop their juice cups, the new puppy has an accident, or you drop some food, here’s how to get stubborn stains out of your carpet.

Angi Tip

Some over-the-counter or DIY stain removers can make stains worse. If you are unsure of the material and the stain is over a week old, a professional cleaner will know the correct solution to use.

Caroline Gilbert
Director, Content & Editorial, Angi

How to Get Rid of Blood Stains in Carpet

woman spraying cleaning solution on carpet
Photo: LightFieldStudios / iStock / Getty Images Plus / Getty Images

When it comes to getting blood stains out of carpet, cold water is key. Using higher temperature water will cause the blood to coagulate and set into the carpet. For blood stains, apply cold water or club soda and blot with a clean cloth to lift the stain. Repeat as needed.

Wine Stains

It’s all fun and games until red wine stains your white carpet. While wine, especially red wine, is difficult to remove, it’s not an impossible feat.

  1. After initially blotting the area, pour small amounts of water or club soda over the stain.

  2. Use a fresh cloth to blot the area.

  3. Repeat pouring water or club soda and blotting the area to slowly dilute the wine stain.

  4. For deep-set wine stains, combine three parts of baking soda to one part of water to make a cleaning paste.

  5. Gently massage the paste into the stain with your fingers.

  6. Let the baking soda sit for a few hours until it’s dry.

  7. Vacuum up the baking soda.

Coffee Stains

Your peaceful morning moment spent sipping coffee can quickly become chaotic if you spill it onto the carpet. To clean coffee or tea stains, you can use a commercial cleaner or a homemade cleaner with hydrogen peroxide.

  1. Combine two parts of hydrogen peroxide and one part of liquid dish soap.

  2. After blotting the stain, apply the mixture.

  3. Massage the homemade cleaner into the stain gently.

  4. Rinse the area with water, then blot to lift the stain.

Chocolate Stains

Sometimes, your beloved chocolate will betray you by leaving fudgy smears on the carpet. Before tackling melted chocolate stains, you’ll need to use a knife or spoon to pick up any solid pieces of chocolate.

  1. Add an ice pack or ice inside a sealed bag over melted chocolate, causing it to solidify.

  2. Combine warm water and a small amount of dish soap in a bowl.

  3. Soak a cleaning cloth in the soapy water, then wring it out.

  4. Gently blot the area with the damp cloth, working from the outside in to avoid spreading the stain.

  5. Allow the soapy water to set into the stained area for a few minutes.

  6. Use a clean, dry cloth to blot the area.

Oil or Grease Stains

For greasy stains, baking soda is a miracle worker, but you may need to put in a little elbow grease.

  1. Lift any solids away from the carpet with a knife or spoon.

  2. Pour baking soda over the grease spot and set it for at least 5 minutes to soak up the oil or grease.

  3. Use a soft-bristled cleaning brush to gently scrub the baking soda into the stain.

  4. Let the baking soda sit for 15 minutes to a few hours, depending on the stain’s severity.

  5. Vacuum up the baking soda.

  6. If the stain is still there, apply either rubbing alcohol or warm, soapy water to the area.

  7. Scrub the area again gently with the cleaning brush.

  8. Rinse the area with water and blot dry.

Mud Stains

Kids and dogs love to spend an afternoon playing outside, but that sometimes means they track mud back inside. Let the mud dry completely before using a knife or spoon to pick up the solid pieces. For any stain left behind:

  1. Combine warm water and distilled white vinegar plus a few drops of liquid dish soap in a spray bottle.

  2. Spray the stain thoroughly.

  3. Let the soaked stain sit for 10 minutes.

  4. Use a clean cloth to blot the area dry.

Ink Stains

Ink stains can be intimidating, but many inks are water-soluble and easier to clean up than you’d think.

  1. Combine warm water and 1 tablespoon of liquid dish soap.

  2. Use a clean cloth soaked in the soapy water to apply this simple homemade cleaner to the ink stain.

  3. Blot, don’t rub, to carefully lift the stain.

  4. If the ink doesn’t come up, soak a cotton ball in rubbing alcohol.

  5. Blot the stain with the cotton ball and let it set for 5 minutes.

  6. Rinse the area carefully with water, then blot dry.

Pet Urine

Pet urine can leave dark spots on your carpet, but it can also leave behind an unpleasant smell. To clean pet urine stains out of carpet, follow these steps.

  1. Use a mixture of baking soda and vinegar or a store-bought enzymatic cleaner, which will neutralize odors and help lift the stain from the carpet.

  2. Blot the solution on the stain with a clean rag.

  3. If the stain does not come out, do not attempt to try a different cleaner as the combination could make the stain worse.

Tips for Taking Care of Carpets

professional using steamer on white carpet
Photo: Andrey Popov / Adobe Stock

Spills, stains, and general wear and tear can make carpets look dingy, but with regular upkeep, your carpets will look as good as new.

1. Clean Up Spills Quickly

If you drop food or spill your drink, use the blotting method to clean up the mess as soon as it happens. Otherwise, liquids and debris will move deeper into the carpet fibers, making a set stain that’s hard to clean.

Pro tip: Always blot up the liquid rather than rubbing. Rubbing can create a larger stain that sets deeper into the carpet.

2. Vacuum Often

Stains aren’t the only problem for carpets. Dirt and debris can make carpet look dirty and even cause the fibers to become matted. Make sure to vacuum carpets and rugs at least a few times a week, if not daily.

3. Schedule Regular Carpet Cleanings

Even if you don’t spill on your carpet, general foot traffic can leave dirt behind deep into the carpet fibers. To extend your carpet’s life and help it look its best, consider performing a deep cleaning every season or rent a steam cleaner annually to give your carpets a fresh scrub.

Based on the responses of 67,100 Angi customers, steam cleaning and shampoo cleaning are popular choices, partly due to their strong ability to remove stains. Steam cleaning utilizes high heat to break down tough spots and lift deeply embedded dirt, while shampoo cleaning employs detergents to loosen and remove stubborn stains. Both methods are favored for restoring carpet color and freshness, making them top picks among homeowners.

DIY vs. Hiring a Pro to Clean Carpet Stains

6 carpet cleaning benefits, including reduced allergens, remove stains, and improved appearance

DIY carpet cleaning typically costs $75 or less, including the price of low-cost household staples like baking soda or vinegar and a cleaning brush. Using a rented steam cleaner, which costs about $50, and carpet detergent, which runs $15 to $25, will give you a deeper clean. On the other hand, the cost of hiring a professional carpet cleaning service will cost about $25 to $75 per room.

Professional carpet cleaning costs about $120 to $230 and is best for large or old stains or stains that you can’t clean up yourself. Hire a local carpet cleaning service to restore your rugs and carpets to their former glory, and schedule a regular service about once a year to extend the life of your carpet.

Frequently Asked Questions

Vinegar and baking soda can be effective for removing old carpet stains, although success may depend on the type of stain. There are two common methods for this process.

One method involves combining the ingredients directly on the stain to create a chemical reaction. First, pour a generous layer of dry baking soda over the stain. In a spray bottle, mix distilled white vinegar with 1 cup of warm water and a few drops of liquid dish soap, then spray this solution thoroughly over the baking soda. The mixture will foam as the acidic vinegar reacts with the basic baking soda, which helps loosen and lift the stain. Let this sit for a few hours until it dries, then wipe or vacuum up the residue and blot the area with a clean, dry towel. You can repeat the process if the stain persists.

An alternative method suggests using the ingredients separately. Start by sprinkling baking soda on the stain and letting it sit for 15 to 30 minutes before vacuuming it up. Next, blot the remaining stain with a solution of equal parts white vinegar and water, and then blot the area dry with a clean cloth.

Need professional help with your project?
Get quotes from top-rated pros.

The homeowners guide to floor cleaning and waxing services

From average costs to expert advice, get all the answers you need to get your job done.