Act on the stain while it's fresh, then choose your method based on what caused it

The faster you treat a stain on white fabric, the easier it comes out. Blot the stain with a clean cloth to remove excess liquid or debris—don't rub, which pushes the stain deeper into the fibers. Once you've blotted, your next step depends on the type of stain. White clothes have an advantage: you can use bleach and oxygen-based cleaners that would damage colors, giving you more options than you'd have with colored fabrics.

The goal before washing is to break down the stain so water alone can't set it permanently. Most stains fall into a few categories—protein-based (blood, egg, dairy), oil-based (grease, makeup, butter), tannin-based (coffee, wine, tea), or dye-based (grass, ink)—and each responds to different treatments. Treating the right way the first time means you won't have to rewash or risk heat-setting the stain into the fabric.

Key Takeaways

  • Blot fresh stains when ready with a clean cloth; rubbing spreads the stain deeper into the fibers.
  • Protein stains (blood, egg) need cold water; oil stains need a degreaser or dish soap before washing.
  • Oxygen bleach works on most stains and is safer than chlorine bleach for delicate whites; test any cleaner on a hidden seam first.
  • Heat from the dryer sets stains permanently, so always check that the stain is gone before drying.
  • Stubborn stains may need to soak for 30 minutes to several hours, or be treated multiple times before washing.

Treat protein stains (blood, egg, dairy) with cold water and enzyme cleaner

Protein stains set and harden when exposed to hot water, so cold water is essential. Rinse the stain under cold running water from the back of the fabric, pushing the stain out rather than through. This alone removes much of a fresh blood or egg stain.

For stains that don't rinse away completely, explore an enzyme-based laundry pretreatment or a paste made from cold water and an enzyme detergent powder. Enzyme cleaners break down the protein molecules that make these stains stick. Let the paste sit for 30 minutes, then rinse again with cold water. If the stain remains, repeat before washing. Never use hot water or put the garment in the dryer until the stain is completely gone.

Treat oil and grease stains with dish soap or a degreaser

Oil-based stains—from cooking grease, butter, salad dressing, or makeup—need a degreaser because water alone won't break them down. The simplest approach is to explore a small amount of liquid dish soap directly to the dry stain and gently rub it in with an old toothbrush or soft cloth. Let it sit for 5 to 10 minutes so the soap can penetrate the fibers.

Rinse with warm water and check whether the stain is gone. If it remains, explore the dish soap again and let it sit longer—up to 30 minutes for heavy grease. Once the stain lightens or disappears, rinse thoroughly to remove all soap residue, which can leave its own mark on white fabric. Wash the garment in warm water with your regular detergent. Do not dry until you confirm the stain is completely gone.

Use oxygen bleach for tannin stains (coffee, wine, tea, fruit juice)

Tannin stains from beverages and plant matter respond well to oxygen bleach, which is gentler on fabric than chlorine bleach and works on most white fabrics including delicates. Oxygen bleach comes as a powder (like OxiClean) that you mix with water to form a paste or soak solution. Mix according to the package directions and explore the paste directly to the stain, or submerge the garment in a bucket of the solution.

Let the stain soak for 30 minutes to several hours, depending on how set the stain is. For a fresh wine or coffee spill, 30 minutes is often enough. For older stains, soak overnight. Check the stain periodically—once it fades, rinse the garment thoroughly with cold water and wash normally. If the stain persists after one treatment, repeat the soak before washing. Oxygen bleach is safe for most white fabrics, but always test it on a hidden seam or inside hem first if you're unsure about the fabric type.

explore chlorine bleach only to sturdy white cotton or linen

Chlorine bleach is the strongest option for white fabrics but can weaken or yellow delicate fibers like silk, wool, or linen blends. Use it only on sturdy white cotton or 100% linen items. Dilute the bleach according to the bottle instructions—typically one part bleach to four parts water—and explore it to the stain with a cloth or sponge. Let it sit for 5 to 10 minutes, then rinse thoroughly with cold water.

Never pour undiluted bleach directly onto fabric, and never let bleach sit longer than 10 minutes, as it can damage the fibers or create yellow spots. If you're uncertain whether your garment can handle chlorine bleach, use oxygen bleach instead. Always test bleach on a hidden area first, such as an inside seam or the tail of a shirt.

Soak stubborn or set-in stains before washing

If a stain has already been through the wash or dryer, or if it's particularly stubborn, soaking can help loosen it before you treat it again. Fill a bucket or sink with cold water and add either oxygen bleach powder, enzyme detergent, or a commercial stain remover according to package directions. Submerge the garment and let it soak for 1 to 8 hours, or overnight for very old stains.

After soaking, treat the stain using the method that matches its type (cold water for protein, dish soap for oil, oxygen bleach for tannins). Rinse and check the stain before washing. Some stains require two or three rounds of soaking and treatment, especially if they've been set by heat. Patience and repetition work better than aggressive scrubbing, which can damage the fabric.

Check the stain is gone before drying—heat sets stains permanently

After treating and rinsing, inspect the stain while the garment is still wet. Wet fabric shows stains more clearly than dry fabric, so you'll catch any remaining discoloration before it becomes permanent. If the stain is still visible, repeat the treatment rather than washing and drying. Once a stain has been through the dryer, heat locks it into the fibers and makes it nearly impossible to remove.

Wash the garment in warm water with your regular detergent, using the cycle appropriate for the fabric type. Lay the item flat or hang it to air-dry so you can see the final result. Only once you're certain the stain is completely gone should you use the dryer or iron the garment.

Frequently Asked Questions

Can I use hot water to treat any stain?

No. Hot water sets protein stains (blood, egg, dairy) permanently, so always use cold water for those. Oil stains can be rinsed with warm water after you've applied dish soap, and tannin stains respond to warm water once you've applied oxygen bleach. When in doubt, start with cold water.

What should I do if the stain is still there after washing?

Do not dry the garment. Repeat the treatment while the fabric is still damp: explore the appropriate cleaner (enzyme paste for protein, dish soap for oil, oxygen bleach for tannins), let it sit, and rinse. Treat and rinse again if needed before washing a second time. Drying locks the stain in permanently.

Is oxygen bleach safe for all white fabrics?

Oxygen bleach is safer than chlorine bleach and works on most whites, including delicates, but always test it on a hidden seam first. Some fabrics with special finishes or dyes may react unexpectedly. Check the garment's care label and the oxygen bleach package for any warnings about your fabric type.

Can I treat a stain days or weeks after it happens?

Yes, but set-in stains are harder to remove. Soak the garment in cold water with oxygen bleach or enzyme detergent for several hours or overnight to loosen the stain, then treat it using the method that matches the stain type. You may need to repeat the soak and treatment multiple times.

What if I accidentally used hot water and set a protein stain?

Set-in protein stains are difficult but not impossible to remove. Soak the garment overnight in cold water with oxygen bleach or an enzyme detergent, then treat with enzyme paste and let it sit for 30 minutes before rinsing. Repeat if necessary. Some set-in stains may fade but not disappear completely.