How to Remove Stains from a Sofa
The complete guide to identifying, treating, and removing every type of stain from fabric, leather, velvet, and microfiber sofas — using methods that actually work.
Identify Your Stain TypeA spilled drink, a pet accident, or ink from a pen — stains happen to every sofa eventually. What separates a ruined cushion from a saved one is how quickly and correctly you respond. This guide covers the exact techniques professionals use, broken down by stain type and fabric material, so you can act with confidence instead of panic. Whether you're dealing with a fresh spill right now or a set-in stain from months ago, the methods below will give you the best chance of restoring your sofa.
Stain removal is not guesswork. The wrong cleaning method on the wrong fabric can permanently damage your upholstery — discoloring velvet, cracking leather, or shrinking fabric. Before you touch any stain, you need to understand two things: what kind of stain you're dealing with and what your sofa's fabric can handle. This guide walks you through both, then provides targeted solutions for every common scenario.
Understanding Sofa Cleaning Codes
Before attempting any stain removal, check the tag underneath your sofa cushions or on the frame. You'll find one of four cleaning codes that tells you exactly which solutions are safe. Ignoring this step is the number one cause of irreversible damage during stain removal.
Understanding these codes is especially important when comparing different sofa materials during the buying process. If you're still shopping, our leather vs fabric comparison guide breaks down which materials are easier to maintain long-term. For households with children or pets, you may also want to consider a washable sofa that allows machine-washable covers — eliminating stain anxiety entirely.
Identify Your Stain Type
Different stains require completely different treatments. Using a grease-fighting method on a tannin stain can actually set it permanently. Here are the four major stain categories and the most common culprits in each:
Water-Based Stains
Coffee, tea, juice, soda, wine, beer, soup, broth. The most common sofa stains and usually the easiest to remove if treated quickly.
Oil-Based Stains
Grease, butter, salad dressing, makeup, lotion, sunscreen, food oils. These repel water and require degreasers or absorbent powders.
Protein-Based Stains
Blood, urine, vomit, sweat, pet accidents, eggs, dairy. Hot water sets protein stains permanently — always use cold water first.
Dye & Chemical Stains
Ink, pen marks, food coloring, hair dye, paint, nail polish. The hardest stains to remove and may require specialized solvents.
If you have pets at home, protein-based stains are likely your biggest concern. Our guide to the best sofas for pet owners covers stain-resistant and pet-friendly fabric options. Similarly, families with young children face a constant barrage of mixed stains — our best sofas for families article highlights performance fabrics that resist staining from the start.
Universal Do's and Don'ts
Regardless of stain type or fabric, these rules apply to every sofa stain removal attempt. Following them dramatically increases your success rate and prevents accidental damage.
Do This
- Blot from the outside edge toward the center to prevent spreading
- Test any cleaning solution on a hidden area first
- Use white cloths only — colored towels can transfer dye
- Act immediately — fresh stains are 10x easier to remove
- Use the minimum amount of liquid necessary
- Dry thoroughly after cleaning to prevent mold and mildew
- Work in good lighting so you can see the full stain
Don't Do This
- Rub or scrub the stain — this pushes it deeper into fibers
- Use hot water on protein stains (blood, urine, dairy)
- Apply bleach or hydrogen peroxide without testing first
- Oversaturate the fabric — moisture reaches the padding
- Use colored soaps or dyed cleaning products
- Skip the fabric care code check
- Use a hair dryer or heat to speed-dry — heat can set stains
Stain Removal Methods by Fabric Type
The same cleaning technique that saves a fabric sofa can destroy a velvet one. Select your sofa's material below for tailored stain removal instructions. If you're unsure about your fabric type, our sofa materials explained guide can help you identify it.
Fabric sofas (cotton, polyester, linen blends) are the most common and generally the most forgiving when it comes to stain removal. Most fabric sofas have a "W" or "W-S" cleaning code, meaning water-based solutions are safe. For detailed fabric cleaning beyond stain removal, see our complete how to clean a fabric sofa guide.
General Stain Removal Solution for Fabric
- Blot immediately with a clean white cloth to absorb as much of the spill as possible. Press firmly — don't rub.
- Mix the cleaning solution: 1 tablespoon of liquid dish soap (clear, not colored) + 1 tablespoon of white vinegar + 2 cups of warm water.
- Dab the solution onto the stain using a clean cloth. Work from the outer edge inward to contain the stain.
- Let it sit for 5-10 minutes to allow the solution to break down the stain.
- Blot with a damp cloth to remove the cleaning solution. Rinse the cloth frequently in clean water.
- Blot dry with a clean towel, then let the area air dry completely. Place a fan nearby to speed drying.
Special Cases for Fabric
Grease and oil stains: Sprinkle baking soda liberally over the stain and let it sit for 20-30 minutes to absorb the oil. Vacuum thoroughly, then treat with the dish soap solution above. For stubborn grease, a few drops of rubbing alcohol on a cloth can help break down the oil.
Wine and juice stains: Immediately pour a small amount of club soda or white vinegar directly on the stain and blot. The carbonation and acidity help lift the dye from the fibers before it sets.
Ink stains: Dab with rubbing alcohol (isopropyl alcohol 70%+) using a cotton swab. Work from the outside in. This may require multiple applications. Test on a hidden area first — alcohol can remove fabric dye on some materials.
Leather requires a completely different approach than fabric. Water can cause water spots, and harsh chemicals can strip the finish. Always use pH-balanced leather cleaners and follow up with a leather conditioner to prevent drying and cracking. For comprehensive leather care, visit our how to clean a leather sofa guide and learn about leather conditioning to maintain the material's suppleness.
Stain Removal Steps for Leather
- Wipe the stain gently with a soft, damp microfiber cloth. Do not soak the leather — use minimal water.
- Apply pH-neutral leather cleaner to a cloth (never directly to the leather) and wipe in gentle circular motions.
- For grease stains: Sprinkle cornstarch or talcum powder over the stain and let it sit overnight. Wipe away in the morning.
- For ink stains: Dip a cotton swab in rubbing alcohol and gently dab the ink mark. Do not rub. Test on a hidden area first.
- Wipe clean with a damp cloth to remove any residue.
- Apply leather conditioner to the cleaned area to restore moisture and protect the finish. This step is non-negotiable — skipping it leads to cracking.
Velvet is the most delicate common upholstery fabric. Its pile (the raised fibers) can be permanently crushed or discolored by aggressive cleaning. The golden rule with velvet is minimal moisture and gentle pressure. For a complete velvet care routine, see our how to clean a velvet sofa guide.
Stain Removal Steps for Velvet
- Act instantly — velvet stains set faster than almost any other fabric due to the dense fiber structure.
- For liquid spills: Immediately press a dry, clean cloth firmly against the spill to absorb all liquid. Do not dab — press.
- For dried stains: Use a soft-bristle brush to gently brush the stain in the direction of the pile. This alone removes many light stains.
- If brushing isn't enough: Mix a small amount of mild dish soap with water. Dip a cloth, wring it out nearly dry, and lightly dab the stain.
- Blot with a dry cloth immediately after cleaning to remove all moisture.
- Restore the pile: Once completely dry, gently steam the area (hold a steamer 2-3 inches away) and brush in the pile direction to restore the velvet's texture.
Microfiber is surprisingly stain-resistant due to its ultra-fine synthetic fibers, but when stains do penetrate, they can be stubborn. The good news: microfiber responds exceptionally well to alcohol-based cleaning, which is unusual for upholstery. For the full microfiber care guide, visit how to clean a microfiber sofa.
Stain Removal Steps for Microfiber
- Blot the stain with a clean cloth to remove surface liquid.
- Apply rubbing alcohol (70% isopropyl) to a clean cloth or spray bottle. Do not dilute it.
- Spray or dab the alcohol onto the stain. The alcohol evaporates quickly, which is ideal — it cleans without over-wetting.
- Scrub gently with a soft-bristle brush in circular motions. Unlike other fabrics, microfiber can handle light brushing.
- Wipe away residue with a clean, damp cloth.
- Restore the texture: Once dry, rub the area gently with a soft brush. If the alcohol has caused a hard spot, a light pass with a white vinegar spray (1:1 with water) followed by brushing will soften it.
One quirk of microfiber: rubbing alcohol can temporarily darken the fabric and make it feel stiff. This is completely normal and reverses once the area is fully dry and brushed. Microfiber's durability is part of why it ranks highly on the most durable sofa fabric list, along with its performance on the Martindale abrasion test.
DIY Cleaning Solutions That Work
You don't need expensive commercial products for most sofa stains. These household solutions are effective, affordable, and safe when used correctly on the right fabric type.
Dish Soap + Vinegar Solution
The all-purpose workhorse for water-based stains on fabric sofas. Safe for "W" and "W-S" coded fabrics.
Baking Soda Paste
Ideal for grease and oil stains on fabric and microfiber. The baking soda absorbs and lifts oils from the fibers.
Rubbing Alcohol
The best solution for microfiber. Also effective on ink and marker stains on fabric. Evaporates quickly with no residue.
White Vinegar + Water
Excellent for removing odors alongside stains (especially pet urine). Also helps dissolve soap residue from previous cleaning attempts.
Cornstarch Powder
The go-to for fresh grease stains on leather. Absorbs oil without any liquid contact. Also works on fabric grease stains.
Hydrogen Peroxide (3%)
Effective for blood and organic protein stains on light-colored fabric. Can have a mild bleaching effect — test first.
Quick Reference: Stain × Fabric Chart
Use this chart to find the right treatment at a glance. Click on any fabric type for detailed instructions in the sections above.
| Stain Type | Fabric / Cotton | Leather | Velvet | Microfiber | Difficulty |
|---|---|---|---|---|---|
| Coffee / Tea | Dish soap + vinegar solution | Damp cloth + leather cleaner | Press with dry cloth, then light soap dab | Rubbing alcohol spray + brush | Easy |
| Red Wine | Club soda or white vinegar, then soap solution | Leather cleaner immediately | Press dry cloth, then white vinegar dab | Rubbing alcohol + brush | Medium |
| Grease / Butter | Baking soda paste, then soap solution | Cornstarch overnight, then wipe | Gentle brushing only — avoid moisture | Rubbing alcohol + brush | Medium |
| Blood | Cold water + hydrogen peroxide (light fabric only) | Damp cloth with mild soap (cold water) | Cold damp cloth press only | Rubbing alcohol + cold water rinse | Hard |
| Pet Urine | Enzyme cleaner, then vinegar solution | Leather cleaner + conditioner | Professional cleaning recommended | Enzyme cleaner + rubbing alcohol | Hard |
| Ink / Pen | Rubbing alcohol on cotton swab | Rubbing alcohol on swab (test first) | Professional cleaning recommended | Rubbing alcohol + brush | Hard |
| Mud / Dirt | Let dry, vacuum, then soap solution | Damp cloth + leather cleaner | Let dry completely, then soft brush | Vacuum, then rubbing alcohol spray | Easy |
| Makeup / Foundation | Dish soap solution or makeup remover wipe | Leather cleaner on cloth | Dry cloth press, then minimal soap dab | Rubbing alcohol + brush | Medium |
How to Handle Old, Set-In Stains
Not every stain is caught fresh. If you're dealing with a stain that's been sitting for days, weeks, or even months, the approach changes significantly. Set-in stains have had time for the pigment molecules to bond with the fabric fibers, making them far more resistant to simple surface cleaning.
- Vacuum the area thoroughly to remove any loose particles, dust, or dried residue from the stain surface.
- Apply an enzyme cleaner for organic stains (food, pet accidents, body fluids). Enzymes break down the molecular bonds that anchor the stain to the fiber. Spray generously and let it sit for 15-30 minutes.
- For non-organic stains (ink, dye, paint), apply the appropriate solvent based on your fabric type. This may require multiple applications over several hours.
- Use a handheld steam cleaner (on "W" coded fabric only) to apply heat and moisture simultaneously. The steam helps loosen set-in particles. Hold the tool 1-2 inches above the stain and extract immediately.
- Repeat the process — set-in stains rarely come out in a single treatment. You may need 3-5 rounds of cleaning, drying, and reassessing.
- Know when to call a professional. If the stain hasn't improved after 3-4 treatment attempts, a professional upholstery cleaner has industrial-grade solvents and equipment that can succeed where home methods cannot.
If your sofa has multiple old stains or the fabric itself is showing general discoloration and wear, it may be more cost-effective to invest in a new sofa rather than professional cleaning. Our sofa budget guide and best budget sofas roundup can help you find affordable replacements. For particularly stubborn or widespread damage, you might also consider secondhand vs new sofa options to balance cost and quality.
Special Focus: Pet Stain Removal
Pet stains are in a category of their own because they combine three problems: visible staining, persistent odor, and potential bacteria. A pet stain that "looks clean" can still harbor odor-causing bacteria deep in the cushion padding, which pets can smell and may re-mark. This makes thorough treatment essential.
- Blot immediately with paper towels or a highly absorbent cloth. Press hard — pet urine can soak through to the cushion foam quickly.
- Apply an enzyme-based cleaner specifically formulated for pet stains. These contain bacteria that literally eat the odor-causing proteins. Saturate the area — the cleaner needs to reach the same depth as the original stain.
- Let the enzyme cleaner work for the manufacturer's recommended time (usually 15 minutes to several hours). Do not rush this step — the enzymes need time to break down the proteins.
- Blot up excess moisture with clean towels. Place heavy towels over the area and stand on them to absorb moisture from deep within the cushion.
- Neutralize remaining odor by lightly misting with a 1:1 white vinegar and water solution. Vinegar neutralizes the ammonia in urine that causes the persistent smell.
- Dry completely — use fans, open windows, or a dehumidifier. Moisture trapped in cushion foam leads to mold and continued odor problems. This may take 24-48 hours.
Prevention is always better than treatment. A quality pet-proof sofa cover costs a fraction of professional cleaning and provides complete peace of mind. For pet owners shopping for a new sofa, our dedicated guides for pet-friendly sofas and the best sofa for pets FAQ cover materials, weaves, and treatments that resist pet damage from the start.
Preventing Future Stains
The most effective stain removal strategy is preventing stains from happening in the first place. A few proactive measures can dramatically reduce both the frequency and severity of stains on your sofa, regardless of your household's lifestyle.
Apply Fabric Protection Spray
Creates an invisible barrier that repels liquids and gives you crucial extra minutes to blot spills before they penetrate. Reapply every 6-12 months or after deep cleaning.
Use a Sofa Cover or Slipcover
A quality sofa cover absorbs the stain instead of your upholstery. Many are machine-washable. A slipcovered sofa is ideal for high-risk households.
Establish House Rules
No food or drinks on the sofa. Keep pens and markers away. If you have pets, train them to stay off furniture or provide a designated pet bed nearby.
Keep a Stain Emergency Kit Nearby
Store a small basket with white cloths, dish soap, vinegar, baking soda, and rubbing alcohol within arm's reach of your sofa. The first 60 seconds determine the outcome.
Regular Vacuuming
Weekly vacuuming removes dust, dirt, and crumbs that can mix with spills to create ground-in stains. Use the upholstery attachment and go over all crevices.
Rotate and Flip Cushions
Monthly cushion rotation ensures even wear and prevents one area from becoming more vulnerable to staining. It also helps with cushion sagging over time.
For a complete prevention and maintenance routine that goes beyond stain removal, our general sofa cleaning guide covers weekly, monthly, and seasonal care tasks that keep your entire sofa looking newer for longer.
When to Call a Professional
DIY methods handle 90% of common sofa stains successfully. But there are situations where professional help is not just preferable — it's necessary to avoid causing more damage.
Call a Professional When:
- The stain covers a large area (more than 6-8 inches)
- You've tried 3+ treatments with no improvement
- The sofa has a "X" cleaning code (no liquid cleaners allowed)
- The stain has penetrated to the cushion foam or frame
- You're dealing with delicate fabrics like silk, linen, or antique velvet
- There's a persistent odor even after cleaning (likely deep in padding)
- The stain involves bleach, paint, or permanent dye transfer
Don't Risk DIY When:
- You're unsure of the fabric type or cleaning code
- The sofa is an expensive or antique piece
- The stain involves bodily fluids that may carry bacteria
- Previous DIY attempts have caused discoloration or damage
- You don't have the right cleaning products or tools
- The sofa is under warranty with specific care requirements
Professional upholstery cleaning typically costs between $100-$300 depending on sofa size and stain severity. Compare this to the cost of replacing a ruined sofa — even our budget sofa picks start around $300-500. When in doubt, a professional cleaning is always the cheaper option. If you're considering whether to clean or replace, our sofa price breakdown can help you evaluate the investment.