How to Clean Upholstery Without Wrecking the Fabric

How we work

Part of Fabric & Carpet Care · article 6 of 12

On this page
Child's hand holding a white cloth, wiping beige upholstered fabric surface

Check the cleaning code tag under your cushion or on the furniture frame before you touch a drop of cleaner to the fabric. That single label, W, S, W/S, or X, tells you exactly what's safe to use: water-based cleaners, solvent-only products, either, or nothing but a vacuum. Those codes are easy to misread, so it's worth understanding exactly what each one means before you start. Once you know the code, vacuum thoroughly first. Applying any cleaner over dry soil turns it into a muddy paste that works deeper into the fibers. For water-safe fabrics, blot fresh spills immediately with a clean cloth, never scrub, and keep moisture light. Over-wetting causes watermarks, musty odors, and mildew inside the cushion. After cleaning, run a fan and open a window; the fabric needs several hours of airflow to dry completely.

What do the cleaning codes on your furniture actually mean?

Every piece of upholstered furniture leaves the factory with a small tag, usually tucked under a cushion or along the base of the frame, that carries one of four letter codes. That single letter tells you more about how to clean your sofa than anything else you could look up, so find it before you reach for any product.

The four codes break down like this:

W means water-based cleaners are safe. You can spot clean with a water-based upholstery shampoo or foam cleaner. Note that W does not mean machine washable; it refers strictly to spot-cleaning methods.

S means solvent only. These fabrics, most often natural fibers such as linen, wool, and silk, must be treated with a water-free dry-cleaning solvent. Water-based cleaners can leave permanent rings, cause shrinkage, or warp the fabric. If you own a wool or delicate natural-fiber piece, the same principle applies to rugs made from those materials.

W/S means both water-based and solvent-based products are acceptable, giving you the most flexibility.

X means vacuum only. No liquid, no foam, no solvent of any kind. An upholstery brush attachment is your only tool here.

One detail that trips up a lot of homeowners: the fiber content tag sewn into the furniture usually describes the filling material, not the outer fabric. Rely on the cleaning code tag, not the fiber tag, for guidance. If no tag exists, treat the piece as S-coded until you can confirm otherwise, and always test any product on a hidden area first.

Hand with manicured nails touching a light beige upholstered cushion or pillow on a gray surface
Find the tag hidden under a cushion or along the frame before you attempt any cleaning.

Do you need to vacuum upholstery before cleaning it?

  1. Find and Read the Cleaning Code Label

    Check the tag attached to your furniture, usually under a cushion or on the frame, for a W, S, W/S, or X code. This single letter tells you which cleaning method is safe: water-based cleaner, solvent only, either, or vacuuming only. Using the wrong method can shrink, warp, or permanently stain the fabric.

  2. Vacuum the Entire Surface Thoroughly

    Before applying any cleaner, vacuum every cushion, seam, and crevice with an upholstery attachment and a HEPA-filter vacuum to pull out dust, crumbs, and pet dander. Skipping this step means any liquid cleaner will mix with loose soil and turn it into a grimy paste that is harder to remove.

  3. Blot Fresh Spills Immediately

    As soon as a spill happens, press a clean cloth or paper towel firmly onto the wet area and lift straight up. Never rub or scrub, as that spreads the stain outward and pushes it deeper into the padding beneath.

  4. Apply the Correct Cleaner for Your Fabric Code

    For W-coded fabric, mist a mix of equal parts white vinegar and water, or work only the suds from a solution of 1/4 cup dish soap and four cups of warm water into a small area with a sponge. For S-coded fabric, use a water-free solvent product only. For X-coded fabric, use no liquid at all. To tackle a set stain on a W-coded fabric, spread a paste of 3 tablespoons of baking soda and 1 teaspoon of hydrogen peroxide over the spot, work it in with a soft-bristled brush, let it sit for 10 to 15 minutes, then blot it away with a damp cloth.

  5. Test Any Product on a Hidden Area First

    Before cleaning a visible section, apply a small amount of your chosen product to an inconspicuous spot, such as the back or underside of the piece, and wait several minutes. Even fabrics within the same code category can react differently, and this quick test prevents color loss or texture damage across the whole piece.

  6. Dry Completely with Airflow

    Once cleaning is done, allow several hours of air drying before using the furniture again. Run a fan, open a window, or switch on your AC or heat to speed the process. Incomplete drying traps moisture inside the cushions, leading to musty odors and mildew.

What should you do the moment a spill happens?

The window for saving upholstery from a permanent stain is short. Most spills can be fully removed if you act within the first few minutes. Wait until the fabric dries, and you are fighting a much harder battle, because the stain has already bonded with the fibers and begun to set.

The moment a spill happens, grab a clean white cloth or a few sheets of paper towel and start blotting. Press the cloth firmly onto the spill and lift straight up. Repeat with a clean section of cloth each time. The goal is to absorb as much of the liquid as possible before it travels deeper into the padding underneath.

The single most common mistake people make at this stage is rubbing. Rubbing feels productive, but it does the opposite of what you want: it spreads the spill outward, enlarges the affected area, and pushes the liquid further into the fabric and the cushion beneath. It also weakens and distorts the fiber structure over time. Blot only, and always work from the outer edge of the spill inward toward the center to prevent spreading.

A second mistake is treating only the visible spot and ignoring the surrounding fabric. Cleaning a small central area with any liquid, even plain water, leaves a tideline as it dries. To avoid those rings, you need to treat and extract the full zone around the stain, not just the discolored patch itself.

If the spill happened on a fabric with an S cleaning code, meaning solvent-only, do not reach for water at any point. Water on these fabrics, which include many natural fibers like linen and wool, can shrink, warp, or leave permanent rings. The same principle applies to why water ruins some upholstery fabrics, and it starts with these first thirty seconds of handling a spill incorrectly.

Hand with manicured nails wiping a beige upholstered surface with a white cloth, removing pink residue or stain
Acting within minutes keeps a spill from bonding with upholstery fibers and setting permanently.

What DIY cleaning solutions work on water-safe upholstery?

Once you've confirmed your fabric carries a W or W/S code, you have three reliable DIY options, each suited to slightly different situations.

Baking soda for odors and light surface soil. Sprinkle baking soda liberally across the fabric and let it sit for 15 to 20 minutes before vacuuming it off with an upholstery attachment. This works well as a routine refresh between deeper cleans, particularly on cushions that absorb body odor over time.

Dish soap suds for general cleaning. Combine four cups of warm water with 1/4 cup of dishwashing soap in a large bowl and whisk until you have a thick foam. The key detail here: dip your sponge into the suds only, not the water sitting below them. Applying excess liquid is one of the fastest routes to watermarks and mildew inside the cushion. Spread the suds over a small section, scrub well, and blot clean with a damp microfiber cloth.

Baking soda and hydrogen peroxide paste for set stains. Mix 3 tablespoons of baking soda with 1 teaspoon of hydrogen peroxide to form a spreadable paste. Work it into the stained area with a soft-bristled brush, leave it for 10 to 15 minutes, then blot away with a clean, damp cloth. Test this on a hidden seam first, since peroxide can lighten certain dyes.

A word on vinegar solutions: equal parts white vinegar and water, lightly misted and dabbed with a microfiber cloth, can lift light stains, but vinegar is acidic and carries a real risk of fading fabric color over repeated use. Treat it as a last resort rather than a go-to.

Whichever method you use, treat the full panel rather than just the spotted area to prevent a water ring forming at the edges of your cleaned zone. After cleaning, run a fan or open a window and allow several hours of drying time before anyone sits down again.

DIY upholstery solutions compared by use and method
SolutionBest UseHow to ApplyKey Caution
Baking sodaOdor removal, dry soilSprinkle, wait 15–20 min, vacuum offWon't remove set-in liquid stains
Vinegar & water (1:1)Light surface grimeLightly mist, dab with microfiber clothMay cause color loss on some fabrics
Dish soap sudsGeneral surface cleaningDip sponge in suds only (not water), scrub areaUse suds only to avoid over-wetting
Baking soda & hydrogen peroxide pasteSpot stain removalSpread paste, wait 10–15 min, blot with damp clothTest on hidden area first

How long does upholstery take to dry, and how do you prevent mildew?

Plan your drying time before you start cleaning, not after. Most upholstery needs several hours to dry completely, and the interior cushion padding takes far longer than the surface fabric. That gap between "feels dry on top" and "actually dry throughout" is exactly where mildew starts.

As soon as you finish cleaning, set a fan directed at the furniture and open a window if the weather allows. Running your AC or heat accelerates evaporation significantly. What you cannot do is walk away and assume the piece will sort itself out overnight in a closed room with no airflow. That shortcut produces musty odors that embed into the padding and are genuinely difficult to remove. If those odors reach the foam or batting inside the cushions, you may find yourself dealing with the same problem as urine odor trapped inside a mattress, where surface treatment no longer reaches the source.

Over-wetting is the specific mistake that causes the worst outcomes. Saturating the fabric forces moisture past the fibers and into the padding, where air circulation cannot reach it. The result is mildew growth inside the cushion, and by the time you smell it clearly, it is already established. Metal zipper hardware and wooden frame components can also corrode or warp from prolonged moisture contact.

Stop and call a professional if, after 24 hours with active airflow, the piece still smells damp or musty. At that point the moisture is inside the cushion structure, and no amount of surface drying will resolve it.

Frequently asked questions

What do the cleaning codes on upholstery labels actually mean?
There are four codes: W means water-based cleaners are safe for spot cleaning, S means solvent or dry-cleaning products only, W/S means both types can be used, and X means vacuuming or light brushing is the only safe method. Using the wrong method for your code can shrink, warp, or permanently stain the fabric.
How do I remove a fresh spill from upholstery without spreading it?
Blot the spill immediately with a clean cloth or paper towel. Never rub or scrub, as that pushes the stain deeper into the fabric and padding underneath.
Is it safe to clean upholstery with white vinegar?
Vinegar works as a light cleaner when mixed with equal parts water, but use it with caution. Because vinegar is an acid, it can strip color from some fabrics even after the stain is gone.
When is it worth hiring a professional instead of cleaning upholstery yourself?
Professional cleaning makes sense for deep grime, stubborn stains, allergens, and delicate or valuable pieces. Professionals use truck-mounted extraction systems and commercial-grade solutions that remove embedded soil and dirty water far more effectively than typical DIY tools.

Is it worth hiring a professional upholstery cleaner?

For routine upholstery care, baking soda, dish soap suds, and a good vacuum will take you a long way. On average, cleaning your couch yourself saves you $80 to $180 compared to hiring a pro, and the work itself takes between 30 minutes and a couple of hours. If you need equipment beyond what you own, a steam cleaner rents for $35 to $50, while a spot cleaner runs around $120. For W-coded fabrics with fresh, light stains, DIY is genuinely sufficient.

The honest limitation of DIY, though, is that it mostly surface-cleans. Allergens, oils, and set-in grime that have worked deep into the cushioning tend to stay there regardless of how carefully you apply a homemade solution. Pet stains are a particular problem: the odor source is often in the padding, not the fabric surface, and no dish soap paste will reach it.

Professional cleaning costs $100 to $200 per piece, but that price buys commercial-grade stain removers and truck-mounted hot water extraction systems that pull dirty water back out of the fabric rather than leaving it to settle. That extraction power is what makes the difference on deep grime and stubborn odors.

Call in a professional when you are dealing with delicate fabrics like silk or velvet, with S-coded pieces that require solvent handling, with persistent pet stains, or with furniture you simply cannot afford to get wrong.

How this article was made

Researched with AI assistance and reviewed under our editorial standards. Grounded in 8 cited sources.

Edited by Claire Mercier, Editor. The guides are written with AI assistance.

Sources (8)