How to Clean Stains from Upholstery
The short answer
Before applying any product to upholstery, find and read the cleaning code tag. It is the most important step — using water on an S-coded fabric or any liquid on an X-coded fabric can permanently damage the material. W: water-based cleaners are safe. S: solvent-based cleaners only (no water). WS: either is safe. X: no liquid of any kind; vacuum only or professional cleaning. For W and WS fabrics, the key rules are identical to carpet: blot immediately, work from the outside in, never rub, and do not over-wet.
Before you start
Find the cleaning code tag on your furniture. It is most often located: under a seat cushion, on the bottom of the furniture frame, or attached to a zipper pull on removable cushion covers.
W: water-based cleaners are safe — dish soap diluted in water, enzyme cleaner, or upholstery cleaner work.
S: dry-cleaning solvent only. Do not apply water, enzyme cleaner, or any water-based product — they can cause permanent water rings, shrinkage, or dye bleed on S-coded fabrics.
WS: either water-based or solvent-based cleaners may be used.
X: no liquid of any kind. Vacuum or brush only. For stains on X-coded fabric, professional cleaning is the recommended option.
If you cannot find the tag: test any product on a hidden area (the back or underside of the piece) before applying to the visible stain.
Steps
- 1Find and read the cleaning code tag (W, S, WS, or X). If the code is S: stop and use a dry-cleaning solvent applied per its directions. If the code is X: stop and contact a professional upholstery cleaner.
- 2For a fresh liquid spill: blot immediately with a clean white cloth. Press firmly and lift straight up — do not wipe or rub. Remove as much of the spill as possible before applying any product.
- 3For W or WS fabric: apply a small amount of appropriate cleaner. Use a spray bottle to mist the area lightly — do not pour cleaner onto upholstery. Upholstery cannot be rinsed the way carpet can, so excess moisture is very difficult to remove.
- 4Press a clean dry cloth firmly over the treated area and hold for 30 seconds to push the cleaner in and lift the stain.
- 5Blot with a fresh dry cloth, moving to a clean section of cloth frequently so you are not redepositing the stain.
- 6Allow to air dry completely with good ventilation or a fan directed at the area. Do not sit on the furniture until fully dry.
What not to do
- Do not apply any liquid to S-coded or X-coded upholstery — check the tag before doing anything.
- Do not rub — rubbing spreads the stain and can distort the fabric weave or pile.
- Do not over-wet — upholstery fabric and the foam beneath cannot be rinsed. Excess moisture causes water rings, foam damage, and mold growth inside the cushion.
- Do not skip the hidden-area test when the cleaning code is missing or the fabric is unfamiliar.
- Do not use steam on upholstery without verifying the fabric can tolerate heat and moisture.
Frequently asked questions
What is the difference between the W and S cleaning codes on upholstery?
W means the fabric was manufactured or treated in a way that tolerates water-based cleaners — it can be cleaned with diluted dish soap, enzyme cleaner, or upholstery cleaning products. S means the fabric requires a dry-cleaning solvent: water can cause the dye to bleed, the fabric to shrink, or permanent water rings to form on the surface. S-coded fabrics are most common on velvet, certain microfibers, and some woven or embroidered upholstery. Never apply water, steam, or any water-containing product to an S-coded fabric.
Why does my sofa have a water ring after I tried to clean a stain?
Water rings on upholstery form when water dissolves dye or sizing from the surrounding fabric area and deposits it at the outer edge of the wet zone as the water evaporates. They most commonly appear on S-coded fabrics (where water should not have been used) or when too much water was applied to a W-coded fabric, creating a large wet boundary. On W-coded fabric, misting the entire panel or cushion lightly and allowing it to dry evenly sometimes helps blend the ring. On S-coded fabric, a dry-cleaning solvent may help, but professional cleaning is often needed.
Use the Stain Rescue Tool to get a step-by-step plan for your specific stain type and upholstery fabric.
Use the Stain Rescue Tool