Stain Removal Guide for Concrete
Surface type: porous stone
Always test on a hidden area first. Never mix cleaning chemicals — bleach and ammonia, or bleach and acids (including many bathroom/vinegar-based cleaners), release toxic gas. Follow the product label on every cleaner you use.
Before you start
- Never use vinegar, muriatic acid, or other acid cleaners on sealed, decorative, or stamped concrete — the acid etches the surface and can permanently dull or discolor the finish.
- Skip the pressure washer as a first response to a fresh oil stain; high-pressure water drives the oil deeper into the slab's pores instead of lifting it.
- Never mix bleach with ammonia-based cleaners or other acids when treating biological stains on a garage or patio floor — the combination releases toxic gas in an enclosed garage especially fast.
Concrete is a cured mixture of portland cement, sand, and aggregate, and the cement paste that binds it all together is highly alkaline — freshly poured concrete can sit above pH 12, and even old, weathered slabs stay noticeably alkaline compared to almost anything else on this site. That alkalinity is part of why acid-based cleaners are such a bad match: an acid doesn't just fail to clean concrete, it actively reacts with the cement paste itself, etching the surface and, on decorative or stamped concrete, dulling or discoloring the finish permanently.
Unsealed concrete is also genuinely porous at a microscopic level — the cured paste is full of capillary pores that liquids can wick into given enough time, which is why a garage floor with an old oil stain often looks stained no matter how hard you scrub the surface: the oil isn't sitting on top anymore, it's inside the slab. Sealed concrete (epoxy coatings, acrylic sealers, densifiers) closes most of that capillary structure and behaves much more like a hard nonporous surface, so how a given concrete surface responds to a spill depends heavily on whether it's been sealed and how recently.
What damages Concrete
- acid etching on decorative/sealed concrete
- prolonged staining once it penetrates the pores
General Approach on Concrete
For anything oil-based — motor oil, grease, cooking oil dropped on a garage floor — absorb before you scrub. Covering a fresh spill with cat litter, sawdust, or cornstarch and letting it sit for several hours (overnight for anything sizeable) pulls a large share of the oil up out of the surface before it has time to wick deeper into the pores, and scrubbing or pressure-washing first does the opposite: it drives the oil further into the slab.
Once the bulk of an oil-based stain is absorbed, a concrete-safe degreaser and a stiff bristle brush handle what's left; biological stains (mold, urine, bird droppings) generally respond well to diluted bleach or an enzyme cleaner instead, since bleach does very little against oil chemistry. For a stain that's already old and set into unsealed concrete, a poultice — an absorbent powder mixed with a solvent appropriate to the stain, spread over the mark, covered in plastic, and left for 24-48 hours — draws the stain back out of the pores as the solvent evaporates, which plain surface cleaning can't do once a stain has migrated below the surface.
Quick Reference for Concrete
- Cat litter or cornstarch on a fresh oil spill, left overnight, absorbs far more than an immediate scrub-and-rinse.
- Oxalic-acid rust removers are safe on bare concrete — a rare case where an acid cleaner is fine here, unlike on marble or granite.
- Bleach handles organic and biological stains but does nothing for oil or grease — match the cleaner to the stain type, not just "strong cleaner."
- Sealed, coated garage floors (epoxy, acrylic) resist staining much better than bare gray concrete — resealing periodically is cheaper than fighting set-in stains later.
The Most Common Mistake on Concrete
The most common mistake is reaching for a pressure washer or a hard scrub brush as the first move on a fresh oil or grease spill. High-pressure water and aggressive scrubbing push the liquid sideways and downward into the slab's capillary pores faster than it would spread on its own, turning what could have been a mostly-absorbable surface spill into a stain that's genuinely inside the concrete and needs a multi-day poultice treatment to fully pull back out.
When to Call a Professional
Large driveway or garage-floor stains that have been there for months or years, decorative and stamped concrete where an aggressive cleaner risks the color or texture, and any stain on structural or load-bearing concrete are all reasonable to hand to a concrete restoration or pressure-washing professional. For a fresh spill caught the same day, absorbing and degreasing at home is usually enough and rarely needs outside help.
Common Stains on This Surface
Blood
Urine
Pet Urine
Vomit
Feces
Mold & Mildew
Mud
Dirt & Dust
Rust
Motor Oil
Mechanical Grease
Tar & Asphalt
Bird Droppings
Where Concrete Stains Usually Happen
Frequently Asked Questions
- Why won't scrubbing get an old oil stain out of my garage floor?
- Once oil has had time to wick into unsealed concrete's capillary pores, it's no longer sitting on the surface where a brush can reach it. A poultice — an absorbent powder soaked in an appropriate solvent, applied thickly and left covered for a day or two — draws the oil back out as the solvent evaporates, which surface scrubbing alone can't do.
- Is bleach safe to use on a concrete driveway?
- Yes, in the sense that it won't etch or damage plain concrete the way an acid cleaner would, and it's effective against mold, mildew, and biological staining. It does very little against oil or grease stains, though, so match diluted bleach to organic/biological marks and a degreaser to oil-based ones.
- Does sealing concrete actually prevent staining?
- Yes, meaningfully — a sealer closes off the microscopic pores that let liquids wick into bare concrete, so a sealed floor behaves more like a hard nonporous countertop, where spills sit on top and wipe away, than like a sponge. Sealers wear down with foot and vehicle traffic and need periodic reapplication to keep that protection.
- Can I use rust remover on my concrete patio?
- Yes — oxalic-acid based rust removers, the same category used on many hard surfaces, work on bare concrete without the etching risk that acid poses on marble or limestone, since concrete's cement paste isn't calcium carbonate. Always rinse the treated area thoroughly afterward since residual acid can still affect nearby plantings or metal.