Connect CleanerRequest a cleaner

upholstery

How to remove stains from a fabric sofa

How to remove stains from a fabric sofa: check the cleaning code, treat wine, coffee and pet marks safely, and know when to call a professional.

By Connect Cleaner Editorial · 5 min read · 2026-07-22

A hand using a soft brush and spray bottle to treat a stain on a beige fabric sofa, with a folded cloth and bowl of solution nearby

The fastest way to remove a stain from a fabric sofa is to blot it straight away with a dry cloth, check the cleaning code on the tag under the cushions, then treat it with a matching product: water and mild soap for a W or WS code, a solvent-based cleaner for an S code, and a vacuum only for an X code. Speed matters more than which product you reach for. A spill treated within the first few minutes usually lifts with plain water. The same spill left overnight can need a professional clean instead.

Check the cleaning code first

Look under the seat cushions or on the frame for a small tag with a letter code. It tells you what the manufacturer says the fabric can tolerate, and ignoring it is the single biggest cause of ruined upholstery.

If the tag is missing or worn away, treat the fabric as an S or X code until you have tested a hidden patch, such as the back of a cushion or the underside of an arm.

How to remove stains from a fabric sofa

For most fresh spills, how to remove stains from a fabric sofa comes down to four habits: blot rather than rub, work from the outer edge of the stain inward, test any product on a hidden patch first, and let the fabric dry fully before anyone sits on it again. Rubbing pushes the stain deeper into the weave and can fray or fade the fibres, so every method below starts with blotting, not scrubbing.

Step by step stain removal checklist

  1. Scrape off anything solid with a spoon or the edge of a card before it dries in.
  2. Blot the wet area with a clean, colourless cloth or paper towel, pressing rather than wiping.
  3. Check the cleaning code and mix a small amount of the matching cleaner: a few drops of mild dish soap in water for a W code, or a proprietary solvent cleaner for an S code.
  4. Test the mixture on a hidden patch and wait a few minutes to confirm it does not change the colour or texture.
  5. Apply the solution to a cloth, not directly to the fabric, and dab from the edge of the stain toward the centre.
  6. Rinse by blotting with a cloth dampened in plain water, then blot again with a dry towel to lift the excess moisture.
  7. Leave a fan running or open a window so the cushion dries within a few hours rather than staying damp overnight.

Treating common stains

Wine, coffee and tea respond to the same approach: blot immediately, then apply a small amount of cold water mixed with a few drops of dish soap, working from the outer edge in. Salt sprinkled on a fresh wine spill can soak up some of the liquid before it sets, but brush it off once it has done its job rather than grinding it into the weave.

Pet accidents need a different first step. Blot up as much liquid as you can, then use a cloth dampened with a mix of water and a little white vinegar to cut through the odour before it dries into the padding underneath. Ink and grease are the two stains most likely to need a solvent cleaner rather than water, since both can spread and darken if moisture is added. If your sofa carries an S or X code and the mark is ink, grease or something you cannot identify, stop and call a professional rather than experimenting.

Mistakes that make a stain worse

Scrubbing is the most common mistake. It spreads the stain sideways and wears down the pile. Skipping the hidden-patch test is the second: a cleaner that looks harmless on a label can bleach or discolour certain dyes within seconds. The third is leaving a spill to dry before treating it at all. Once it has soaked into the cushion filling, blotting and mild soap rarely shift it, and the options narrow to a stronger solvent treatment or a professional deep clean.

When to call a professional cleaner

Call in help when the fabric carries an S or X code, when a stain has already dried in, when it covers a large area, or when a first attempt hasn't fully worked and you don't want to risk a stronger product yourself. An independent cleaner can assess the fabric, use equipment such as a fabric-safe extraction machine, and explain what result is realistic given the stain's age and the sofa's condition. If you're booking one in, our guide on how to prepare for upholstery cleaning covers what to do before they arrive, including photographing the mark and clearing access to the room.

If the stained sofa belongs to a rented property and you're getting ready to move out, the rest of the property's condition matters for your deposit too. Our end of tenancy cleaning checklist covers what landlords typically expect elsewhere in the home.

Sources and further reading

Related guides