
Affiliate Disclosure
Some links on this page are affiliate links. As an Amazon Associate, we earn from qualifying purchases — at no extra cost to you. We do not buy, test, or physically handle the products we cover; our rankings come from aggregated owner reviews, ratings and expert consensus. Commissions never change our verdicts. How we rank · full disclosure.
Before any liquid touches a fabric sofa, find the cleaning code on the tag: W means water-based cleaner, S means solvent only, WS means either, and X means vacuum only. Then work in this order — vacuum the whole piece, spot-test your cleaner in a hidden spot, blot stains rather than rub them, clean panel by panel with barely damp cloths, and dry it fast with a fan. Getting the code wrong is what causes the permanent water rings, shrunken panels and faded patches that make people replace an otherwise good sofa.
Step 1: find the cleaning code
Every US-market upholstered piece carries a manufacturer cleaning code, usually on a white tag stapled under a seat cushion, on the underside of the deck, or beneath the frame near a leg. Lift the cushions and look before you buy any product. The codes come out of long-standing furniture industry practice and the Association for Contract Textiles guidance, and they are not suggestions — they describe what the fibers and the backing adhesive can survive.
| Code | What it means | Safe to use | Never use |
|---|---|---|---|
| W | Water-based cleaning only | Distilled water, mild dish soap solution, upholstery shampoo, an extractor | Dry-cleaning solvent |
| S | Solvent only | Water-free upholstery solvent, 70% isopropyl alcohol | Water, steam, soap solutions |
| WS | Either is safe | Both of the above | Bleach, undiluted degreasers |
| X | Vacuum and brush only | Vacuum, soft brush, professional dry cleaning | Any liquid at all |
If the tag is missing or illegible, treat the sofa as S until proven otherwise and test on a hidden panel. An S-coded fabric that gets soap and water will often show a ring you cannot remove, because the water carries dissolved dye and sizing to the edge of the wet zone and leaves it there as a hard tide line.

What you need
- Vacuum with an upholstery tool and a crevice tool
- Three or four clean white microfiber cloths — colored cloths can transfer dye onto damp fabric
- A spray bottle, so you control how wet the fabric gets
- For W or WS: one teaspoon of clear, dye-free dish soap in two cups of distilled water. Tap water minerals are a common cause of faint rings on light fabric.
- For S: 70 percent isopropyl alcohol, or a water-free upholstery solvent
- A soft-bristle brush for restoring nap, and a box fan for drying
- Baking soda for odors, and a stiff rubber glove or pumice sponge for pet hair
A vacuum with real upholstery airflow does most of the work here — see our vacuum cleaner picks if yours has lost suction, and note that a clogged filter is usually the reason. If your sofa is past saving, our best sofas under $1,000 weigh frame construction and fabric durability first.
Step-by-step: cleaning the sofa
- Strip and vacuum, 15 minutes. Remove every loose cushion and pillow. Vacuum the deck, the back, the arms and both faces of each cushion with the upholstery tool, then run the crevice tool along every seam and into the gap behind the deck. Grit in the weave is abrasive and grinds fibers apart every time someone sits down, so this step does more for the life of the sofa than any cleaner.
- Lift pet hair. A damp rubber glove dragged across the fabric, or a pumice-style upholstery sponge, rolls embedded hair into clumps the vacuum can pick up. Work in one direction, not back and forth.
- Deodorize, 20 minutes. Sift a light, even layer of baking soda over the whole piece, leave it 20 minutes — longer for a strong smell — then vacuum it off completely. This is safe on all four codes, including X.
- Spot-test your cleaner. Non-negotiable. Apply a small amount to a hidden area: the back of a skirt panel, the underside of the deck, or the rear face of a cushion. Blot, let it dry fully, and check for color change, stiffening or a ring. Wait for it to dry — many failures only appear once the water leaves.
- Treat stains individually, blotting only. Spray the cleaner onto the cloth, not onto the sofa, so you control the moisture. Press straight down, lift, move to a clean dry section of cloth, press again. Work from the outer edge of the stain inward. Repeat until the cloth stops picking up color.
- Clean panel by panel. Treat each cushion face, each arm and the back as a separate zone and finish it before moving on. Cleaning to a seam is what prevents a visible edge where a damp area met a dry one. Keep the fabric barely damp — if you can wring anything out of your cloth, it is too wet.
- Rinse, on W and WS fabrics. Go back over the panel with a cloth dampened in plain distilled water to lift residual soap. Soap left in the fibers is sticky and attracts dirt fast, which is why a hand-cleaned sofa often looks dirtier three weeks later than it did before.
- Dry fast, 2 to 6 hours. Point a box fan at the sofa and open a window. Fast drying is the difference between a clean panel and a water ring, and on a damp day it also prevents mildew in the foam. Do not put cushions back or sit on the sofa until it is completely dry to the touch, including the underside.
- Restore the nap. Once dry, brush the fabric in one consistent direction with a soft brush. Microfiber especially dries stiff and blotchy and looks alarming until you brush it, at which point the even sheen comes back.

What to use on specific stains
| Stain | Approach | Note |
|---|---|---|
| Coffee, tea, juice | Blot immediately; mild soap solution on W or WS, solvent on S | Speed matters more than the product |
| Red wine | Blot, then cover in salt or baking soda to pull the liquid up, vacuum, then treat | Never apply heat — it sets tannin stains |
| Grease, food oil | Cornstarch or baking soda for 15 minutes to absorb, vacuum, then solvent | Water alone spreads oil |
| Ink | 70% isopropyl alcohol on a cotton swab, dabbing only | Change the swab constantly or you redeposit it |
| Pet urine | Blot dry, then an enzymatic cleaner if the code allows liquid | Enzymes break down the odor compounds; masking sprays do not |
| Blood | Cold water only, blotted | Hot water cooks the protein and sets it permanently |
The mistakes that ruin sofas
- Skipping the code check. Water on an S fabric is the single most common way people permanently mark a sofa.
- Rubbing instead of blotting. Rubbing drives the stain deeper and breaks the surface fibers, leaving a pale fuzzy patch that is more visible than the original spill.
- Oversaturating. Soaking the fabric pushes dirt into the foam, where it wicks back up as the sofa dries and reappears as a brown ring days later. Damp, never wet.
- Cleaning one spot on a large panel. A single cleaned circle in the middle of a cushion reads as a stain of its own. Clean the whole panel out to its seams.
- Bleach or all-purpose spray. Both strip dye and can degrade the backing. Neither belongs on upholstery, whatever the code.
- Hot water or steam on the wrong fabric. Rayon, viscose, silk blends and glued-back fabrics shrink, pucker or stiffen and there is no way back.
- Letting it dry slowly. Slow drying causes rings and, in humid weather, mildew inside the cushion. Run a fan.

When to call a professional
Call an upholstery cleaner for an X-coded fabric, for silk, velvet, wool or vintage pieces, for a whole-sofa flood or pet accident that reached the foam, and for any set-in stain you have already attacked twice without progress. Professionals have solvent systems and hot-water extraction with controlled moisture that you cannot replicate with a spray bottle, and the fee is a fraction of replacing the piece. If the fabric itself is worn through rather than dirty, cleaning will not help — compare the cost of reupholstering a sofa against buying new, and remember that reupholstery is worth it on a good hardwood frame and rarely worth it on a cheap one.
Keeping it clean
Vacuum weekly, rotate and flip loose cushions monthly so one seat does not become the sunken one, and deal with spills within minutes rather than hours. Keep the sofa out of direct afternoon sun, which fades dye faster than any cleaner does. A washable throw over the favorite seat costs nothing and absorbs the wear. Deep clean every 6 to 12 months, or every 3 to 6 months with pets or young children. If shedding pet hair is the real problem rather than staining, a pet-hair vacuum with a motorized upholstery head clears in one pass what a hand tool takes four to lift.
We never buy, test or physically handle the products we rank. Recommendations come from aggregated owner reviews, star ratings, review volume and expert consensus — see how we rank.
More from this hub: Furniture & Decor · Why a leather sofa peels · Reupholstery cost · Cleaning a large area rug · Best sofas under $1,000 · How we rank