Fabric Care Atlas Wash it right, once

How to Clean Stains on a Sofa (The Armrest Mark Isn’t a Spill)

A dark mark on a sofa armrest is rarely a spill. It is usually skin oil built up one touch at a time, and it needs an absorbent powder before any soap, not the same wipe that lifts a coffee stain.

A gloved hand wiping a cream tufted armchair with a yellow cloth beside a padded headboard

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 Check the W/S/WS/X code, then sort the mark: a fresh spill gets blotted and matched to the code's solvent, while a dark patch on an armrest or headrest is usually built-up body oil and needs an absorbent powder before any soap touches it. About 35 minutes hands-on, plus time for the powder to sit.

Is the dark mark on a sofa’s armrest actually a stain?

Knowing how to clean stains on a sofa starts with sorting two things that look identical but behave nothing alike. A fresh spill, coffee knocked over, a kid’s juice cup, a dropped bite of food, is a single event with a clear start time, and it responds to blotting and the right solvent. The dark, slightly shiny patch that spreads across an armrest or the top of a headrest over months is a different problem entirely: it is skin oil, hair product, and lotion building up one touch at a time, and no amount of dabbing it the way you would a coffee spill actually lifts it.

That distinction matters because the two marks need opposite first moves. A fresh spill wants water pulled out before it sets, using whatever the fabric’s W, S, WS, or X code allows. A built-up oil mark wants the oil drawn out with an absorbent powder before any liquid touches it, because working suds straight into oil just spreads a thin film of it wider instead of lifting it. Treat them the same way and the armrest mark usually looks the same or worse afterward, while the owner assumes the sofa is simply staining in a spot nothing was ever spilled on.

A third category sits between them: a spill that was never caught and dried into the fibers days later. It behaves more like the built-up oil mark than the fresh one, since the liquid has already evaporated and left whatever it was carrying, sugar, dye, protein, behind in the fiber. Sorting a mark into one of these three categories before reaching for a cleaner is the single step most home attempts skip.

The rule underneath everything
A sofa stain is either something that landed once or something that built up over repeated contact, and the two need opposite treatments: lift a fresh spill with water matched to the fabric code, but draw out a built-up oil mark with powder before any liquid goes near it.

What you’ll need

The kit, and what to use instead
ItemWhySubstitute
Cornstarch or baking sodaDraws oil out of the fibers before any soap goes near a built-up markUnscented talcum powder, used the same way
Mild dish soap, whipped into sudsSuds carry a mark away without soaking the padding the way a wet cloth doesA delicates wash, whipped the same way
Two soft, lint-free white clothsOne for the suds, one dry one to lift moisture right behind itA clean, white microfiber cloth cut in two
Distilled water and white vinegar, equal partsLifts a dried, sugary spill (soda, juice) without the minerals tap water leaves behindPlain distilled water alone for a lighter mark
A soft-bristle brush or vacuum upholstery attachmentClears the loosened powder and any crumbs without grinding them deeper into the weaveA dry, lint-free cloth for a quick wipe-off
Rubbing alcohol on a cotton swabTested on a hidden seam, this lifts ink and some dye marks on W or WS fabric that soap alone won’t touchA dry-cleaning solvent pen, for S-coded fabric

The method, step by step

  1. Check the tag for a W, S, WS, or X code

    Look under a cushion or on the frame near the bottom. W or WS means water and a mild detergent are safe; S means solvent only, no water; X means vacuum only, professional cleaning for anything else. Treat an unlabeled sofa as S until a hidden panel test says otherwise.

  2. Sort the mark before you touch it

    A fresh spill still looks wet or has a visible edge from minutes ago. A dried spill has a hard outline and no longer feels damp. A built-up mark has no edge at all, it just gradually darkens an armrest, headrest, or the seat where people sit most, and it often has a faint sheen rather than a flat, dull color.

  3. Blot a fresh spill immediately, never rub

    A clean, dry cloth pressed straight down, lifted, then moved to a dry section before pressing again. Rubbing drives the liquid sideways into surrounding fibers and turns a small spill into a larger mark than it ever needed to be.

  4. Coat a built-up oil mark with powder and let it sit

    Cornstarch or baking soda pressed on thickly, covering the whole discolored area, not just its darkest point. Leave it anywhere from fifteen minutes on a light mark to overnight on one that has clearly built up over months, then brush or vacuum the powder away.

  5. Work suds into what’s left, not the liquid itself

    Whip a few drops of mild soap into warm water until it foams, then dip the cloth into the foam only. Dab from the outer edge of the mark toward the center in short strokes, whether you’re finishing an oil mark or treating a fresh spill the code allows water on.

  6. Rinse and dry the same section right behind it

    A second cloth, barely damp with clean water, lifts the soap before it dries into the fibers. Follow immediately with the dry cloth, pressing rather than wiping, so the section never sits wet longer than it has to.

  7. Treat a dried sugary stain with the vinegar mix

    Soda, juice, and milky coffee dry into a faint but sticky residue that plain water often can’t fully lift. Dab the equal-parts vinegar and distilled water mix onto the spot, work it gently with the nap or weave, then rinse and dry the same way.

  8. Dry with airflow, not sealed heat

    A fan pointed at the cleaned section, or a window cracked open, cuts drying time and keeps the padding underneath from staying damp long enough to smell. A hair dryer on a cool setting, kept moving a few inches away, speeds this up without the risk a hot setting adds.

Interactive

Label decoder

Tap a symbol from your care label. No guessing, no scrolling.

19 symbols. Pick one.

Why the armrest and headrest mark first

An armrest and the top of a headrest take more direct skin and hair contact than any other part of a sofa, every time someone rests a hand there or leans their head back. Skin constantly sheds a mix of natural oil, sweat residue, and whatever lotion or hair product was applied that day, and fabric fibers absorb that mix readily. None of it arrives as a single event, so there is no spill to blot and no moment anyone could have caught. The mark simply gets a shade darker every week until it is noticeable.

That slow accumulation is also why ordinary spot cleaners often make the mark look worse before it gets better: a soap-and-water pass on top of oil-soaked fibers can push the oil sideways into fabric that was still clean, widening the mark instead of shrinking it. Drawing the oil out first with an absorbent powder, the way the general fabric couch guide covers for S-coded upholstery that can’t take liquid cleaners at all, is what actually reduces the mark rather than just moving it around.

This is also why the same sofa can look clean everywhere except two or three touch points. It isn’t failing to get vacuumed or wiped down elsewhere; those spots simply never see the same volume of skin contact. A throw or washable arm cover over the two or three heaviest-contact spots does more to prevent the mark from returning than any stronger cleaner would, since the cover takes the oil instead of the upholstery underneath it.

A napped or woven fabric shows this same buildup differently than a flat weave does: oil changes how light scatters off a synthetic pile or a dense weave rather than simply darkening a flat surface, which is part of why the oil method stays the same but the first read of the mark looks different on a microfiber couch or a velvet one than it does on a plain cotton weave.

Sofa stains by type, and what actually lifts them

Treatment by stain type
StainTreatmentRecoverable
Fresh drink spill (coffee, soda, juice)Blot dry immediately, then suds or the vinegar mix if a mark remainsUsually
Built-up oil on an armrest or headrestAbsorbent powder left to sit, then brushed off before any soap touches itUsually, if treated before it darkens further
Fresh grease or food oil spotSame powder method as above, applied right away rather than left to setUsually, if treated fresh
Ballpoint inkRubbing alcohol on a cotton swab, tested on a hidden seam first, W or WS fabric onlyOften, if caught before it sets fully
Dried, unidentified old stainThe vinegar-water mix first; if the mark stays, a professional upholstery cleanerSometimes
Dye transfer from clothing (denim, colored fabric)Suds worked gently; a repeat transfer needs a professional cleaner, not more scrubbingSometimes
Anything on an S or X coded sofaA dry-cleaning solvent made for upholstery, or a professional; water risks a permanent ringRarely at home

What makes a sofa stain worse while you’re cleaning it

Most of the damage done while trying to clean a sofa stain comes from treating every mark like a fresh spill, or from reaching for whatever is under the sink instead of matching the cleaner to the fabric code.

Common mistakes and their fix
MistakeWhat happensFix
Scrubbing instead of blotting a fresh spillSpreads the liquid into surrounding fibers and sets a dye deeper than it would have gone on its ownBlot straight down, moving to a clean section of cloth often
Soaping an oil mark before drawing the oil outPushes oil sideways into clean fabric instead of lifting it, widening the markPowder first, soap only on whatever remains after it’s brushed off
Soaking the fabric with a wet clothWater reaches the cushion foam underneath, which stays damp long enough to smellSuds only, lifted with a barely damp rinse cloth right behind it
Using bleach or an undiluted household cleanerFades or yellows dye on contact and can break down the fabric’s finishMild dish soap suds, or a cleaner labeled safe for the fabric’s code
Never
Bleach or an ammonia-based cleaner on any sofa fabric; a wet-injection steam cleaner on cushion foam you can’t fully dry afterward; or any liquid at all on a sofa coded S until a hidden panel confirms it is safe.

Questions

How do you get old stains out of a sofa?

Start with the vinegar and distilled water mix, dabbed gently and lifted with a dry cloth, which handles most dried sugary or water-based stains. A mark that doesn’t lift after that, especially one with no clear edge, is more likely built-up oil or a set dye and may need a professional upholstery cleaner rather than a stronger home product.

Why does my sofa have a stain where nothing was ever spilled?

That is almost always skin oil, sweat, and hair or skin care product building up at a contact point like an armrest or headrest, not a one-time spill. It needs an absorbent powder to draw the oil out before any soap touches it, since soaping it directly tends to spread the oil instead of lifting it.

Does baking soda remove stains from a sofa?

It works well on oily, built-up marks when left to sit for fifteen minutes to overnight before being brushed or vacuumed away, since it absorbs oil rather than dissolving it. It does less for a dye-based stain like ink or juice, where the vinegar-water mix or a code-appropriate soap works better.

Can you use vinegar on fabric sofa stains?

Diluted with equal parts distilled water, vinegar is useful on W or WS coded fabric for dried, sugary spills like soda or juice. It isn’t a substitute for checking the code first, and it should never go on a sofa marked S, where any water-based liquid risks a permanent ring.

Should I use a steam cleaner on sofa stains?

A handheld garment steamer used briefly from a short distance is generally fine on W or WS fabric. A carpet-and-upholstery machine with a wet-injection setting pushes far more water into the cushion foam than a hand method, and that foam can take days to dry fully, which is how a cleaned sofa ends up smelling musty afterward.