How to Remove Red Wine from Upholstery Fabric
Always test on a hidden area first. Never mix cleaning chemicals — bleach and ammonia, or bleach and acids (including many bathroom/vinegar-based cleaners), release toxic gas. Follow the product label on every cleaner you use.
Before you start
- Check the fabric's cleaning code (W/S/WS/X) before using any liquid — using a water-based cleaner on solvent-only (S) fabric can cause permanent rings or shrinkage.
- Cushion filling underneath can trap moisture; avoid over-saturating and allow full drying time to prevent mold.
At a Glance
- Difficulty
- Hard
- Primary method
- Blot in place, check the fabric code (W/S/WS/X) first
- Water temperature
- Cool
- Machine washable?
- No — treat in place
- Success outlook
- Depends heavily on fabric code; solvent-only fabrics limit options
What You'll Need
- The upholstery's cleaning code (check the tag, usually under a cushion)
- A carpet/upholstery-safe oxygen cleaner (for W or WS codes)
- A solvent-type cleaner made for upholstery (for S codes)
- Clean cloths in white or a light, colorfast shade
- A soft brush
Step-by-Step
- Track down the upholstery's cleaning-code tag first, usually a single letter — W for water-based cleaner, S for solvent only, WS for either, X for vacuum only — since it changes the whole approach.
- Blot the fresh spill immediately with a dry cloth regardless of code, since removing surface liquid fast is safe on any fabric type.
- For W or WS codes, apply a diluted carpet/upholstery-safe oxygen cleaner with a cloth, working in gently and blotting frequently.
- For S-coded fabric, use a solvent-based upholstery cleaner instead of water — water can cause permanent rings or shrinkage on solvent-only fabrics.
- For X-coded fabric, don't apply liquid at all; vacuum any dried residue once the spill is fully dry and consider a professional for the stain itself.
Cold Water vs Hot Water
For water-cleanable (W or WS) upholstery, cool water is used for the same reason as carpet — it avoids setting the tannin-dye bond while limiting how far moisture wicks into the cushion filling underneath. Heat is never appropriate on upholstery fabric regardless of code, since even solvent-cleanable fabric can be damaged by a hot iron or hairdryer used to speed drying.
If the Stain Has Already Dried or Set In
Water-cleanable (W or WS) upholstery follows carpet's playbook for a set-in stain — several rounds of controlled application and blotting rather than one soak, since the piece can't be submerged. S-coded (solvent-only) upholstery is the tougher case: the consumer-safe solvent options are thinner on the ground than water-based oxygen cleaners, and a dried stain there is one of the more common reasons upholstery ends up going to a professional.
What Not to Do on This Surface
Never apply a water-based cleaner to S-coded (solvent-only) upholstery — this is the single most common upholstery mistake, and it can cause permanent water rings, shrinkage, or puckering that's often worse and more visible than the original wine stain. Never soak upholstery fabric the way you might soak a garment; the cushion filling underneath holds moisture and can develop mold if oversaturated, much like carpet padding.
When to Call a Professional
Upholstery is a strong candidate for professional cleaning specifically when the fabric code is S (solvent-only) or X (no liquid), since the safe home options are genuinely limited for those fabric types. Even on W or WS-coded upholstery, a valuable or antique piece, a large spill, or a stain that hasn't responded to two or three careful treatment attempts is a reasonable point to call in a professional upholstery cleaner rather than risk further damage.
The Full Picture
Upholstery differs from carpet in one important way: the cleaning code system (W, S, WS, X) that manufacturers assign based on the specific fabric and its sensitivity to water versus solvent cleaning, which means the correct approach genuinely varies piece to piece in a way carpet treatment mostly doesn't.
The wine's own chemistry — tannin bonding plus anthocyanin pigment absorption — behaves the same regardless of the fabric code, but the tools you're allowed to use to fight it change dramatically. A W-coded fabric can use the same oxygen-based approach as carpet; an S-coded fabric needs an entirely different solvent-based product, since water itself is the hazard on that fabric type.
Cushion filling, usually foam, sits beneath upholstery fabric much like padding sits beneath carpet, and it carries the same over-wetting risk — trapped moisture that doesn't fully dry can develop mold or a persistent odor that outlasts the visible stain.
Because the correct method depends on a code you often have to hunt for (frequently on a tag sewn under a removable cushion or on the frame underneath), skipping that step and guessing is one of the more common and more damaging mistakes people make treating upholstery specifically, compared to more straightforward fabric surfaces.
Frequently Asked Questions
- Where do I find my sofa's cleaning code?
- Check under a removable seat cushion, along the frame's underside, or near a zipper for a small fabric tag — it names a cleaning code that tells you which products are safe to use.
- What do I do if I can't find a cleaning code tag at all?
- Treat the fabric cautiously as if it's solvent-only or unknown — test any product on a hidden area first (like the back of a cushion or underside of an arm), and consider contacting the furniture manufacturer or a professional upholstery cleaner if you're not confident.
- Is it safe to use a wet/dry vacuum on upholstery like I would on carpet?
- Yes, for W or WS-coded fabric, using a wet/dry vacuum to pull out excess liquid before it soaks into the cushion filling is a genuinely good idea and reduces the risk of trapped moisture underneath the fabric.
Surface caution: over-wetting (rings, mildew in cushion foam); solvents on unknown fiber blends.