How to Clean a Fabric Couch
The single letter on your couch's cleaning tag (W, S, WS, or X) matters more than the fabric's name. Here's how to clean it by code, so you don't ring-stain velvet or leave cotton smelling of solvent.

Quick answer · care label Fabric upholstery — check W/S/WS/X code
-
1 · Wash
Hand wash -
2 · Bleach
No bleach -
3 · Dry
Dry in shade -
4 · Iron
Do not iron -
5 · Pro care
Pro clean F
In one line Find the W/S/WS/X code on the tag first. Vacuum thoroughly, then either soap-and-rinse in small sections (W/WS) or spot-treat with solvent only (S/X). Dry with airflow, not sealed in a warm room. Total hands-on time: about 45 minutes.
The letter on the tag matters more than the fabric name
“Fabric couch” covers cotton canvas, linen blends, chenille, velvet, and half a dozen synthetic weaves that all behave differently under water. Guessing a method from the fabric’s name is how people ring-stain a velvet cushion or leave a cotton sofa smelling of solvent for a week. Almost every piece of upholstered furniture sold since the 1970s carries a cleaning code sewn under a cushion or on the frame: W, S, WS, or X. That single letter tells you more than “it’s a fabric couch” ever will, and it’s the first thing to check before any of the steps below. A musty smell that shows up days after cleaning is a different problem, one how to clean a couch that smells walks through in full.
Look under a seat cushion, on the underside of the frame, or on a swing tag still attached when the piece was new. No tag and no manufacturer record to check online means treating the couch as S-code (water-sensitive) until a hidden-panel test says otherwise.
What the code actually means
| Code | Means | Water safe? |
|---|---|---|
| W | Water-based cleaner only | Yes |
| S | Solvent-based cleaner only, no water | No |
| WS | Either water or solvent-based cleaner | Yes |
| X | Vacuum only, no liquid of any kind | No |
What you’ll need
| Item | For which code | Substitute |
|---|---|---|
| Upholstery vacuum attachment | All codes | A hand brush, if the vacuum has no soft attachment |
| Mild dish soap, water | W, WS | Upholstery shampoo made for fabric |
| Dry-cleaning solvent or S-code cleaner | S | Talc or cornstarch for grease spots only |
| Soft white cloths, several | All codes | Plain paper towel for solvent work, since dye can transfer from printed cloth |
The method, step by step (W and WS codes)

This is the version for water-safe fabric, which covers most cotton, linen, and polyester-blend couches. If the tag reads S or X, skip to the section below instead.
Vacuum every surface, including under cushions
Dust and grit act like sandpaper once a damp cloth passes over them, wearing the weave thin exactly where you’re trying to clean it. Pull cushions out and vacuum the crevices and the deck underneath.
Test a hidden panel
The underside of a cushion or the back of an armrest. Dampen a white cloth with the soap solution, press for ten seconds, and check for colour transfer or a ring once dry. Skip this and a whole cushion front is the wrong place to discover a fabric doesn’t take water evenly.
Work small sections with a barely damp cloth
A few tablespoons of dish soap in a bowl of water, cloth wrung out until it stops dripping. Blot and lift rather than scrub, moving in overlapping passes rather than back and forth over the same spot, which is what raises a ring as the fabric dries unevenly.
Rinse the soap out with a second clean, damp cloth
Leftover soap attracts dirt as it dries, which is why an upholstery cleaned once often looks dingy again within weeks. A separate rinse pass, wrung out often, removes the residue the first pass left behind.
Dry with air moving, not sealed in a warm room
A fan pointed at the piece, or a window cracked open, cuts drying time and lowers the odds of a ring forming as water evaporates unevenly. Keep cushions off the seat and propped upright until fully dry.
The method, step by step (S and X codes)

Water is the one thing these fabrics can’t take. A wet cleaning attempt on an S-code velvet or silk blend usually leaves a permanent ring where the water-safe method above would have worked fine on cotton.
Vacuum thoroughly, same as W and WS
This step doesn’t change by code. Dust and grit damage every fabric the same way, whether or not water follows.
S-code: use a solvent-based cleaner only, tested on a hidden panel first
A dry-cleaning solvent or an S-labelled upholstery cleaner, applied to a cloth rather than sprayed directly, worked in small circular motions on the tested area only.
X-code: don’t add any liquid at all
Vacuuming and brushing are the only home options. A stain on an X-code fabric that vacuuming won’t lift needs a professional upholstery cleaner, not a household attempt.
Grease or oil marks on S or X fabric: draw it out dry
Cornstarch or talc pressed onto the mark, left several hours or overnight, then vacuumed away. This lifts oil without introducing the water or solvent that a general cleaner would.
Interactive
Label decoder
Tap a symbol from your care label. No guessing, no scrolling.
19 symbols. Pick one.
Common fabric couch marks, treated individually
| Mark | W/WS treatment | S/X treatment |
|---|---|---|
| Fresh drink spill | Blot immediately, then soap-and-rinse method above | Blot immediately with a dry cloth only, then call a professional if a ring remains |
| Grease or food oil | Cornstarch draw-out, then soap-and-rinse if a mark remains | Cornstarch draw-out only |
| General grime on arms and cushion edges | Soap-and-rinse, worked more frequently than the rest of the piece | Solvent cleaner, tested first, worked more frequently than the rest of the piece |
| Pet hair and dander | Rubber pet-hair brush or damp rubber glove, then vacuum | Same, no liquid involved either way |
A steam cleaner’s wet-injection setting, on any fabric. It pushes water deep into cushion foam that a home vacuum can’t fully extract, and on an S or X-code fabric it can permanently mark the surface before the foam issue even shows up.
Three mistakes that ruin a fabric couch
- Cleaning by fabric name instead of by code. “Cotton” and “cotton velvet” can carry different codes on the same showroom floor, and the weave, not the fibre, often decides how it takes water.
- Scrubbing back and forth over a stain. It spreads the mark outward and roughs up the weave, where lifting in overlapping passes keeps the treated area small and the fibres intact.
- Skipping the rinse pass after soap. Soap residue left in the fabric attracts new dirt as it dries, so a couch cleaned without a rinse often looks worse within a month than one left alone.
Related guides
An S or X code on a couch tag means the same thing a “P”-only care label means on clothing: solvent, not water. If you’re weighing whether a home dry-cleaning kit could stand in for a professional solvent clean on a garment with that same restriction, how to dry clean at home covers what those kits can and can’t safely do. For the removable seat and back cushions on this same couch, which carry their own zip tag separate from the frame’s, see how to clean couch cushions. And if the couch is specifically microfiber, an S-code fabric that reacts to water differently than most, how to clean a microfiber couch covers the alcohol method and the brush trick that fixes a water ring after the fact. Outdoor cushions sit outside the W/S/WS/X system altogether, and a reverse-side fabric test replaces it: see how to clean outdoor cushions. A faux leather couch falls outside it as well, and for a blunter reason: there is no weave to take a code, only a plastic coating on a fabric backing, and the method that follows from that is in how to clean faux leather.
Questions
My couch tag is missing. How do I find the code another way?
Check the manufacturer’s website or the original purchase receipt for a model number, since many list the cleaning code in the product spec. Without either, treat it as S-code and test a hidden panel with water before ever using it on a visible section.
Can I use a rented carpet-and-upholstery steam machine on a W-code couch?
Usually yes on the water-extraction setting, since W-code fabric tolerates water. Still test a hidden panel first, since the machine applies more water than hand-cleaning does, and any fabric can react differently to that volume.
Is it worth having a fabric couch professionally cleaned even if I clean it myself regularly?
For S-code and X-code pieces, yes, roughly once a year. Home methods handle surface dirt and small marks well, but they can’t match the deep extraction a professional machine does, and heavily soiled S-code fabric is where DIY attempts most often go wrong.
Why does my couch smell musty after I cleaned it myself?
The fabric or the cushion foam underneath likely stayed damp longer than it looked. Increase airflow during drying next time, and if the smell persists, the cushion cores may need to come out and dry separately, away from the frame.