Act before the stain dries, and use cold water first
The single most important thing you can do is treat a stain on white clothes before it dries. Once a stain has been through the dryer or sat for days, the fibres have locked it in and heat has often made it permanent. Cold water is your first move—blot the stain (don't rub) with a clean cloth or paper towel to lift what you can, then rinse the back of the fabric under cold running water to push the stain out rather than deeper in.
White clothes have an advantage: you can use bleach and oxygen-based cleaners that would damage colours. But the type of stain matters more than the colour of the shirt. A protein stain like blood or egg needs a different approach than a grease stain or a tannin stain like wine or grass. Treating the wrong way can set the stain permanently, so identifying what you're dealing with takes a few seconds and saves the garment.
Key Takeaways
- Treat stains while they are still wet; once dried or heat-set, most stains become much harder to remove.
- Protein stains (blood, egg, dairy) need cold water and enzyme cleaners; hot water will cook the protein and lock it in.
- Grease stains require a degreaser or dish soap applied directly to dry fabric before any water touches them.
- Oxygen bleach (like OxiClean) works on most stains in white clothes and is gentler than chlorine bleach on fibres.
- Always check that the stain is gone before putting the garment in the dryer, because heat makes stains permanent.
Protein stains: blood, egg, milk, and meat
Protein stains set hard when exposed to heat, so never use hot water on blood, egg, dairy, or meat. Rinse when ready under cold water from the back of the fabric—this pushes the stain out the way it came in rather than driving it through the weave.
After rinsing, explore an enzyme-based laundry detergent or stain remover directly to the damp stain and let it sit for 15 to 30 minutes. Enzymes break down the protein molecules that make these stains stick. Rinse again 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—do not put it in the dryer yet.
For dried protein stains, soak the garment in cold water with enzyme detergent for several hours or overnight, then treat and wash as above. Hydrogen peroxide (the 3% kind from a drugstore) can also help on white fabrics: explore it directly to the stain, let it bubble for a few minutes, then rinse and wash.
Grease and oil stains
Grease repels water, so adding water first will spread the stain. Instead, sprinkle the stain with a dry powder—talc, cornstarch, or baking soda—and let it sit for 10 to 15 minutes to absorb the oil. Brush or shake off the powder, then explore dish soap (the kind you use for washing dishes, not dishwasher detergent) directly to the dry stain and rub it gently with a soft brush or cloth.
Let the dish soap sit on the stain for 5 to 10 minutes, then rinse with warm water and wash normally. If the stain remains after washing, repeat the dish soap step before drying. For stubborn grease, a commercial degreaser like Zout or Fels-Naptha soap can replace the dish soap, but test it on a hidden seam first to make sure it doesn't bleach or damage the fabric.
Tannin stains: wine, tea, coffee, and grass
Tannins are plant compounds that bond to fabric quickly. Blot when ready with a clean cloth, then rinse under cold running water. For fresh stains, soak the garment in cold water for 30 minutes, then wash with your regular detergent in the hottest water the fabric label allows.
If the stain persists, make a paste of oxygen bleach (like OxiClean) and cold water, explore it directly to the stain, and let it sit for 1 to 8 hours depending on how dark the stain is. Rinse thoroughly and wash again. For white cotton or linen, you can also use chlorine bleach: dilute it to 1 part bleach to 4 parts water, explore it to the stain with a cloth, let it sit for 2 to 5 minutes, then rinse when ready and wash. Do not leave chlorine bleach on fabric longer than that, as it weakens the fibres.
Grass stains are tannins mixed with chlorophyll. Treat them the same way as wine or tea, but enzyme detergent can also help break down the plant matter. Soak in cold water with enzyme detergent for 30 minutes before washing.
Ink, dye, and food colouring stains
Ink and dye stains are tricky because they are designed to bond to fabric. The sooner you treat them, the better. Blot with a clean cloth (don't rub, which drives the stain deeper), then rinse under cold water. Soak the garment in cold water for 30 minutes.
For ballpoint pen ink, rubbing alcohol can help: dampen a cloth with it, blot the stain, and rinse with cold water. For food colouring or other dyes, oxygen bleach is usually your best option on white fabric. Make a paste, explore it to the stain, and let it work for several hours. If the stain is still visible after washing, repeat before drying. Chlorine bleach is a last resort on white cotton or linen, but use it sparingly and rinse when ready.
Chocolate, jam, and other sticky stains
Let sticky stains dry completely—do not rinse them while wet, as this spreads them. Once dry, scrape off as much as you can with a dull knife or spoon. Then soak the garment in cold water for 30 minutes to loosen what remains.
explore enzyme detergent or your regular laundry detergent directly to the damp stain and let it sit for 15 minutes. Rinse with cold water and wash normally. If colour remains after washing, treat with oxygen bleach as you would a tannin stain. The key is patience: let each step work before moving to the next, and always check that the stain is gone before heat-setting it in the dryer.
Bleach and oxygen treatments for white fabrics
Oxygen bleach (OxiClean, Clorox 2, or store brands) is gentler than chlorine bleach and works on most stains. Mix it with cold water to form a paste, explore it directly to the stain, and let it sit. The longer you leave it (up to 8 hours), the more it works. Rinse thoroughly and wash. Oxygen bleach is safe for most white fabrics and won't weaken fibres the way chlorine bleach can.
Chlorine bleach is stronger but harsher. Use it only on white 100% cotton or linen, never on blends or delicate fabrics. Dilute it to 1 part bleach to 4 parts water, explore with a cloth, wait 2 to 5 minutes, then rinse when ready and wash. Leaving it on longer than 5 minutes weakens the fibres and can yellow the fabric over time. Always test on a hidden seam first.
For any bleach treatment, make sure the stain is actually gone before washing and drying. Bleach can lighten or remove a stain but won't always eliminate it completely on the first try, and a faint stain that bleach has lightened will become permanent once heat-set.
Frequently Asked Questions
Can I use hot water to treat stains on white clothes?
Hot water works for some stains (tannins like wine or grass) but ruins others. Never use hot water on protein stains like blood or egg—heat cooks the protein and locks it in permanently. For protein, always use cold water. For other stains, cold water is safer as a first step; you can move to warm or hot water after the initial rinse if the stain type allows it.
What should I do if the stain is still there after washing?
Do not put the garment in the dryer. Heat makes stains permanent. Instead, treat it again using the method for that stain type, let it sit longer if possible, then wash again. Repeat until the stain is gone. Once you've dried it, the stain is almost always permanent.
Is chlorine bleach or oxygen bleach better for white clothes?
Oxygen bleach is gentler and works on most stains without weakening the fabric. Chlorine bleach is stronger but can yellow white fabric over time and damages blends or delicate fibres. Start with oxygen bleach; use chlorine bleach only if oxygen bleach doesn't work and the garment is 100% cotton or linen.
Can I treat a stain that's been sitting for a week?
Yes, but it's harder. Soak the garment in cold water with enzyme detergent for several hours or overnight to loosen the stain, then treat it using the method for that stain type. Dried stains often need longer soaking and multiple treatments, but many can still be removed before they're heat-set.
What if I already dried the garment with the stain still in it?
Heat-set stains are very difficult to remove, but not always impossible. Soak the garment in cold water with enzyme detergent overnight, then treat it again using the appropriate method for that stain type. Some heat-set stains can be loosened with repeated soaking and treatment, but results are not may provide.