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 Concrete Surfaces: 8 Methods

A concrete drive is the first impression of your home — let’s keep it stain-free.

Concrete is a durable material — but it’s porous and absorbent. Therefore, it can easily become a victim of all kinds of stains.

If you have a scuffed-up concrete floor, we can help. We’ll show you how to remove stains from concrete, including water-based, oil, paint, and rust stains. We’ll also share the best products for removing these stains.

You don’t want to be left in the dark when cleaning concrete floors. So we’ll offer you everything you need to know about removing stains and brightening up your concrete once again.

Key Takeaways

  • Remove oil-based stains by applying kitty litter, scrubbing, and using a commercial cleaner or trisodium phosphate solution.
  • For paint stains, use trisodium phosphate solution, chemical paint stripper, or scouring powder with scrubbing and rinsing.
  • Eliminate rust stains with undiluted distilled white vinegar, scrubbing, and rinsing or using a commercial rust stain remover.
  • Address pet stains by scraping away residue, applying a mixture of dish soap, baking soda, and water, scrubbing, rinsing, and using an oxygenated enzyme pet stain cleaner if needed.

Do Stains Come Out of Concrete?

Because concrete is absorbent, stains can settle in the material and harden. This makes it extremely difficult to remove the stains. If the concrete floor is unsealed and the stain is old, it might be impossible to remove it entirely.

However, you can eradicate fresh stains on unsealed concrete. And, if the concrete is sealed, we can also get the stains out.

On that note — let’s quickly discuss the differences between sealed and unsealed concrete.

Sealed concrete, mostly found indoors, has a protective layer to prevent damage, stains, and moisture from settling in. These floors are much easier to clean. They can be sealed by an acrylic, urethane, epoxy, or silicate sealant.

Unsealed concrete is concrete that is poured and set. This raw concrete has no additives or protective coating. Since it’s in its pure form, it’s more absorbent and more susceptible to dirt and stains.

What to Use to Remove Stains From Concrete

There’s no one best way to remove stains from concrete, but you must use an effective cleaner. You can opt for commercial concrete stain removers — or you can use a home remedy. We’ll walk you through both options.

Concrete Stain Removers

We have some recommendations to choose from if you opt for a commercial product. These are based on real customer reviews and expert advice.

  • RustAid Rust Stain Remover: Rust is a common concrete stain, and this commercial product is designed specifically to remove them. To use, simply spray onto the surface and rinse off — no scrubbing necessary. It also works on wood, fiberglass, vinyl, stucco, and more.
  • Goof-Off Concrete Cleaner: This is a heavy-duty cleaner that has the power to clean through grease, oil, and dirt. If you have stubborn stains deep into the concrete’s pores, this can help since it penetrates deep enough to contact oil-based stains.
  • RMR Brands Pro Instant Mold and Mildew: Mold and mildew can be tough to remove, but not with this powerful formula. This product penetrates deep into concrete to remove odors, mold, mildew, and stains. It also works on wood, drywall, tile, grout, vinyl, and more.
  • Chomp! Concrete Oil Stain Remover: This is the product to try if you have oil or petroleum-based stains. This bleach- and acid-free formula is easy to use, penetrating deep into the concrete’s porous nature to remove stubborn stains.
  • Singerman Laboratories Rust Remover: Here’s another rust remover to consider. Customers love how powerful and effective it is — you can expect your concrete to look brand new. It’s easy to use, there’s no scrubbing involved, and it’s safe for grass and vegetation.
  • Simple Green Concrete and Driveway Cleaner: If you’ll be cleaning your concrete with a pressure washer, here’s a great detergent to consider. It can remove stains from oil, grease, rust, tire tracks, and more. One thing we love about it is that it’s made without harsh chemicals.
  • Oil Eater Cleaner Degreaser: This versatile and general concrete cleaner can remove almost any type of stain, including stubborn ones. It’s excellent at dissolving grease, oil, and dirt especially. Plus, the formula is biodegradable and made without harsh solvents.
  • Trisodium Phosphate: Trisodium phosphate (TSP) is a harsh chemical, but it’s very effective at removing stains. We recommend it for oil-based stains and paint stains.

Home Remedy Stain Removers

If you don’t have time to run to the store or order something online — or you just want to try something more natural — we can help. There are many DIY recipes for concrete stain removers. We’ll share our favorites.

  • Distilled white vinegar: The natural acid of distilled white vinegar can clean rust stains. However, it might struggle with removing old or expansive rust stains.
  • Dish soap: You can use regular dish soap to remove mud, foliage, and pet stains. Simply dilute it with warm water and spray the area. Wait for 10 minutes before scrubbing. You can add baking soda for extra power.
  • Kitty litter: When you have a fresh oil stain, you can pour kitty litter over it to absorb as much as possible. After waiting for one to eight hours, sweep it up, and you might notice the stain is gone completely.
  • Laundry detergent: Liquid or powder laundry detergent works wonderfully to clean up food and grease stains. If you’ve spilled some barbecue grease on your concrete driveway, laundry detergent can eliminate it quickly.

Test It First

Whatever cleaner you use to remove stains from concrete, always test it first. Apply your chosen cleaner in an inconspicuous spot and make sure it doesn’t bleach or discolor the concrete. If it does, try a different product.

How to Remove Stains From Concrete

Depending on the type of stain, you must take a specific approach. We’ll break down how to remove some common stains from concrete, including oil, grass, pet stains, and more.

Water-Based Stains

Water-based products can leave behind a stain on concrete surfaces. If the stain is fresh, you can blot it with a dry towel, leaving no trace behind. However, if the stain has dried, you’ll have to try a different method.

When you’ve spilled a water-based product, here’s how to get the stains out of concrete:

  1. Blot with hydrogen peroxide: Dampen a white cloth with three percent hydrogen peroxide. Blot the stain, then leave it over the stain. Leave the cloth over the stain and place a heavy object on top of the cloth for 10 minutes.
  2. Rinse: Rinse the area well with water.
  3. Repeat: Repeat the above two steps until the stain has been removed.
  4. Apply white vinegar: If the above method hasn’t worked, apply undiluted white vinegar to the area and let it soak for 20 minutes.
  5. Brush: Apply another layer of white vinegar and scrub using a stiff-bristled brush for a couple of minutes.
  6. Rinse and dry: Rinse the area with fresh cold water and blot it dry with a cloth or towel.
  7. Reseal if necessary: If the sealed concrete has a different texture and feels more porous, you may need to reseal the area.

Oil Stains

You can remove oil stains using a commercial product, like Goof Off, or a home remedy, such as kitty litter. We’ll share how to incorporate both options into removing the stain.

  1. Apply kitty litter: As soon as possible, apply kitty litter to the entire stain. Work it in using a stiff-bristled brush.
  2. Wait: Leave the kitty litter on the stain for up to eight hours before sweeping it away. The stain may be gone.
  3. Apply cleaner: If the stain remains, apply your chosen commercial cleaner or diluted TSP. Read the packaging directions carefully, as each cleaner differs slightly.
  4. Rinse: Rinse the area well.
  5. Dry: Blot dry with a towel or let the area air dry.

Paint Stains

When sprucing up your house, you’ll inevitably spill paint somewhere (if you’re clumsy like us)! But how do you remove paint stains from concrete? Here’s how:

  1. For minor stains: Mix one cup of TSP per gallon of hot water. Pour the solution over the stain and scrub with a stiff-bristled brush. Rinse it away with your garden hose.
  2. For larger stains: You will need a chemical paint stripper.
  3. Mix paint stripper: Mix the paint stripper with baby powder to create a thick paste.
  4. Apply: Apply the paste over the paint spill using a brush or sponge.
  5. Wait: Leave the paste on the paint for 20 minutes.
  6. Scrape: Scrape up the loosened paint using a plastic paint scraper.
  7. Repeat: If a stain remains, repeat steps four to six until the stain has mostly lifted.
  8. Sprinkle: Sprinkle a scouring powder — such as Bar Keeper’s Friend — over the stain.
  9. Scrub: Scrub vigorously with a stiff-bristled brush and water.
  10. Rinse: Rinse the area with a garden hose.


TSP and chemical paint strippers are unsafe to breathe in and can cause skin irritation. You must wear eye protection, gloves, and a dust mask to stay safe.

Rust Stains

You can remove rust stains by following the instructions on any rust stain remover, such as RustAid, Singerman Laboratories, or Simple Green. But we’ll share how to remove rust the DIY way.

  1. Pour vinegar: Pour undiluted distilled white vinegar directly onto the rust stain.
  2. Wait: Wait for 10 to 20 minutes to let the vinegar soak into the rust.
  3. Scrub: Scrub the stain with a stiff-bristled nylon brush for a couple of minutes.
  4. Rinse: Rinse the area with a garden hose. Repeat if necessary.

Grass and Leaf Stains

Organic matter, like grass and leaves, can leave behind stubborn stains. One of the best ways to remove these stains from concrete is by using a laundry detergent designed to remove such stains. For instance, OxiClean is an effective choice.

  1. Clean away debris: Use a pressure washer or garden hose to blast away all debris from the concrete. It will be much easier to clean if we’re just dealing with the stains rather than the dirt itself.
  2. Apply detergent: Dilute ¼ cup of your chosen detergent per gallon of warm water. Dip a mop into the bucket and apply it evenly to the stains.
  3. Wait: Leave the solution on the concrete for about 10 minutes.
  4. Scrub: Scrub the detergent into the concrete using a stiff broom or stiff-bristled brush. This might take around 10 to 15 minutes, depending on how large the area is. Apply more water if the detergent starts to dry.
  5. Rinse: Once you notice the stains have lifted, rinse the area with water. If the stains persist, repeat the above steps.

Wood Stain

Whether you spilled wood stain or your neighbor sprayed some while sprucing up their fence, there is a way to remove it.

  1. Absorb the stain: For fresh wood stain marks, you can absorb most of it by laying down kitty litter or fine salt. Sprinkle it generously over the stain to cover it completely. Let it sit for 24 hours.
  2. Sweep: Sweep or vacuum the excess. If vacuuming, use a shop vac, not a regular vacuum. Kitty litter can be sharp and damage a regular vacuum’s hose and filter; plus it contains quite a bit of dust that can clog the filter.
  3. Protect yourself: If the stain persists, you will need to use muriatic acid to remove it. Since this is a harmful acid, wear old clothes, protective gloves, eyewear, and a respiratory mask.
  4. Dilute acid: Dilute the acid using a 1:20 part ratio with water.
  5. Apply the mixture: Apply the mixture to the stain using a scrubbing brush or broom.
  6. Rinse or pressure wash: Use a pressure washer or garden hose to rinse the area. Pressure washers will be more effective on outdoor concrete.
  7. Apply epoxy: If your concrete was sealed, the seal might be broken now. You will need to apply an epoxy coating if you want to reseal it and avoid future stains.

Something To Note

Surrounding plants and vegetation will die since muriatic acid is toxic to them. Cover the area with a protective tarp if you want to keep plants alive.

Pet Stains

When your fur baby does its business on your concrete floors, sidewalk, patio, driveway, or even balcony, it can leave a stain if not dealt with quickly. Always try to pick up their poop right away or rinse away urine. However, if there is a stain, here’s how to deal with it:

  1. Scrape away the excess: Use a metal shover or pooper scooper to scrape away residue.
  2. Prepare cleaner: Mix ⅛ cup of dish soap, ½ cup of baking soda, and one gallon of water. Stir to combine.
  3. Apply: Pour the cleaner over the stain.
  4. Scrub: Scrub the stain with a nylon scrubbing brush, continuing until the stain has lifted.
  5. Rinse: Rinse the area well with a garden hose or pressure washer.
  6. Remove odors: If odors remain, use an oxygenated enzyme pet stain cleaner such as Rocco & Roxie. Follow manufacturer instructions to use the product.

Mold and Mildew

To kill mold and mildew, we recommend using a specific mold cleaner — like RMR Brands Pro Instant — or bleach. If you decide on bleach, mix one cup of bleach per gallon of water. Remember that bleach can discolor concrete, so always test in an inconspicuous spot first.

  1. Dampen the concrete: Start by cleaning as much mold and mildew off with water. If you’re outside, use a garden hose or pressure washer. If the concrete is indoors, scrub the area with a sponge and scraper.
  2. Apply laundry detergent (optional): If using bleach, you will need to apply laundry detergent first, as this penetrates the concrete more effectively. Mix one cup of laundry detergent per gallon of water and apply it to the stain using a sponge or brush.
  3. Scrub: Scrub the laundry detergent into the concrete using a scrubbing brush. Rinse well.
  4. Apply cleaner: Whether you’re applying bleach or a specific mold cleaner, now is the time. Make sure to follow the packaging instructions for the best application and dilution method. If using bleach, let it soak on the area for 15 minutes.
  5. Rinse: Rinse the area well with a power washer, garden hose, or sponge.

How to Get Stubborn Stains Out of Concrete

The best way to remove stubborn stains is with trisodium phosphate. This inorganic compound is great at cleaning, removing stains, and degreasing. If you’re left with dark, black stains — this can help.

To use, mix one cup of TSP per gallon of hot water. Pour it directly over the stain and leave it to soak for 30 minutes.

Scrub the area with a stiff-bristled brush before hosing it off. Repeat if necessary.

How to Clean a Concrete Floor With a Pressure Washer

A pressure washer is handy if you have a concrete driveway, garage, or paving. Regularly pressure washing concrete can combat dirt, stains, and marks.

Keep in mind that there are different nozzles for a pressure washer. The two we will be using here are red and yellow.

A red nozzle is zero-degrees which is the most powerful, shooting out a powerful force of water. It’s best for stubborn stains and dirt on durable concrete.

The yellow nozzle — 15 degrees — creates a wider spray. It’s good for preparing a surface for painting and resealing, as well as removing tough stains from concrete.

  • Time: 30 to 60 minutes.
  • Difficulty: Intermediate.

What You’ll Need

  • Pressure washer with at least 3000 PSI.
  • Red or yellow pressure washer nozzle.
  • Protective clothing.
  • Degreaser or concrete cleaner.
  • Concrete sealer (optional).

1. Protect Yourself

Wear protective clothing, like sturdy pants, a jacket, gloves, and glasses. Using the red nozzle can be quite dangerous, so protective clothing is essential.

2. Add Degreaser

If you decide to use a degreaser or concrete cleaner, add it to your pressure washer now.

3. Pressure Wash

Holding the nozzle 12 inches from the surface, start at the top of the concrete and work your way down. This prevents dirty water from running over clean areas of the concrete. Move-in steady, sweeping movements, going back and forth.

Continue until you’ve washed all of the concrete.

4. Reseal (Optional)

While pressure washing is best for unsealed concrete, you can pressure wash sealed concrete. If you want it to remain sealed, you will need to reseal it after pressure washing. Check the manufacturer’s instructions on your chosen sealant to do so.

How to Prevent Concrete From Staining

Staining on concrete is normal, and you can remove it, but what if it didn’t have to exist in the first place?

Using a concrete sealer or a concrete coating, you can protect your concrete from stains.

Concrete sealers are penetrating products containing fluro polymers that prevent oils and greases from staining. You’ll find acrylic, urethane, epoxy, and silicate sealers. They prevent spills from entering the concrete’s absorbent pores, making messes much easier to clean. However, you still need to clean up spills as soon as possible to prevent permanent stains.

Concrete coating acts as a layer to prevent fluids from penetrating the concrete’s surface at all. This is the best option for concrete that is exposed to chemicals, petroleum, spills, abrasions, and more. You can leave spills on the concrete for a longer time before you need to clean them.


Can You Damage Concrete By Power Washing?

A pressure washer can damage any material — the force is so strong. So, if you hold the pressure washer too close and use too fierce a setting, you can damage concrete. Pressure washers can cause cracks, leave holes, and strip the sealant.

Follow our pressure washing instructions carefully, never holding the pressure washer in place for too long to avoid damage.

Does Coca-Cola Remove Oil Stains From Concrete?

Coca-Cola is a powerful beverage that can actually remove grease and oil stains from concrete!

Since it contains citric acid, it can break down such substances, leaving you with a clean floor. You may need to follow it up with another method, but if you have some on hand — why not give it a go?

Will Straight Vinegar Harm Concrete?

Undiluted distilled white vinegar can effectively remove rust and water-based stains, but don’t overuse it, as it might dull down the polish on your concrete.

Why does this happen? The acid in the vinegar can degrade the cement that bonds concrete together (1). Plus, concrete is alkaline, so the acid can break it down over time.

White vinegar is pretty low in acid compared to sulfuric acid or hydrochloric acid, so it’s safe to use it as necessary. But if you leave the vinegar on too long or use it very often, you might start to see the concrete degrade.

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!