Key Takeaways
- Test the hydrogen peroxide and dish soap solution on a non-conspicuous area first.
- After scrubbing, rinse the stain and let it air dry.
- Never use heat to dry a stained table linen.
Have you ever cleaned up after a dinner party only to notice a glaring wine or food stain on your tablecloth? Or worse, noticed a stain on a placemat linen days later? Luckily, cleaning experts have a solution for this common problem, and the best part is that it only takes two ingredients you probably have around your home and a couple of minutes.
Here’s your guide to removing table linen stains using only hydrogen peroxide and dish soap.
Meet the Expert
- Lina DaSilva is the founder of Toronto Shine Cleaning
- Kyle Stroud is the owner of the carpet and upholstery cleaning company, All Ways Organic.
Why Use Hydrogen Peroxide and Dish Soap?
Hydrogen peroxide is a mild, oxygen-based bleach, making it an excellent product to lift out the colors in the stain, without damaging the fabric like chlorine bleach.
“[Hydrogen peroxide] is especially good for things like wine, coffee, or grass stains,” Lina DaSilva, founder of Toronto Shine Cleaning, says.
Dish soap is a degreaser and easily breaks down any oils in the stain. It’s a household workhorse for cleaning just about anything, from windows to rugs to toilets.
Together, the two products create a cleaning solution that can cut through almost any food, grease, or beverage stain plaguing your table linens.
Want more cleaning and organizing tips? Sign up for our free daily newsletter for the latest hacks, expert advice, and more!
How to Remove Table Linen Stains with Hydrogen Peroxide and Dish Soap
Here is an expert-approved guide to remove your set-in stains with these two ingredients.
Step 1: Mix the Cleaning Solution
In a small bowl, mix 1 part dish soap with 2 parts hydrogen peroxide. If you have a brightly-colored linen and are concerned about the hydrogen peroxide bleaching the fabric, mix in 1 part water as well.
Step 2: Lightly Scrub the Stain
Dip a cloth into the solution and lightly scrub at the stain on the linen to work the residue out of the fabric.
Stroud suggests starting with a gentle scrub, such as a microfiber cloth, but you can progress to stronger scrubbers, like a toothbrush or horsehair brush, if the table linen can tolerate it. Continue dipping the cloth or brush into the solution and scrubbing at the stain until most of it is gone.
Step 3: Blot the Stain Dry
Next, soak up the solution and any remaining residue with a clean, dry cloth. Blot at the area until it’s mostly dry.
If the stain remains, repeat steps one through three. Otherwise, continue on to the next step.
Step 4: Rinse the Linen and Air Dry
After the stain has been broken up with scrubbing, rinse the stained area with cool, clean water to remove any remaining soap. While it sounds like extra work, Stroud says you should not skip this step.
“You’ve just worked soap into your table linen,” Stroud says. “When the soap dries, it will become sticky and attract more dirt to that area if you don’t rinse it out.”
Once the linen is rinsed thoroughly with water, hang it to air dry. Experts caution against using your dryer to speed things up.
“If you dry it and the stain is still there, the heat will set it permanently,” DaSilva says.

:max_bytes(150000):strip_icc()/SPR-how-to-remove-set-in-table-linen-stains-with-hydrogen-peroxide-and-dish-soap-11854798-1b40088cb4654460b2cdb31f9df990a4.jpg?w=1024&resize=1024,1024&ssl=1)