When you shop through links on our site, we may receive compensation. This educational content is not intended to be a substitute for professional advice or consultation.

How to Remove Stains from White Shirt: Coffee, Wine & More

We don’t want to see white garments ruined. Let’s tackle any stain!

White clothing is a beauty — but it’s also a hassle. Because of the bright, pure color, it can show off marks and stains much easier than other types of clothing.

If you notice a stain on your white clothing, it can be a cause for concern. But before you freak out, there’s hope. We’ll show you how to remove stains from white shirts, sweatshirts, jerseys, hoodies, dresses, and more.

Whether you’ve got a grease, coffee, blood, or chocolate stain (or something else!), we can help.

Key Takeaways

  • To remove stains from white clothes, identify the stain and use the appropriate cleaning method.
  • Dish soap works well for grease stains, while laundry detergent is effective on coffee or tea stains.
  • Treat blood stains by soaking the garment in cold water, and use hydrogen peroxide for red wine stains.
  • For natural stain removal, try vinegar, salt, baking soda, or chalk depending on the stain type.

Cleaning Different Stains From White Clothes

Not all stains can be removed using the same method. We’ll walk you through some common types of stains and what the best stain remover is for each. You must decipher what a stain is before trying to remove it — this will give you the best results.

Grease Stains

We never worry about a grease stain. Why? Because dish soap is amazing at removing it.

Dish soap can absorb and remove grease, so all you need to do is dilute a little with water (one teaspoon per two cups of water) and rub it onto the stain.

Coffee or Tea Stains

You have many options here (like vinegar or baking soda), but what we find most effective is laundry detergent. Apply a little liquid detergent to the stained area, let it sit for five minutes, then wash normally in cold water.

Blood Stains

When you notice blood on a shirt, immediately soak it in cold water for an hour. This is a crucial first step since the cold water will break up the stain, making it easier to eliminate. Then wash as usual on a cold cycle.

If the blood has dried, repeat the above steps but wash with an enzymatic laundry detergent instead.

If that doesn’t work, ammonia is a backup option to consider.

Red Wine Stains

Mix a 1:1 solution of hydrogen peroxide and dish soap. Pour it onto the stain and let it soak until the red wine has faded. Then wash as usual in the washing machine.

If necessary, you might have to soak the garment in bleach for five minutes before washing.

Bleach Tips

When using bleach, always read the packaging instructions for diluting. If you leave undiluted bleach on clothing for too long, it could burn a hole through the fabric or discolor it permanently. Also, remember that bleach isn’t safe for all types of clothing; for instance, don’t bleach wool, silk, leather, or spandex.

Dirt, Mud, and Grass Stains

Honestly, these are our most dreaded stains. We find these super tricky to remove, especially out of white clothing.

The first thing you need to do is let the mud dry. Otherwise, you’ll dilute it, and it will stain the rest of the garment. Once dry, soak it in cold water to soften the stain.

The best next step is to launder it in cold water with high-quality laundry detergent specially made to tackle mud, dirt, and grass stains. For this, we recommend Tide Original.

If the above method doesn’t work, you might have to use bleach or ammonia.

Chocolate Stains

Remove as much chocolate as possible before soaking it in cold water. Apply laundry detergent to the stained area for 15 minutes before washing normally in cold water.

You could also sprinkle baking soda over the stain if it persists. This will whiten the garment and absorb extra oil. Simply dampen the garment and sprinkle baking soda onto the stain before rubbing it in with your fingers.

Continue until the stain lifts. Wash the garment as normal.

Makeup Stains

Scrape off the excess makeup. Then apply a pre-wash stain remover, such as Shout Advanced Stain Remover. Use a soft-bristled brush to work the stain remover into the garment.

Leave the stain remover for 15 minutes before washing the item as normal using cold water.

If the stain persists, oxygen bleach is a great option. However, you can use chlorine bleach if that doesn’t work.

Sweat Stains

For sweat stains, you want to harness the power of distilled white vinegar. Mix together a 1:2 ratio of white vinegar and warm water. You can spray it onto the sweat stains or soak the garment in it for 30 minutes.

Launder as normal using as warm water as possible. If that doesn’t work, hydrogen peroxide is great for removing sweat stains.

Deodorant Stains

You wear deodorant to avoid sweat stains, but you still end up with deodorant stains. There’s no winning! This is usually caused by aluminum in the deodorant, which can create yellow stains on your shirt’s underarms.

Mix ½ cup of hydrogen peroxide per two tablespoons of baking soda and apply the paste to the stains. Leave it for two hours before washing it in cold water. If that doesn’t work, try using oxygen bleach.

How to Remove Stains From White Shirts

Now that we’ve walked through some important cleaning supplies you should try, we’ll show you how to use them. If you’re ready to learn about cleaning stains from white shirts — now is the time!

With Dishwashing Liquid

Dish soap is handy for various stains, especially grease or food-based stains.

  1. Dilute the soap: In a small bowl, dilute one teaspoon of dish soap per two cups of water. Mix well with a spoon.
  2. Apply to the shirt: Lay the garment flat and apply the soap to the stain, rubbing it in gently with your fingers. Continue until the stain has dissolved.
  3. Wait: If the stain is stubborn, leave the soap on the stain for 30 minutes.
  4. Rinse: Rinse the garment to remove the soap.
  5. Wash: Wash the shirt, as usual, using laundry detergent and cool water.
  6. Check: Check that the stain is gone when the cycle is finished. If so, you can dry it as you usually do. If the stain persists, repeat the process.

With Ammonia

Ammonia is a powerful cleaning solution for tough stains, such as blood, urine, grease, dirt, and other brown or dark stains. It’s crucial that you don’t ever mix it with bleach, as this can create deadly fumes. Always wear protective gloves and a mask, and work in a well-ventilated spot.

  1. Create solution: Make a 1:1 solution with ammonia and water.
  2. Dab: Dampen a cloth into the ammonia solution and dab the stained area of the white shirt. Be gentle, so you don’t push the stain further into the garment.
  3. Wash: Wash the item as normal. If you’re worried that the stain is really set into the shirt, you can add ¼ cup of ammonia to the wash cycle.

With Stain Remover

One of the most effective ways to remove stains is with something made explicitly just for that: a stain remover. Many liquid laundry detergents double as a stain remover, so you can use that instead if you’d prefer.

  1. Rinse: Rinse the stained area of the garment with cold water.
  2. Apply stain remover: Following packaging instructions, apply a little bit of stain remover to the stained area.
  3. Wait: Wait for the recommended amount of time. This will be five minutes for some products, and others might recommend 30.
  4. Wash: Wash the garment as usual. We recommend using cool water, as hot water can set the stain.
  5. Check: Before drying the white shirt, check that the stain has come out. If so, dry as normal. If it’s still there, repeat the above process.

With Hydrogen Peroxide

Hydrogen peroxide is a safer kind of bleach. It works great on all sorts of stains, especially red wine, sweat, and deodorant.

  1. Prepare hydrogen peroxide: Pour a little hydrogen peroxide onto a cloth.
  2. Dab: Blot the stained area with the soaked cloth. Continue until the area is damp.
  3. Wait: Wait 20 minutes.
  4. Wash: Wash the garment as normal in a cold cycle with laundry detergent.

For deodorant stains, we recommend mixing hydrogen peroxide with baking soda.

  1. Prepare the solution: Mix ½ cup of hydrogen peroxide and two tablespoons of baking soda to create a grainy liquid solution.
  2. Apply: Apply the mixture onto the deodorant stains and rub it in well with an old toothbrush.
  3. Wait: Let it soak for two hours.
  4. Wash: Wash as usual using cold water and laundry detergent.

We recommend mixing the hydrogen peroxide with dish soap for red wine stains.

  1. Make solution: Make a 1:1 solution of hydrogen peroxide and dish soap.
  2. Pour: Pour the solution onto the stain and let it soak until the red wine has started to fade. Don’t soak for more than one hour.
  3. Wash: Wash as normal in the machine using your preferred laundry detergent.

With Bleach

Sometimes, bleach is the only way to remove stains from your white clothing. If the stains are old and set in, bleach becomes your best friend. Always work in a well-ventilated spot and wear protective clothing, like a mask and gloves.

  1. Dilute the bleach: Dilute the bleach according to packaging instructions.
  2. Apply: Carefully apply the bleach to the clothing using a white cloth (to avoid color transfer).
  3. Wait: Leave the bleach on the garment for five minutes.
  4. Wash: Wash as usual. You can add bleach to the cycle by following the packaging instructions.
  5. Rinse: Do an extra rinse cycle to remove bleach residue.


Even though the garment is white, bleach can cause damage to certain fabrics, including polyester and cotton. If you use it too much, it can start to yellow synthetic fabrics, so be careful.

How to Get Rid of Stains Naturally

If you want to try removing stains from your white clothing using non-toxic products, we have a few recommendations to test out.

With Vinegar

As mentioned, vinegar is fantastic for removing all kinds of stains from white clothes. We often use vinegar on our white clothing, and it truly is a favorite!

  1. Make a vinegar solution: Mix together a 1:2 solution of distilled white vinegar and warm water.
  2. Spray: Spray the solution directly onto the stain and let it soak for 30 minutes.
  3. Wash: Wash the garment as usual. Add one cup of vinegar to the detergent drawer if you want more vinegar power.

With Salt

Rust stains are tricky to remove, but washing with salt can completely remove them.

  1. Soak: Soak the white shirt in cold salt water for three hours.
  2. Apply salt or laundry detergent to the stain: Afterwards, sprinkle salt over the stain. You can go straight to laundry detergent if the rust looks like it’s nearly gone. Rub the salt or the detergent into the stain with your fingers.
  3. Wash: After five minutes, wash the garment as usual.
  4. Dry: If the stain persists, sprinkle more salt over the stain. Rub it in well with your fingers, then dry it in direct sunlight to fade the rust stain away.
  5. Wash: Once the stain is gone, wash the garment as normal again.

With Baking Soda

Baking soda is useful for removing deodorant stains and food stains. There are many ways to use baking soda in this method, but we’ll show you how to use it as a paste.

  1. Make a paste: Combine a 1:1 solution of water and baking soda. Mix until you have a spreadable paste.
  2. Apply: Apply the paste directly to the stain.
  3. Wait: Leave it on the stain for two to eight hours, depending on the severity of the stain.
  4. Wash: Wash the garment in cold water. If the stain persists, repeat, or try bleach.

With Chalk

If you’re out and about and notice an oily stain, you need something that can remove it without washing. That’s where chalk comes in handy. Keep in mind that it won’t be as effective on dark, non-oily stains, such as black ink.

You can usually pop into a nearby store and grab a pack. If you work in a school, even easier!

  1. Rub: Rub white chalk onto the stain, moving gently but firmly. The chalk will absorb the oil, working to remove the stain.
  2. Dust off: Once you’re near a washing machine, dust the chalk off the garment.
  3. Wash: Wash the garment as normal in cold water.
  4. Check: Check that the stain has been removed before drying. If not, use a different method.

How to Remove Unknown Set Stains From White Clothing

Cleaning stains from white shirts is hard when you don’t know what the stain is. It’s even harder when that stain is set in. It happens to the best of us — sometimes, a white shirt can even pick up a new stain from something else in the wash!

Our top recommendation would be to take the item to a professional cleaning service, like the dry cleaners. They will usually be able to remove the stain, even if they don’t know what it is.

But if you want to try it at home, you can certainly go for it. You might have to follow steps one through 10, but if the first method works for you, don’t continue with the steps that follow.

  • Time: Two hours (plus waiting time).
  • Difficulty: Intermediate.

What You’ll Need

  • Sink or basin.
  • Ammonia.
  • Enzyme laundry detergent.
  • Dish soap.
  • Hydrogen peroxide.
  • Toothbrush.
  • Cloth.
  • Container for mixing.
  • Bleach (optional).

1. Soak the Garment

Soak the white garment in cold water for a couple of hours. This will help loosen the stain and also help the cleaning products work more effectively.

2. Create an Ammonia Mix

We want to start with ammonia as it’s effective on all kinds of stains, even ones that have been dried. So if you have an unknown stain, this is the best starting point.

Mix a 1:8 solution of ammonia and water. Apply it to the stain and let it soak for eight hours.

3. Wash the Garment

Wash the white garment as normal, using cold water. Ensure that the garment is in the machine by itself. You don’t want it to affect the rest of your laundry.

4. Use an Enzyme Laundry Detergent

If the ammonia didn’t work, you next want to try an enzymatic laundry detergent. This is great for removing protein-based stains. If you don’t know what your stain is, there’s a good chance it will fall into this category.

Combine one teaspoon of laundry detergent per cup of water. Pour it over the stain and work it in well with a toothbrush. Let it soak for 15 minutes.

5. Wash the Garment

Wash the garment by itself in a cool cycle with more enzyme laundry detergent.

6. Try Dish Soap

If the stain is still sticking around, try dish soap. Mix one teaspoon of dish soap per cup of water and apply it to the stain. Work it in well with a cloth or toothbrush, then let it soak for 30 minutes.

7. Wash the Garment

Wash the garment as usual, using the laundry detergent of your choice. Ensure the water is cool and there is nothing else in the machine.

8. Try Hydrogen Peroxide

Pour hydrogen peroxide directly onto the stain and rub it in well with a toothbrush. Leave it for 10 minutes.

9. Wash as Normal

Wash the garment as usual, on its own, with cool water.

10. Bleach It

If none of the above has removed the stain, it might be time to whip out the bleach. Follow the packaging instructions for diluting the bleach and how long to soak the item. Then wash the garment as usual. Check the stain is gone before drying.

Extra Stain Removal Tips

Stains are annoying — they’re definitely the bane of the laundry routine! But it becomes easier when you know the ins and outs of stain removal. Here are some extra stain removal hacks to keep in mind:

  • Use cold water: Cold water is best for removing stains. Hot water can set stains, so we want to avoid it. Also, cold water is better for the environment.
  • Be prepared: While you might opt for a laundry stain remover for every stain, that won’t always work. It’s a good idea to have a stain remover, an enzymatic cleaner, and a color corrector (like hydrogen peroxide) in the cupboard. That way, you’re prepared for every stain.
  • Act quickly: The quicker you tackle a stain, the easier it is to remove. Sometimes cold water is enough to remove a new stain. On the other hand, it can take hours to remove a set-in stain.
  • Check before drying: Never dry a garment until you’re 100 percent sure you’ve removed the stain. The heat from the dryer will set the stain in, making it impossible to remove.
  • Blot, don’t rub: When you notice a stain, blot it up. Never rub the stain, as this can work it deeper into the fibers.
  • Test the cleaning solution: If you are worried the cleaning solution might damage the garment, test in an inconspicuous spot first. For instance, test the product on a hidden seam to ensure it doesn’t damage or discolor the garment.


What Causes Yellow Stains On White Clothes?

One of the most annoying types of stains on your white clothes are yellow ones. This can be caused by the following:

  • Deodorant: The aluminum in the deodorant leaves behind a yellow discoloration.
  • Bleach: Bleaching your clothes too often can yellow them.
  • Sweat: This is the most common yellow stain. Our body oils and sweat mix together to leave behind yellow residue, especially around the underarms, cuffs, and collar.
  • Dampness: If you leave your white shirt in a damp laundry basket for too long, it can be yellow.
  • Yellow food: Lastly, yellow food — like turmeric — can cause yellow stains.

What Stains Clothes Permanently?

When learning how to get stains out of a white shirt, there are some things you need to avoid. The following can set stains permanently:

  • Heat: The number one culprit for embedding stains forever is heat. Whether that’s hot water or heat from the dryer, avoid it until the stain is gone.
  • Rubbing: Blot, don’t rub! Rubbing at a stain can embed it into the fibers. Forever.
  • Mixing products: While we recommend mixing certain products (such as hydrogen peroxide and baking soda), you must be careful. Mixing the wrong products can create new stains — but it can also be deadly.
  • Using stain removers on the wrong products: Certain stain removers cannot be used on certain fabrics. For instance, don’t use enzyme-based products or bleach on silk and wool. This will set stains and create new ones.

What is the Best Stain Remover for Set-In Stains?

It depends on the type of stain. If you aren’t sure what it is, ammonia can work wonders. If that doesn’t work, follow up with an enzyme-based cleaner.

In general, Oxi-Clean (a type of oxygen bleach) is absolutely magic at removing set-in stains from various sources. This includes coffee, wine, and chocolate.

How Does Baking Soda Remove Stains From White Clothes?

Are you curious about the science behind baking soda? It works because it is a mild alkali (1). It has the power to break down dirt and grease, absorbing it from the garment into baking soda powder.

It’s also slightly abrasive, which can help to physically scrub the stain out of the garment. Another reason it works so well is because the alkali interacts with the acid in certain stains, helping to eliminate them.

Can You Remove Red Wine Stains With White Wine?

There’s a lot of hype around white wine removing red wine stains. But the thing is — it won’t remove it. The white wine will simply dilute the stain, like water, making it less noticeable.

However, white wine can add a new stain that can be just as challenging to remove. So we don’t personally recommend this tip.

Bringing White Back

White garments should last a long time. With the proper care and knowledge for removing stains, you can keep your white garments bright and clean.

Now that you know how to remove stains from a white shirt, remember the most important advice. Be able to identify the stain, act fast, use the corresponding cleaner, and don’t use heat.

Following this advice, you should be able to revive any white garment and look as stylish as ever.

Feedback: Was This Article Helpful?
Thank You For Your Feedback!
Thank You For Your Feedback!
What Did You Like?
What Went Wrong?
Headshot of Beth McCallum

About the Author

Beth McCallum

Beth McCallum is a freelance writer & book blogger with a degree in creative writing, journalism, and English literature. Beth firmly believes that a tidy house is a tidy mind. She is always looking for new ways to sustainably clean and tidy her house, that's kind on the environment but effective in the house, too!