Red Wine on Fabric, Carpet and Upholstery: What Works and What Does Not
Red wine stains from two things at once: anthocyanin pigment that binds to fibers, and tannins that oxidize into a brown mark as they dry. Speed matters more than any product. Blot, flush cold, then use a dish soap and hydrogen peroxide mix on white and colorfast fabric. On carpet, control the water — soaking it drives the stain into the padding.
Quick fix
- Blot immediately with a white cloth, pressing down and lifting, working from the outside edge inward. Do not rub.
- Flush cold water through the back of a garment until it runs pale. On carpet, apply small amounts of cold water and keep blotting instead.
- Mix one part dish soap to three parts 3 percent hydrogen peroxide, test on a hidden spot, then apply and leave it 20 to 30 minutes.
- Blot or rinse it out and repeat rather than scrubbing. Two mild rounds beat one hard one.
- Launder cold to warm per the care label, air dry, and check before any heat. A dryer cycle sets what is left.
What you need
- 3 percent hydrogen peroxide
- Liquid dish soap
- Clean white cloths or paper towels — white so you can see the transfer
- Oxygen bleach (sodium percarbonate) for white cotton and linen
- A spray bottle for controlled application on carpet
Step by step
1. Blot the liquid out before doing anything else
Press a folded white cloth into the spill, lift, and repeat with a fresh section, moving inward from the outer edge. Every milliliter you remove now is pigment that never gets a chance to bind. Rubbing here widens the stain and grinds pigment into the fiber where flushing cannot reach it.
2. Flush cold — and adapt to the surface
For a garment, hold it inside out under a cold tap so the water pushes the wine back out the way it went in. On carpet or upholstery you cannot do that, so apply a little cold water with a spray bottle and blot it straight back up. Hot water is a mistake on wine: it helps the tannins bond.
3. Mix dish soap with hydrogen peroxide and test it first
One part dish soap to three parts 3 percent hydrogen peroxide is the standard ratio. The soap lifts the stain out of the fiber and the peroxide oxidizes the pigment so it loses its color. Peroxide lightens some dyes, so test on a seam or a hidden corner and wait ten minutes before committing.
4. Apply and let it sit 20 to 30 minutes
Work the mixture in gently and leave it. Peroxide acts slowly, and you will usually watch the purple fade toward pink and then to nothing over that window. Mix it fresh — hydrogen peroxide breaks down in light and an old open bottle may be nearly inert.
5. Rinse or blot out, then repeat instead of scrubbing
Flush the treated area with cold water, or blot it out with a damp cloth on carpet, and see what remains. A second application recovers more than pressure ever will, and scrubbing damages fabric and carpet pile in ways that stay visible.
6. Rehydrate dried stains before treating them
On a stain that already dried, lay a cold wet cloth over it for 30 minutes first. Dried tannin sits as a hard film the peroxide mixture cannot penetrate. Rehydrating gives the treatment something to work on.
7. Launder, air dry, and inspect in daylight
Wash at the temperature the care label allows and hang the item to dry. Judge the result only when it is completely dry — wine marks look gone on wet fabric and reappear as pale pink or tan as it dries.
Safety notes
- Never mix chlorine bleach with an acidic cleaner such as vinegar, citric acid, or a descaler. That combination releases toxic chlorine gas.
- Hydrogen peroxide lightens colored fabric and can leave a pale patch. Always test on a hidden area and wait before treating the visible stain.
- Do not use hot water on wine at any stage before the color is gone. Heat sets tannins the way it sets protein.
- Do not soak carpet. Excess water carries wine into the backing and padding, and it wicks back up as a brown ring days later. Small amounts, blotted out each time.
- Wool and silk rugs are a different problem. Peroxide damages protein fibers and strips dye, so treat those as a job for a professional cleaner.
Never mix different types of cleaning products. Chlorine bleach combined with acidic cleaners releases toxic gas. Always follow the instructions on the product label.
By situation
A whole glass on a white cotton tablecloth
The best case, because white cotton tolerates everything. Blot, flush cold, then soak the whole cloth in dissolved oxygen bleach at about 140°F / 60°C for one to four hours rather than spot treating. Spot treatment on a large stain leaves a clean halo around the treated area.
Carpet you cannot take up
Work in layers: blot, mist with cold water, blot again, then apply the peroxide mixture with a cloth rather than pouring. Weight a dry towel on top afterward to draw moisture out of the pile. A brown ring appearing later is wicking from the pad, and it needs a wet extraction rather than more surface treatment.
A sofa or armchair you cannot rinse
Check the upholstery cleaning code on the tag first — W means water-based cleaners are acceptable, S means solvent only and you should stop. With W, apply the peroxide mixture sparingly on a barely damp cloth, blot constantly, and dry the area with a fan to prevent a ring.
A stain that is months old
Be realistic. Oxidized tannin behaves more like a dye than a spill, and full removal is uncommon. A long oxygen bleach soak on white cotton is the best option and often gives real improvement. On colored fabric, decide early whether the risk of a bleached patch is worth it.
Why it happens
- The color comes from anthocyanins, the same pigment class that stains from berries and beetroot. They are water soluble when fresh, which is why immediate cold flushing works so well.
- Tannins are the second component and the reason wine stains age badly. They bond to cellulose fibers such as cotton and oxidize in air, shifting the mark from purple toward brown.
- That oxidation is why a stain gets harder by the hour rather than by the day. The first ten minutes are worth more than everything afterward.
- Hydrogen peroxide oxidizes the pigment molecules so they no longer absorb visible light. It destroys the color rather than lifting the stain out — which is also why it can do the same to fabric dye.
Keeping it from coming back
- Keep white cloths or paper towels where people drink. Reaching for something within seconds matters more than what you reach for.
- Deal with the spill before it dries, even if you only blot and wet it. A damp stain stays treatable; a dried one changes chemistry.
- Do not leave a wine-stained garment in the hamper. Enclosed warm air accelerates the oxidation you are trying to prevent.
- Keep a bottle of 3 percent hydrogen peroxide in the laundry area and replace it yearly. It degrades in storage, and a dead bottle wastes the window.
- Never iron or machine dry an item that had a wine stain until you have confirmed on dry fabric that it is gone.
FAQ
Does the salt trick work?
What about pouring white wine on it?
Can boiling water really flush a wine stain out?
Last reviewed: August 26, 2026
- Check the garment care label or the upholstery cleaning code, and follow the instructions on your hydrogen peroxide and oxygen bleach products.