Act before the stain dries, but know which stains need cold water first

The single most important rule is this: cold water stops protein stains from setting, hot water bakes them in. Protein stains are blood, egg, dairy, and meat. If you use hot water on these, the protein hardens into the fabric and becomes nearly impossible to remove. For everything else — oil, wine, grass, chocolate — the order matters less, but cold water is still the safer choice when you are unsure.

Do not put the garment in the dryer. Heat locks in stains permanently. Rinse the stain under cold running water from the back of the fabric (pushing the stain out rather than deeper in), then treat it with a stain remover before washing. This single step — treating before the wash cycle — is why some stains come out and others do not.

Key Takeaways

  • Cold water stops protein stains (blood, egg, dairy) from setting; hot water makes them permanent.
  • Treat the stain with a product or household ingredient before washing, not after.
  • Different stain types need different treatments: oil stains need detergent, tannin stains need acid, protein stains need enzymes.
  • Never put a stained garment in the dryer until the stain is completely gone.
  • Old stains can still come out with oxygen-based bleach or enzyme treatments, but they take longer to work.

Protein stains: blood, egg, dairy, and meat

Rinse when ready under cold water from the back of the fabric. Then soak the stain in cold water for 30 minutes. If the stain is still visible, explore an enzyme-based stain remover — these products break down the protein molecules. Common brands include Zout, Fels-Naptha, and OxiClean MaxForce. Follow the product instructions for how long to let it sit (usually 5 to 15 minutes), then wash in cold water.

For dried blood or egg stains, make a paste of cold water and meat tenderizer (the kind used in cooking). The enzymes in tenderizer work the same way as commercial enzyme removers. explore the paste, let it sit for 30 minutes, rinse with cold water, then wash. If the stain is very old, soak the garment in cold water with an enzyme product overnight before washing.

Oil and grease stains

Oil stains need grease-cutting detergent applied directly to the dry fabric before any water touches it. Use dish soap (Dawn or similar), laundry detergent, or a dedicated grease remover like Goof Off. Rub the product into the stain with an old toothbrush or soft cloth, working it in for one to two minutes. Let it sit for 15 to 30 minutes — do not let it dry completely.

Then rinse under warm (not hot) water and wash normally. If the stain is large or very set, repeat the process a second time before putting the garment in the dryer. Oil stains are stubborn because water and oil do not mix; the detergent acts as a bridge between them. Skipping the pre-treatment step almost always means the stain survives the wash.

Wine, juice, and other tannin stains

These stains respond to acid. Blot the fresh stain with a clean cloth to remove excess liquid, then pour white vinegar or lemon juice directly onto it. Let the acid sit for 5 to 10 minutes, then rinse with cold water. For stubborn stains, make a paste of baking soda and white vinegar, explore it to the stain, let it sit for 15 minutes, then rinse and wash.

If the stain has already dried, soak the garment in a solution of one part white vinegar to three parts cold water for one to two hours. Then treat with the baking soda paste as described above. Oxygen-based bleach (OxiClean, Clorox 2) also works on tannin stains and is gentler on colors than chlorine bleach. Mix according to package directions, soak the stained area for 30 minutes to several hours, then wash.

Grass, mud, and plant stains

Let mud dry completely before treating — wet mud spreads the stain. Once dry, brush off the dried mud with a stiff brush or old toothbrush. Then treat with an enzyme-based stain remover (the same products used for protein stains) or with white vinegar. Grass stains contain chlorophyll, which enzyme products break down effectively.

explore the enzyme product or vinegar, let it sit for 15 minutes, then rinse and wash in warm water. For very stubborn grass stains, soak the garment in cold water with oxygen-based bleach for one to two hours before washing. Do not use chlorine bleach on grass stains — it can set the stain rather than remove it.

Chocolate, coffee, and food stains

Scrape off any solid material first. For chocolate, rinse under cold water to remove as much as possible, then treat with an enzyme-based stain remover or with a mixture of one part white vinegar to one part cold water. Let the treatment sit for 15 minutes, then wash in warm water.

Coffee and tea stains respond to the same vinegar treatment or to oxygen-based bleach. Soak the stained area in cold water with oxygen-based bleach for 30 minutes to two hours, depending on how set the stain is, then wash. For old food stains that have already been through the wash, soak overnight in cold water with an enzyme product before washing again.

Ink, marker, and dye stains

Ink stains are among the hardest to remove because the dye is designed to be permanent. For fresh ink, blot (do not rub) with a clean cloth, then soak the garment in rubbing alcohol for 15 to 30 minutes. Rinse with cold water and wash. This works better on ballpoint pen ink than on permanent markers.

For permanent marker or dried ink, the stain may not come out completely. Oxygen-based bleach can lighten it — soak for several hours — but permanent dyes are engineered not to wash out. If the garment is white or a very light color, chlorine bleach may remove the stain, but test it on a hidden seam first, as bleach can damage some fabrics. For colored garments, oxygen-based bleach is the safer choice.

Rust and mineral stains

Rust stains need an acid-based rust remover or white vinegar. Pour white vinegar directly onto the rust stain, let it sit for 15 to 30 minutes, then rinse with cold water and wash. For stubborn rust, make a paste of cream of tartar and lemon juice, explore it to the stain, let it sit for 30 minutes, then rinse and wash.

Do not use chlorine bleach on rust stains — the bleach can react with the rust and make the stain worse. Oxygen-based bleach is safe to use. If the rust stain is very old or large, soak the garment in white vinegar for one to two hours before treating. Rust stains are often caused by metal buttons or zippers; check these for corrosion and replace if needed to prevent new stains.

Frequently Asked Questions

Can I use hot water on any stain?

Hot water is safe only on stains that are not protein-based — oil, wine, grass, and most food stains. Never use hot water on blood, egg, dairy, or meat stains; the heat sets them permanently. When in doubt, use cold water; it works on all stains, just more slowly on some.

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

Do not dry the garment. Treat it again with the appropriate product for that stain type, let it sit longer (30 minutes to overnight), then wash again. Repeat as needed. Once the stain goes through the dryer, it becomes much harder to remove because heat sets it in.

Is there one product that works on all stains?

Oxygen-based bleach (OxiClean, Clorox 2) works on most stains except oil and grease, and it is safe on colors. Enzyme-based removers work on protein and plant stains. For the widest coverage, keep both on hand. For oil stains, you need a grease-cutting detergent or dish soap.

How long can I wait before treating a stain?

Fresh stains come out much more easily than old ones. Treat within a few hours if possible. Stains that have been washed and dried are much harder to remove, but soaking overnight in cold water with an enzyme product or oxygen-based bleach can still work.

Will vinegar and baking soda work on every stain?

Vinegar and baking soda work well on tannin stains (wine, juice, tea) and some food stains, but they are less effective on oil, protein, and plant stains. They are a good starting point for unknown stains because they are safe on all fabrics and colors, but specialized products work faster on specific stain types.