· Updated

How to Remove Carpet Stains: Pet Stains, Red Wine, and Coffee (2026)

Carpet stains respond to different treatments depending on the type — protein stains need enzyme cleaners, oil stains need solvents, and tannin stains need oxidizing cleaners. This guide covers the right cleaner for each stain type and the blotting technique that prevents spreading.

Quick Answer

The cardinal rule: blot, never rub. Rubbing a carpet stain spreads it and drives it deeper into the fibers. Blot with clean white cloths, working from the outside of the stain inward. For pet urine: enzyme cleaner (Rocco & Roxie, Nature's Miracle) — the enzymes break down the protein in urine. For red wine: club soda first, then a 1:1 hydrogen peroxide/dish soap mix on white or light carpet. For coffee: cold water first, then a small amount of dish soap mixed with cold water.

Frequently Asked Questions

Why do some carpet stains keep coming back after cleaning?

Stains that reappear after cleaning have 'wicked back' — the stain had soaked through the carpet backing and into the pad below. The surface looks clean when wet, but as it dries, the stain in the pad wicks back up through the carpet fibers. Fix: after cleaning the surface, place a thick stack of white paper towels over the area and weight it down with a heavy book for several hours — this pulls moisture and residue up from the pad into the towels. Repeat if the stain reappears.

What is the best enzyme cleaner for pet stains?

Enzyme cleaners specifically designed for pet stains (Rocco & Roxie Stain & Odor Eliminator, Nature's Miracle Advanced, Bissell Pet Stain & Odor) contain biological enzymes that break down the proteins in urine, feces, and vomit. These cleaners actually eliminate the stain and odor rather than masking it. Bleach or carpet shampoo does not break down the odor compounds in pet urine — the smell returns after cleaning. Apply enzyme cleaner liberally, blot, and let air dry completely — the enzymes continue working as it dries.

Will hydrogen peroxide bleach my carpet?

3% hydrogen peroxide (drugstore concentration) is generally safe on light or white carpet but can bleach or discolor dark or patterned carpet. Always test in an inconspicuous area first and wait 10 minutes before using on the visible stain. Do not use higher-concentration hydrogen peroxide. If in doubt on a colored carpet: use a commercial carpet stain remover instead of DIY hydrogen peroxide solutions.

How do I remove a grease or oil stain from carpet?

Grease requires an oil-cutting approach: (1) Apply baking soda liberally to the fresh stain — it absorbs grease. Let sit 15 minutes, then vacuum. (2) Apply a small amount of dish soap (the blue Dawn or similar degreasing dish soap) directly to the stain, working it in gently with a cloth. (3) Blot with cold water. (4) Repeat as needed. Do not use hot water on grease — heat sets grease stains. For old or dried grease: apply a dry-cleaning solvent (Carbona, K2r) per the label, let sit, blot up.

What do I do about a set-in stain that's been there for months?

Old set-in stains are much harder to remove than fresh ones. Try: (1) Re-wet the stain with warm (not hot) water first to reactivate it. (2) Apply the appropriate cleaner for the stain type. (3) Let dwell for 10–15 minutes. (4) Blot aggressively. For very stubborn set-in stains: a carpet cleaning machine (rental, $30–$50/day) with a stain-pretreating solution can inject and extract cleaner more aggressively than manual blotting. Deep or large stains that don't respond to cleaning: a carpet patch (cut out the stained section and replace with a piece from a closet or remnant) is the last resort.

The cardinal rule: blot, never rub. Rubbing a carpet stain spreads it and drives it deeper into the fibers.

Carpet stain removal works best when the stain is fresh and when you match the cleaner to the stain type.

What you need

  • Clean white cloths or paper towels
  • Enzyme cleaner (for pet stains)
  • Hydrogen peroxide 3% (for wine, berries, blood on light carpet)
  • Dish soap (Dawn or similar degreasing formula)
  • Baking soda (for oil and odor)
  • Club soda (for fresh liquid stains)
  • Cold water and spray bottle

Pet urine and protein stains

Blot up as much as possible with paper towels. Press firmly — don’t rub. Saturate with enzyme cleaner. Let sit 10–15 minutes. Blot. Place paper towels weighted with a book over the area for several hours to wick up residue.


Red wine, coffee, and tannin stains

Fresh: Pour club soda on the stain immediately. Blot. Continue adding club soda and blotting until the stain lifts.

If residue remains (light carpet): Mix 1 tablespoon of 3% hydrogen peroxide with 1 tablespoon of dish soap. Apply to stain, let sit 5 minutes, blot. Rinse with cold water, blot dry.


Grease and oil stains

Sprinkle baking soda generously on fresh grease — let absorb for 15 minutes, vacuum. Apply a small amount of dish soap, work in gently, blot with cold water. Repeat.


General fresh spill approach

  1. Blot immediately — don’t rub
  2. Work from outside the stain inward
  3. Use cold water (hot can set stains)
  4. Apply appropriate cleaner, let dwell, blot
  5. Rinse with cold water, blot dry
  6. Weight paper towels over the area to absorb wicking

⏰ PT30M 💰 $5–$25
  1. Blot up excess immediately — never rub

    Press clean white cloths or paper towels firmly onto the stain to absorb as much liquid as possible. Work from the outside edge inward toward the center to prevent spreading. Replace cloths as they absorb. For solid materials (pet waste, food), scoop up before blotting. Never scrub or rub — rubbing drives the stain deeper into fibers and spreads it.

  2. Apply the right cleaner for the stain type

    Pet urine: saturate with enzyme cleaner (Rocco & Roxie, Nature's Miracle) — enzyme formulas break down protein compounds that cause odor. Red wine or coffee (fresh): pour club soda on the stain and blot; for remaining residue on light carpet, mix 1 tablespoon hydrogen peroxide with 1 tablespoon dish soap and apply. Grease or oil: sprinkle baking soda generously to absorb; let sit 15 minutes, vacuum, then apply a small amount of degreasing dish soap. Always use cold water — hot water sets protein and tannin stains.

  3. Let dwell, then blot and rinse

    Allow the cleaner to sit for 10–15 minutes so it can break down the stain. Blot firmly with fresh cloths, always working inward from the edges. Rinse by applying cold water and blotting again to remove cleaning product residue. Soap residue left in carpet fibers attracts dirt and causes re-soiling.

  4. Weight paper towels to wick residue from the pad

    Stack several layers of white paper towels over the cleaned area and weight down with a heavy book or pot for several hours. This draws moisture and dissolved stain residue up from the carpet backing and pad into the paper towels — preventing the stain from wicking back to the surface as it dries. Replace the towels if they become saturated. Allow to air dry completely before replacing furniture.

Free: 10-Point Home Maintenance Checklist

Prevent costly repairs with this seasonal checklist. Save hundreds every year by catching problems early.

Free instant download + weekly home tips. Unsubscribe anytime.