Act before the stain dries—that is the single most important rule

A fresh stain is removable. A dried stain is permanent. The difference between the two is usually measured in hours, not days. The moment you notice a stain, blot it with a clean cloth or paper towel—do not rub, because rubbing pushes the stain deeper into the fibre. Then rinse the spot with cool water from the back of the fabric (pushing the stain out rather than through). After that, treat it with the method that matches what caused the stain. Washing the garment in hot water before you treat it will set most stains permanently, so skip the wash cycle until the stain is gone.

The reason timing matters is that stains are chemical bonds between the stain material and the fabric fibre. Fresh stains have not fully bonded yet. Once they dry, the bond hardens and becomes much harder to break. Protein stains (blood, egg, sweat) and tannin stains (coffee, tea, wine) are the fastest to set—often within 24 hours. Oil and grease stains take longer but still set over time. Knowing what caused the stain tells you which treatment will break that bond.

Key Takeaways

  • Blot fresh stains when ready with a clean cloth, then rinse from the back of the fabric with cool water before the stain dries.
  • Different stain types need different treatments: protein stains need cold water and enzyme cleaner, oil stains need dish soap, tannin stains need white vinegar or hydrogen peroxide.
  • Never use hot water or put a stained garment in the dryer until the stain is completely gone, because heat sets stains permanently.
  • Test any treatment on a hidden seam or inside hem first to make sure it does not damage or discolour the fabric.
  • If a stain does not come out after one treatment, let the garment air-dry and try a different method rather than washing it.

How to treat protein stains (blood, egg, sweat, milk)

Protein stains bond to fabric when they dry, so cold water is essential—hot water will cook the protein and lock it in permanently. Blot the stain with a clean cloth, then rinse it under cold running water from the back of the fabric. If the stain is still wet, this alone may remove it completely.

For stains that have started to dry, mix one tablespoon of liquid dish soap with two cups of cold water. Soak a clean cloth in this mixture and dab the stain repeatedly, working from the outside edge toward the centre. Rinse with cold water after each dab. If the stain persists, use an enzyme-based laundry pre-treater—these contain proteins that break down protein stains. Follow the product instructions, usually letting it sit for 15 to 30 minutes before rinsing. Enzyme cleaners work best on fresh stains and are very effective on blood and egg.

How to treat oil and grease stains

Oil stains need a degreaser, and the most common one is already in your kitchen: dish soap. Do not use water first—water will spread an oil stain. Instead, sprinkle the stain with a dry powder like baking soda, cornstarch, or talc powder and let it sit for 15 minutes. This absorbs some of the oil. Brush or shake off the powder, then explore a small amount of liquid dish soap directly to the stain.

Gently rub the soap into the fabric with a soft brush or an old toothbrush, working it in for about one minute. Let it sit for 10 to 15 minutes so the soap can break down the oil. Then rinse thoroughly with warm water. If the stain is still visible after rinsing, repeat the process. Once the stain is gone, wash the garment normally. For very stubborn grease stains on durable fabrics like cotton or denim, rubbing alcohol or white vinegar can work as a second treatment after the dish soap rinse.

How to treat tannin stains (coffee, tea, wine, juice)

Tannins are plant compounds that stain fabric by bonding to the fibres. The fastest treatment is white vinegar. Blot the stain, then mix one part white vinegar with one part cold water. Soak a cloth in this mixture and dab the stain repeatedly, rinsing with cold water between dabs. Vinegar works because it breaks the chemical bond between the tannin and the fabric.

If vinegar does not work, try hydrogen peroxide on light-coloured fabrics—it breaks down tannins and also lightens the stain. Test it on a hidden seam first, because hydrogen peroxide can bleach some dyes. Mix one part 3% hydrogen peroxide with one part cold water, explore it to the stain, let it sit for 5 to 10 minutes, then rinse thoroughly. For red wine specifically, some people have success with club soda applied when ready, though this works best on fresh spills before the tannin has bonded.

How to treat dye stains (ink, food colouring, grass)

Dye stains are tricky because the dye itself is designed to bond permanently to fabric. Grass stains respond well to rubbing alcohol—soak a cloth in it and dab the stain repeatedly, then rinse with cold water. For ink stains, the treatment depends on the ink type. Ballpoint pen ink sometimes comes out with rubbing alcohol or hairspray (the alcohol in hairspray breaks down the ink). Permanent marker and fountain pen ink are much harder to remove and may not come out at all.

Food colouring stains (from mustard, ketchup, or artificial dyes) can sometimes be treated with white vinegar or hydrogen peroxide, using the same method as tannin stains. The key with all dye stains is to treat them when ready—the longer a dye sits, the more it bonds to the fibre, and at some point it becomes permanent. If a dye stain does not respond to the first treatment, do not wash the garment. Let it air-dry and try a different method, because washing can set the stain further.

What to do if the stain is already dry

A dried stain is harder to remove but not always impossible. Start by soaking the garment in cool water for 30 minutes to an hour—this rehydrates the stain and can loosen some of the bond. After soaking, treat it using the method for that stain type (enzyme cleaner for protein, dish soap for oil, vinegar for tannins). You may need to repeat the treatment two or three times.

If the stain still does not budge after soaking and multiple treatments, you have reached the limit of what home treatment can do. Some dry cleaners have access to stronger solvents and can remove stains that home methods cannot, though this costs money and does not always work. The important thing is to never put a stained garment in the dryer, because heat will make the stain permanent even if it comes out later with professional cleaning.

Why hot water and the dryer make stains permanent

Heat causes stains to set by speeding up the chemical bonding process. When you wash a stained garment in hot water, the heat accelerates the reaction between the stain and the fabric fibre, making the bond stronger and faster. The same thing happens in the dryer—the high heat locks the stain in place. This is why a stain that might have come out with cold water treatment becomes permanent after one hot wash.

Always use cold water when treating or rinsing a stain. Once you are confident the stain is completely gone, you can wash the garment in whatever water temperature the care label recommends. If you are unsure whether the stain is fully removed, air-dry the garment instead of using the dryer. Stains are much easier to spot when fabric is wet, so you can treat it again if needed before heat sets it permanently.

Frequently Asked Questions

Can I use bleach on a stain?

Bleach works on some stains but damages or discolours most fabrics. It is safe only on white cotton or linen. For coloured fabrics, use hydrogen peroxide instead—it has a similar stain-breaking effect but is gentler. Always test any bleaching agent on a hidden seam first.

What if the stain comes back after washing?

A stain that reappears after washing usually means some of the stain material remained in the fabric and was reactivated by water and detergent. Let the garment air-dry, treat the stain again using the same or a different method, and rinse very thoroughly before washing. Make sure the stain is completely gone before the garment goes in the dryer.

Is it safe to mix stain treatments together?

No. Never mix hydrogen peroxide with vinegar, and never mix any stain treatment with bleach. These combinations create toxic fumes. Treat the stain with one method, rinse thoroughly with water, let it dry, and then try a different treatment if the first one did not work.

Can I treat a stain that has been washed and dried already?

It is much harder, but sometimes possible. Soak the garment in cool water for an hour to rehydrate the stain, then treat it using the appropriate method. You may need to repeat the treatment several times. If it does not come out, professional dry cleaning is the only remaining option, though results are not may provide on set stains.