Remove Wine, Coffee, and Ink Stains From Upholstery
Clara Townsend
Clara Townsend is an interior stylist, vintage furniture enthusiast, and the creative voice behind Velvet Abode. With over a decade of experience transforming both cramped city apartments and sprawling fixer-uppers, she believes that a beautiful home is built on personal stories rather than massive budgets. When she isn't hunting for the perfect brass sconce at a local flea market, she can usually be found rearranging her living room for the third time this month.
There is a very specific kind of panic that hits when wine tilts toward your sofa, coffee lands in the “most sat-on” spot, or a pen decides your armchair is paper. Take a breath. Most upholstery stains are less about finding a miracle product and more about doing the right thing in the right order before you accidentally lock the stain in.
This page is my fabric-safe triage routine for the three biggest offenders: wine, coffee, and ink. We will cover blotting, cold versus warm water, peroxide cautions, ink solvents, quick myth-busting (salt, white wine, hairspray, club soda), and the exact moments when you should stop and switch tactics.

Before you touch anything: 60-second stain triage
Step 1: Check the upholstery care code
Find the tag under a seat cushion or on the underside of the piece. The code tells you what the fabric can handle. (Quick note: codes can vary a bit by manufacturer, and you may see SW instead of WS.)
- W: Water-based cleaners are OK.
- S: Solvent-based cleaners only. For DIY, avoid water and use a solvent cleaner that is labeled for upholstery.
- WS or SW: Either water-based or solvent-based is OK.
- X: Vacuum or brush only. No DIY liquids. (This is where you call a pro.)
Step 2: Blot, do not rub
Use a clean white cloth or paper towel. Press, lift, rotate to a clean spot, repeat. Rubbing pushes pigment deeper and roughs up the fibers so the stain grips harder.
Step 3: Dye stain or oil stain?
- Wine, coffee, most ink are primarily dye or tannin stains. These respond to controlled flushing and the right chemistry.
- If the spill involved cream, syrup, or greasy foods, treat it like a mixed stain. You may need a mild degreasing step later.
Step 4: Cold vs warm water, the quick rule
- Cold water first for wine, berries, colored drinks, and ink because heat can set dyes.
- Warm water later can help with coffee residue (especially with milk or sugar) once most color has lifted, but only after you have tested for colorfastness and only on codes that allow water.
The “do not set it” rule: Avoid heat until the stain is truly gone. That means no hair dryer, no steamer, no ironing, and no hot water early on.
Fast “do not do this” list
- Do not scrub.
- Do not soak the cushion.
- Do not use colored towels (dye transfer is real).
- Do not jump to bleach, acetone, or mystery cleaners.
- Do not steam a stain “to loosen it” (steam sets a lot of stains).
Your fabric-safe order of operations
If you want one simple sequence to keep you from overdoing it, use this:
- Blot (dry).
- Lift with cold water (only if code allows). Minimal moisture, blot between passes.
- Mild soap solution for residue (a drop or two of clear dish soap in cool water).
- Targeted treatment based on stain type (wine, coffee, ink).
- Rinse by blotting with plain water (again, only if code allows).
- Dry with a towel and airflow. No heat.
Two things matter more than any “hack”:
- Test first in an invisible spot, especially with peroxide or solvents.
- Work from the outside in to prevent a ring.
Pro tip for rings: If your tap water is hard, consider using distilled water for the rinse step. Minerals can contribute to faint halos on some fabrics.

Myth check: common stain “hacks”
Salt on red wine
Salt can absorb some liquid on a very fresh spill, but it does not magically neutralize wine. It can also grind into the fabric if you rub, and it can leave residue. If you use it at all, use it only as a temporary absorber, then vacuum it up and go back to blotting and controlled water lifting (if your code allows).
Pouring white wine on red wine
White wine is still a stain-forming liquid (tannins, sugars, acids). It may dilute the color a bit, but it also adds more liquid and can spread the stain. Your better move is controlled cold-water blotting and extraction, not adding another drink to the cushion.
Club soda vs plain water
Club soda is not reliably “better” than plain cold water. The bubbles can help with agitation, but the real win is the method: small amounts of liquid, blotting between passes, and a proper rinse. If you have club soda and your fabric code allows water, it is fine to try. Cold water works just as well in most cases.
Hairspray for ink
This used to work sometimes because many hairsprays contained more alcohol. Modern formulas vary widely and can add sticky polymers that make the problem worse. If you are going to use alcohol, use isopropyl alcohol on a cloth, patch test, and dab carefully.
Wine stains on upholstery
Red wine is a tannin and dye combo. The goal is to dilute and lift the pigment without spreading it or soaking the cushion.
What to do immediately
- Blot with firm pressure using clean white towels. If it is a sturdy, flat area, you can stand on a folded towel for gentle, even pressure.
- If there are solids like fruit or garnish, lift them off with a spoon. Do not smear.
Next: cold water lift (for W or WS)
Dampen a cloth with cold water and blot. You are not soaking the cushion. You are feeding just enough water to loosen the dye, then pulling it back out with a dry towel. Work from the outside in.
When hydrogen peroxide helps, and when it can hurt
Hydrogen peroxide can be excellent for wine on light, truly colorfast fabrics, but it is not universally safe.
- Use 3% peroxide only, never higher concentrations.
- Avoid on protein fibers (wool, silk) and be cautious on dyed cotton or linen, unknown fabrics, and vintage upholstery. It can lighten dyes or affect brighteners.
- Always patch test and wait a few minutes. If you see lightening or texture change, stop.
If your test is safe: apply a small amount to a cloth (not directly to the sofa), dab the stain, then blot with plain water and dry towels.
Stop and reassess if…
- The stain turns from wet to “faint shadow” and then stops improving after a few cycles.
- You are tempted to add heat or scrub. This is the point to let it dry fully and see what remains, or call a professional cleaner for targeted extraction.
Coffee stains on upholstery
Coffee is tannin-heavy, and it loves to leave a pale brown halo if you overwet the area. The secret is controlled moisture and a proper rinse.
Fresh coffee (black)
- Blot until you stop transferring liquid.
- Cold water blot (W/WS only) to dilute, keeping moisture tight to the stain.
- Mild soap solution: a drop of clear dish soap in cool water. Dab, then blot dry.
- Rinse with a cloth dampened with plain water, then blot dry.
Coffee with milk or creamer
Milk adds proteins and fats, which can turn into odor if left behind. Once most color has lifted, a slightly warmer (not hot) water rinse can help remove residue on W/WS fabrics.
If odor or a dingy film lingers, an upholstery-safe enzyme cleaner can help break down dairy residue. Patch test, use minimal product, and rinse by blotting afterward if your fabric code allows water.
Stop before you create a water ring
- Do not soak beyond the stain area. Feather your damp blotting outward slightly, then dry towel over a wider area.
- Let airflow do the work: point a fan across the surface.

Ink stains on upholstery
Ink is its own category because water can spread it like watercolor. Your approach depends on the ink type and the fabric code.
First rule: do not add water right away
Start dry. Blot carefully. If it is a fresh ballpoint mark, you want to lift the ink binder, not push pigment outward.
Choose the mildest effective solvent
For S and WS fabrics, a solvent approach is often safest. Common options include:
- Isopropyl alcohol (70%) for many ballpoint inks. Apply to a cloth, dab from outside in. If 70% is not moving it and your patch test stays clean, a higher percentage can work but increases risk, so go slowly.
- Dry-cleaning solvent labeled for upholstery for S-coded pieces. Follow the label exactly.
How to work it: Place a clean towel under the fabric if possible (like on a removable cushion). Dab with the solvent-damp cloth, then blot with a dry towel. Repeat patiently. Switch to a clean section of cloth often so you are not re-depositing ink.
What to avoid
- Hairspray (formulas vary and can leave sticky residue).
- Acetone or nail polish remover (can melt synthetics, strip finishes, and spread dye).
- Bleach (can damage fibers and cause permanent discoloration).
Gel ink and permanent marker
These can be more stubborn and may not fully lift without professional products. Your safest move is to do a gentle alcohol test in a hidden spot. If you see dye transfer from the upholstery itself, stop.
Stop immediately if…
- The stained area begins to look fuzzy or rough. That is fiber damage from overworking.
- You see color from the upholstery bleeding onto your cloth.
- The ink spreads into a wider halo. Let it dry and call a pro who can extract evenly.

Natural vs synthetic fibers
Natural fibers (cotton, linen, wool, silk)
- Cotton and linen are absorbent and can drink stains deep. Use minimal liquid and blot often.
- Wool hates aggressive chemistry and heat. Skip peroxide. Use cool water only if allowed and keep it gentle.
- Silk is delicate and can watermark easily. If your piece is silk or silk-blend upholstery, treat it like a “call a pro” situation for anything beyond the lightest blotting.
Synthetic fibers (polyester, acrylic, nylon, microfiber)
- Often more forgiving with water on W/WS codes, but microfiber can show water marks. Feather your damp area and dry evenly.
- Solvents can sometimes affect finishes. Patch test and avoid saturating the backing.
Performance fabrics and special finishes
Some performance fabrics (Crypton, Sunbrella-style indoor fabrics, stain-resistant finishes) have manufacturer-specific instructions. If you have a brand tag or warranty card, follow that guidance first.
When to stop, and when to call a professional
I love a DIY rescue as much as anyone, but there is a point where “one more try” becomes the thing that makes the stain permanent or the fabric damaged.
Stop DIY if any of these are true
- Your upholstery tag says X.
- The cushion is soaked through and you cannot dry it quickly.
- The stain is improving but you keep getting a ring.
- The fabric is vintage, heirloom, wool, silk, or unknown.
- You smell sourness from coffee with milk or suspect liquid reached the foam.
How to dry it properly
- Blot with dry towels until you stop picking up moisture.
- If you can, remove the cushion and stand it on edge so air hits more surface area.
- Use a fan for steady airflow across the fabric. Avoid heat.
- If the cover is removable and washable, follow the care label exactly and dry thoroughly to prevent mildew.
What to tell a pro (so they can help faster)
- What the stain is (wine, coffee, ink) and whether it had milk or sugar.
- When it happened.
- What you have already applied (water, soap, alcohol, peroxide).
- The fabric code from the tag, if you can find it.
Quick cheat sheet
- Wine: blot, cold water blot, cautious peroxide on light colorfast fabrics only, rinse, dry.
- Coffee: blot, cold water, tiny bit of dish soap solution, rinse well, dry evenly to avoid rings. For dairy, consider an upholstery-safe enzyme cleaner after color lifts.
- Ink: blot dry, avoid water at first, dab with alcohol or approved solvent (depending on code), blot and repeat, stop if it spreads.
If you remember one thing: your first five minutes matter more than your fifth product. Blot, keep it cool, and do less, more carefully.