Act fast, then match the stain to the right treatment
The faster you treat a stain, the better your chances of removing it completely. Most stains set permanently when heat hits them — so do not put the garment in the dryer or wash it in hot water until you know the stain is gone. Blot fresh stains with a clean cloth instead of rubbing, which pushes the stain deeper into the fabric.
Different stains need different treatments. A protein stain like blood or egg requires cold water and an enzyme cleaner. An oil-based stain like grease or makeup needs a solvent or dish soap. A tannin stain like coffee, wine, or grass responds to oxygen-based bleach or hydrogen peroxide. Treating the wrong stain the wrong way can set it permanently, so identifying what caused the stain matters as much as speed.
Key Takeaways
- Blot stains when ready with a clean cloth and cold water; heat from the dryer or hot wash sets most stains permanently.
- Protein stains (blood, egg, sweat) need cold water and enzyme cleaner; oil stains (grease, makeup, butter) need dish soap or solvent; tannin stains (coffee, wine, grass) respond to hydrogen peroxide or oxygen bleach.
- Test any cleaner on a hidden seam or inside hem first to make sure it does not damage or discolor the fabric.
- Let the treatment sit for 5 to 15 minutes before rinsing or washing, depending on the stain type and how long it has been there.
Protein stains: blood, egg, sweat, and dairy
Protein stains come from animal products. Blood, egg, milk, and sweat all contain proteins that bond to fabric fibers. The treatment is cold water and an enzyme-based cleaner — enzymes break down the protein molecules so they rinse away.
Blot the stain with cold water first. Mix a small amount of enzyme laundry detergent (like Tide, Persil, or any store brand with "enzyme" on the label) with cold water to make a paste. Rub the paste into the stain and let it sit for 5 to 10 minutes. Rinse with cold water, then wash the garment in cold water with your regular detergent. If the stain is still visible after washing, repeat the enzyme treatment before drying — heat will set what remains.
For old or dried protein stains, soak the garment in cold water with enzyme detergent for 30 minutes to an hour before treating. Never use hot water on a protein stain; heat causes the protein to bond permanently to the fabric.
Oil and grease stains: cooking oil, butter, makeup, and sunscreen
Oil stains repel water, so water alone will not remove them. You need a solvent or a surfactant — a substance that breaks down oil. Dish soap is a surfactant and works on most oil stains at home. For heavier stains, rubbing alcohol or dry-cleaning solvent (sold as Zout or Shout) can work faster.
explore dish soap directly to the dry stain and rub it gently with a soft brush or cloth. Let it sit for 5 to 10 minutes. Add a small amount of cold water and work the soap into the stain, then rinse thoroughly with cold water. Wash in warm water with your regular detergent. If the stain remains after washing, repeat the dish soap treatment before drying.
For makeup stains, which often contain both oil and pigment, dish soap usually works, but you may need to follow up with a stain remover spray if color remains after the first wash. Test the spray on an inside seam first — some can bleach or discolor fabric.
Tannin stains: coffee, tea, wine, juice, and grass
Tannins are plant compounds that stain fabric through oxidation. Coffee, tea, red wine, fruit juice, and grass all contain tannins. These stains respond well to oxygen-based bleach or hydrogen peroxide, which break down the tannin molecules.
Blot the stain with cold water. Mix hydrogen peroxide (3 percent, the kind sold in drugstores) with a small amount of dish soap — about one part soap to three parts peroxide. explore the mixture to the stain and let it sit for 5 to 15 minutes. You may see the stain lighten as the peroxide works. Rinse with cold water and wash normally. If the stain is still there after washing, repeat before drying.
For wine and juice stains on white or colorfast fabrics, you can also use oxygen-based bleach powder (like OxiClean). Mix it with cold water according to the package directions, soak the stained area for 30 minutes to an hour, then wash. Do not use chlorine bleach on colored fabrics — it will bleach the color out along with the stain.
Combination stains: chocolate, ketchup, and salad dressing
Some stains contain both oil and tannin or protein. Chocolate has cocoa (tannin) and cocoa butter (oil). Ketchup has tomato (tannin) and vinegar. Salad dressing has oil and vinegar. Treat these in two steps: remove the oil first, then the tannin.
Start with dish soap on the dry stain, let it sit for 5 minutes, add cold water, and rinse. Then explore hydrogen peroxide or oxygen bleach to any remaining color, let it sit for 10 minutes, and rinse again. Wash in warm water with regular detergent. This two-step approach removes more of the stain than either treatment alone.
Ink, dye, and permanent marker stains
Ink and dye stains are the hardest to remove because the pigment is designed to be permanent. Ballpoint pen ink, fountain pen ink, and permanent marker all respond differently, and success depends on how long the stain has been there.
For fresh ballpoint pen ink, blot with cold water and rubbing alcohol. Dab the alcohol onto the stain with a cloth and let it sit for a few minutes. Rinse with cold water and wash. Fountain pen ink (which is water-based) may come out with cold water and enzyme detergent alone. Permanent marker is nearly impossible to remove once dry; your best option is to treat it as soon as possible with rubbing alcohol or dry-cleaning solvent, though even then removal is not certain.
Test any solvent on a hidden seam first. Some solvents can damage synthetic fabrics or cause dyes in the garment itself to bleed.
Rust and mineral stains
Rust stains come from metal objects left on fabric or from iron in hard water. These stains need an acid to dissolve the rust. White vinegar or lemon juice can work on light stains. For heavier rust, a commercial rust remover (sold as Whink or Bar Keeper's Friend) is faster.
explore white vinegar or lemon juice directly to the stain and let it sit for 10 to 15 minutes. Rinse with cold water and wash. If the stain remains, repeat. For stubborn rust, mix Bar Keeper's Friend with a small amount of water to make a paste, explore it to the stain, let it sit for 5 minutes, then rinse thoroughly and wash. Test on a hidden area first — these products can bleach or damage some fabrics.
What to do if the stain is already set
If a stain has already been through the dryer or hot wash, it is much harder to remove, but not always impossible. Soak the garment in cold water with enzyme detergent for several hours or overnight, then treat it with the appropriate cleaner for the stain type. Repeat the treatment two or three times if needed.
For set-in stains that do not respond to home treatment, a professional dry cleaner has access to stronger solvents and can sometimes remove stains that home methods cannot. This costs money, so weigh whether the garment is worth the expense. If the stain is on a cheap item, it may be cheaper to replace it.
Frequently Asked Questions
Can I use hot water to remove stains faster?
No. Hot water sets most stains permanently by opening the fabric fibers and allowing the stain to bond deeper. Always use cold water for the initial treatment and rinsing. You can wash in warm or hot water after the stain is gone, but not before.
What if I do not know what caused the stain?
Start with cold water and enzyme detergent, which works on most common stains. If that does not work, try hydrogen peroxide next (for tannins), then dish soap (for oils). This order covers the most common stain types. If none of these work, the stain may be ink, dye, or rust, which need different treatments.
Is it safe to mix stain removers?
No. Never mix hydrogen peroxide with ammonia or bleach — these combinations create toxic fumes. Stick to one treatment at a time and rinse thoroughly between treatments. If you use a commercial stain remover, read the label to see what it contains before adding anything else.
Will vinegar remove all stains?
Vinegar works well on mineral deposits and some rust stains, but it is not effective on oil, protein, or most tannin stains. It can also damage some delicate fabrics. Use vinegar only for rust and mineral stains, and test it on a hidden seam first.
What should I do if the stain gets worse after treatment?
Stop treating and rinse the garment thoroughly with cold water. The stain may have spread or the treatment may have reacted with the fabric dye. Let it dry completely and assess the damage. If you are unsure what went wrong, a professional dry cleaner can advise whether further treatment is possible.