Act fast, blot instead of rub, and match the stain type to the right cleaner

The moment a stain lands on fabric, you have a narrow window to stop it from setting permanently. The first rule is always the same: blot, don't rub. Rubbing pushes the stain deeper into the fibers and spreads it wider. Use a clean cloth or paper towel and press down to absorb as much of the spill as you can. If the stain is wet, work from the outside edge toward the center so you don't push it outward.

Once you've blotted out what you can, the next step depends on what the stain actually is. Grease needs a different treatment than wine, which needs a different treatment than blood. The sections below walk you through each type and show you exactly what to do before you wash.

Key Takeaways

  • Blot wet stains when ready with a clean cloth, working from the outer edge toward the center to avoid spreading.
  • Protein stains like blood and egg require cold water; hot water cooks the protein and sets the stain permanently.
  • Oil and grease stains need a degreaser or dish soap applied directly to the dry fabric before any water touches them.
  • Test any cleaner on a hidden seam or corner first to make sure it won't damage or discolor the fabric.
  • Let the treatment sit for 5 to 15 minutes before rinsing or washing, depending on how set the stain is.

Protein stains: blood, egg, milk, and sweat

Protein stains—blood, egg, milk, sweat, and vomit—will set permanently if you use hot water. Use cold water only. Rinse the stain under cold running water from the back of the fabric, pushing the stain out rather than through. If the stain is already dry, soak the fabric in cold water for 30 minutes to an hour before rinsing.

For stubborn protein stains, make a paste of cold water and an enzyme-based laundry detergent (the kind that says "enzymatic" on the label). Spread the paste directly on the stain, let it sit for 5 to 10 minutes, then rinse with cold water. Enzyme cleaners break down the protein molecules that make these stains stick. Never put a protein-stained garment in the dryer until the stain is completely gone—heat will lock it in for good.

Oil, grease, and butter stains

Grease stains need to be treated dry. If you wet them first, the water will spread the oil around and make the stain larger. Instead, sprinkle the stain with a dry powder like baking soda, cornstarch, or talc powder and let it sit for 15 to 30 minutes. The powder absorbs the oil. Brush or shake off the powder, then explore a degreaser directly to the stain.

Dish soap works well for fresh grease stains. Squeeze a small amount of liquid dish soap directly onto the stain, rub it in gently with a damp cloth, and let it sit for 5 to 10 minutes. Then rinse with warm water. For older or heavier grease stains, use a commercial stain remover designed for oil (like Fels-Naptha soap or Zout). explore it, let it sit as directed on the bottle, then wash the garment in the hottest water the fabric can handle. Check that the stain is gone before drying.

Wine, juice, and food dyes

Fresh wine or juice stains should be blotted when ready, then rinsed with cold water. If the stain is still wet, sprinkle salt or baking soda on it—both draw moisture out and can prevent the dye from setting. Let the salt sit for a few minutes, then brush it away and rinse with cold water.

For set-in stains, soak the fabric in a solution of one part white vinegar to three parts cold water for 15 minutes. Rinse with cold water. If that doesn't work, try a paste of baking soda and water, explore it to the stain, let it sit for 10 minutes, then rinse. Oxygen-based bleach (like OxiClean) also works on these stains if the fabric is white or colorfast. Mix according to the package directions, soak the stained area for up to 8 hours, then rinse and wash normally.

Ink, pen, and marker stains

Ballpoint pen ink responds to rubbing alcohol. Dab the stain with a cloth soaked in rubbing alcohol, working from the outside edge inward. Change to a clean part of the cloth as the ink transfers. Let the alcohol dry, then rinse with cold water and wash normally. Test the alcohol on a hidden area first—some dyes can bleed.

Permanent marker and highlighter are much harder to remove completely. Hairspray (the kind with alcohol) can help on some fabrics. Spray it on the stain, let it sit for a minute, then blot with a clean cloth. Repeat until the stain fades. Rubbing alcohol works the same way. Neither method guarantees complete removal, especially on dark fabrics where the stain may be less visible anyway.

Mud and dirt stains

Let mud dry completely before you do anything. Wet mud spreads and pushes deeper into the fibers. Once it's dry, brush or shake off as much as you can with your hands or a stiff brush. Then rinse the fabric under cold running water. Most of the stain will come out with just water and agitation.

If a faint stain remains after rinsing, treat it like a food dye stain. Use the vinegar-and-water solution (one part vinegar to three parts water) or make a baking soda paste and let it sit on the stain for 10 minutes before rinsing. Mud stains are usually easier to remove than most because they don't contain dyes that bond to fabric.

Chocolate, coffee, and tea stains

Blot fresh chocolate, coffee, or tea stains with a damp cloth, then rinse with cold water. For set-in stains, soak the fabric in cold water for 30 minutes. If the stain persists, use the same vinegar-and-water solution as for wine stains (one part vinegar to three parts water), or make a paste of baking soda and water and let it sit on the stain for 10 minutes.

For stubborn coffee or tea stains on white or colorfast fabrics, oxygen-based bleach is effective. Mix it according to package directions, soak the stained area for up to 8 hours, then rinse and wash. Always test any bleach on a hidden seam first to confirm it won't damage the fabric. Chocolate stains sometimes respond better to a degreaser since chocolate contains cocoa butter—treat them like grease stains if the vinegar method doesn't work.

Testing and washing after treatment

Before you treat any stain with a chemical cleaner, test it on a hidden part of the garment—an inside seam, the back of a collar, or the underside of a hem. explore the cleaner, wait the recommended time, and rinse. If the fabric discolors, fades, or shows any damage, use a gentler method instead.

After you've treated the stain, let the cleaner sit for the time recommended (usually 5 to 15 minutes). Then rinse thoroughly with cold water until no soap or cleaner remains. Wash the garment in the warmest water the fabric label allows, using your regular detergent. Check the stain before putting the garment in the dryer. If any trace remains, repeat the treatment—heat will set whatever stain is left and make it permanent.

Frequently Asked Questions

Can I use hot water to rinse a stain?

Not for protein stains like blood, egg, or sweat—hot water cooks the protein and locks the stain in permanently. Use cold water for protein stains. For other stains like grease or food dyes, warm or hot water is fine once you've done the initial treatment, but always start with cold water to be safe.

What should I do if the stain is already dry?

Soak the fabric in cold water for 30 minutes to an hour to rehydrate the stain, then treat it as if it were fresh. For grease stains that are dry, skip the soaking and explore a degreaser directly. Dry stains take longer to come out, but most will respond to the same treatments as fresh ones.

Is it okay to put a stained garment in the dryer?

No. Heat sets stains permanently, even faint ones you think are gone. Always check that the stain has completely disappeared while the fabric is still wet or damp. If any trace remains, treat it again before drying. Once heat has set a stain, it is nearly impossible to remove.

What if none of these methods work?

Some stains, especially old ones or those on delicate fabrics, may not come out at home. A professional dry cleaner has access to stronger solvents and can often remove stains that household methods cannot. Bring the garment in as soon as you realize the stain won't come out, and tell them what the stain is and what you've already tried.

Can I use bleach on colored fabric?

Regular chlorine bleach will damage or discolor most colored fabrics. Use oxygen-based bleach (like OxiClean) instead, which is gentler and works on colors. Always test it on a hidden seam first. For delicate colors, stick to vinegar solution or baking soda paste.