Applying garage floor epoxy comes down to three phases: prove the slab can hold a coating (moisture and sealer tests), give the epoxy something to grip (degrease, repair, grind or etch, vacuum), and apply it inside the product's time and temperature windows. The rolling everyone pictures is the part least likely to cause a failure.
Almost every peeling epoxy floor traces back to something that happened before the first bucket was opened — an oil-soaked slab, a hidden sealer, a damp floor, or concrete that was never profiled. Here is each step in order, with the numbers that matter.
Tools and Materials
Gather everything before coating day. Two-part epoxy runs on a clock once mixed, and a trip to the store for a forgotten roller cover can cost you a batch.
| Stage | What you need |
|---|---|
| Tests | 2 ft × 2 ft plastic sheet, duct tape, spray bottle of water, infrared thermometer |
| Cleaning | Concentrated degreaser, stiff deck brush, hose or pressure washer, squeegee |
| Repair | Angle grinder with crack-chasing wheel, epoxy or polyurea crack filler, putty knife, epoxy patching mortar |
| Profiling | Rented floor grinder with dust shroud and 25–30 grit diamonds, or etching solution and neutralizer |
| Dust control | Shop vacuum with fine-dust filter, P100 or N95 respirator, leaf blower (optional) |
| Mixing | Drill with low-speed setting, paddle mixer, two clean buckets, timer, painter's tape, marker |
| Application | 3-inch brush, 9- or 18-inch roller frame, 3/8-inch nap shed-resistant covers, extension pole, roller tray or bucket |
| Flake / walking | Spiked shoes, flake (if using), floor scraper, wet-mil gauge |
| Protection | Nitrile gloves, safety glasses, knee pads, disposable coveralls |
Buy coating for the coverage rate on the technical data sheet, not the optimistic number on the box, and add 10–15% because porous concrete drinks the first coat. Our guide to the best garage floor epoxy compares solids content and coverage, and the epoxy garage floor cost breakdown shows what a full DIY system costs with tools and prep.
Step 1: Test the Slab for Moisture
Epoxy forms an impermeable film. Water vapor moving up through the slab gets trapped beneath it, pressure builds, and the coating lifts — often in sheets, often within the first year. No amount of careful rolling prevents it, so this comes first.
The plastic sheet test: tape a two-foot square of clear plastic tightly to the bare concrete, all four edges sealed, in several spots — near the door, the middle and the back wall. Leave it 24–48 hours. Condensation under the plastic or a darker patch of concrete means moisture is coming through; dry plastic and uniform concrete is a pass.
For a number rather than a yes/no, a calcium chloride kit measures vapor emission; many standard epoxies cap it around 3 pounds per 1,000 square feet per 24 hours. Check the data sheet for your product.
If the slab fails, use a moisture-tolerant epoxy primer, a breathable acrylic concrete floor paint, or a floating floor such as interlocking tiles — not ordinary epoxy and hope.
Step 2: Check for an Old Sealer
Many slabs were sealed at some point, often with a "cure and seal" product when poured. Epoxy will not bond reliably to a sealer, and acid etching will not remove one, so you need to know before choosing a prep method.
The water-drop test: spray water on the floor in several places. Bare, porous concrete darkens and absorbs it within a minute or so. If the water beads, sits on top, or takes much longer to darken the concrete, something — a sealer or ground-in contamination — is sealing the surface.
Test the perimeter carefully: traffic lanes may have worn through an old sealer that the protected edges still carry. If any area fails, plan on grinding rather than etching. A slab with old paint or coating needs grinding regardless.
Step 3: Degrease
Any garage that has housed a car has oil, brake fluid and tire residue in the top of the slab. Circles of peeling coating exactly where the engine sat are a degreasing failure.
- Clear the garage completely. Everything stays out until the floor cures. Tape off the bottom of the walls and the door weatherstrip.
- Sweep and scrape off debris, paint drips and adhesive.
- Scrub in a concentrated citrus or alkaline degreaser at the label dilution with a stiff deck brush; give heavy stains a second pass.
- Rinse thoroughly and squeegee the water out. Leftover degreaser is itself a bond breaker.
Degrease before grinding, not after: a grinder smears surface oil into fresh pores and clogs the diamonds. If water still beads on an old stain after two passes, grind that area deeper. A poultice or enzyme cleaner can help lift deep, old stains.
Step 4: Repair Cracks and Spalls
Epoxy does not hide damage — its gloss makes every crack and pit more visible. Repairs go in before profiling so the grinder can flatten them flush.
Hairline cracks are usually bridged by a thick base coat, particularly under flake.
Wider cracks should be opened with a crack-chasing wheel on an angle grinder so the filler has a clean channel to bond to, vacuumed, slightly overfilled with rigid epoxy or polyurea crack filler, then ground flush once hard.
Spalls and pits, often from road salt and freeze-thaw, need loose material chipped back to sound concrete, then an epoxy patching mortar feathered level.
Control joints (the saw-cut grooves) exist to let the slab move. Fill them for a seamless look and a crack may reappear along the line; most installers coat over them and leave the groove. A crack with one side higher than the other is a structural issue to address before any coating.
Step 5: Grind or Etch the Surface
Troweled concrete is too smooth and often topped with weak laitance. Epoxy needs an open surface roughly like 80–120 grit sandpaper — a concrete surface profile (CSP) of 2 to 3.
Diamond grinding is the reliable method. A rented walk-behind grinder with 25–30 grit metal-bond diamonds removes the top of the slab, opens the pores, and cuts through sealers, old coatings and much of the remaining contamination. Connect the dust shroud to a shop vacuum and work in overlapping passes; an angle grinder with a shrouded diamond cup wheel does the edges. Plan on most of a day for a two-car garage.
Acid etching is cheaper and what many big-box kits assume. The solution is scrubbed into the wet slab until it stops fizzing, then neutralized and rinsed repeatedly. It works only on clean, bare, porous concrete, does nothing to a sealer, and leaves the floor wet for a day or more. Rinse poorly and residual salts sit under the coating.
If the slab passed the water-drop test and has never been coated, etching can work; otherwise grind. The full trade-offs are in acid etching vs grinding a garage floor.
| Factor | Diamond grinding | Acid etching |
|---|---|---|
| Removes sealer or old coating | Yes | No |
| Removes embedded contamination | Largely | Very little |
| Floor dry for coating | Immediately (after vacuuming) | After 24+ hours of drying |
| Cost for 2-car garage | $80–$150 rental plus diamonds and vacuum | Under $50 |
Check the result: the floor should feel uniformly like medium sandpaper with no shiny patches, and water should darken every area quickly.
Step 6: Vacuum and Clean
Grinding leaves fine dust in every pore, and epoxy rolled over it sticks to the dust, not the slab.
Vacuum slowly with a shop vac fitted with a fine-dust or HEPA-rated filter, overlapping passes and concentrating on edges, joints and cracks. A standard filter clogs or blows fine dust out of the exhaust; our best shop vac for garage guide covers models that handle grinding dust.
Then vacuum again. Wipe a dark cloth across the floor; if it comes up grey, keep going. If the manufacturer specifies a solvent wipe, do it now. Close the garage door and keep foot traffic off the floor until coating.
Step 7: Wait for the Right Conditions
Epoxy cures by chemical reaction, and temperature sets its speed: too cold and it stays tacky, too hot and it sets in the bucket. Follow the data sheet, but these ranges are typical:
| Condition | Typical target | Why it matters |
|---|---|---|
| Slab temperature | 55–85°F (many products allow 50–90°F) | The slab, not the air, controls cure; measure it with an infrared thermometer |
| Air temperature | Same range, held for at least 24 hours after coating | A cold night after application stalls the cure |
| Dew point margin | Slab at least 5°F above dew point | Condensation on the slab causes cloudy patches and poor adhesion |
| Relative humidity | Below about 85%, lower is better | High humidity promotes amine blush, a greasy surface film |
| Temperature trend | Steady or falling | A warming slab pushes air out of pores, causing bubbles and pinholes |
That last line is the one people miss. As concrete warms, air in its pores expands and escapes — outgassing — leaving bubbles and pinholes in the wet coating. Apply in the afternoon or early evening, when the slab is about to cool, not on a morning when sun will heat it.
Spring and fall are usually best. Do not warm a cold garage with a fuel-burning heater — combustion adds moisture and carbon dioxide that cause blush, and it is a fire risk around solvent vapors. Ventilate with a fan exhausting outward at the far end, never blowing across the wet surface.
Step 8: Mix in Batches
Once resin (Part A) and hardener (Part B) are combined, the reaction cannot be stopped. Two numbers on the label govern everything.
Induction time (sweat-in) is a wait some epoxies require after mixing — commonly 15–30 minutes for many water-based and solvent-based kits — so the components react properly. Skip it and you risk soft spots. Many 100% solids epoxies have none and must go down immediately.
Pot life is how long the mix stays workable: up to a couple of hours for some water-based kits at 70°F, 20–40 minutes for high-solids epoxy, less for polyaspartic. Each 18°F rise roughly halves it, and it includes the induction time.
So work in batches:
- Divide the floor into sections sized to one batch, marked with tape on the wall.
- Mix full units of A and B in the exact label ratio. Split a kit only if you can measure both parts precisely; a wrong ratio never fully hardens.
- Mix at low speed with a paddle for the specified time, usually two to three minutes, scraping sides and bottom. High speed whips in air.
- Box it: pour into a second clean bucket and mix briefly again, so unmixed material on the first bucket's walls does not end up as tacky spots.
- Mark the time on the bucket, wait any induction period, then get it onto the floor.
Pour fast products onto the floor in a ribbon promptly. Mixed epoxy massed in a bucket heats itself and can set within minutes, while the same product spread on a cool slab stays workable much longer. A helper mixing the next batch keeps fresh material arriving at the wet edge.
Step 9: Cut In the Edges
Rollers cannot reach into the wall-floor corner, around drains or along the threshold, so those are brushed first. Cut in one section ahead of the roller, not the whole garage at once.
With a 3-inch brush, lay a 4–6 inch band along the walls of the section you are about to roll, then roll that section immediately so the field merges into a still-wet edge. Cut the whole perimeter first and the far corners will be setting by the time you reach them, leaving lap lines and ridges.
Step 10: Roll the Base Coat
Start at the back wall and work toward the door so you never cross wet coating.
- Pour a ribbon of mixed epoxy across the section, a few inches from the wet edge of the last section.
- Spread it with a 3/8-inch nap roller on a pole in a W pattern over roughly 4 × 6 feet.
- Even it out with overlapping strokes. Do not starve the roller to stretch coverage; a thin film wears through early.
- Lay it off with light parallel strokes in one direction, overlapping the previous wet edge.
- Check thickness with a wet-mil gauge, or track the area each batch actually covers against the label.
Keep a wet edge throughout; stop for a break mid-floor and the join will show forever.
Look across the floor at a low angle toward a light as you go; thin patches and missed spots show at an angle when they are invisible from above. Swap roller covers as soon as one sheds fibers or gets heavy with partly cured material.
Step 11: Broadcast the Flake
Vinyl flake is optional but useful: it hides dust and minor imperfections, evens out the look, and adds traction. Broadcast each section within about 10–15 minutes of rolling it, before the surface skins over.
Throw it up and out so it falls like snow, not straight down in clumps. Wear spiked shoes to step into the wet coating and keep the coverage even — filling sparse patches later rarely blends.
Light broadcast, a random scatter, is what most kits include. Full broadcast means throwing flake until the coating can absorb no more and the base disappears — the professional look, but it takes several boxes for a two-car garage.
After a full broadcast cures, scrape off standing flake edges with a floor scraper and vacuum the loose flake, or the topcoat will feel sharp underfoot.
Step 12: Second Coat and Topcoat
Durable systems finish with a clear topcoat, often polyaspartic or polyurethane, which takes the abrasion, resists hot-tire pickup and holds gloss far better than bare epoxy. Our comparison of garage floor coatings explains the chemistries.
Timing is critical. The recoat window is the period in which the next coat bonds chemically to the one below — for many epoxies it opens once the base takes foot traffic (often 8–12 hours) and closes around 24–48 hours, depending on product and temperature. Miss it and the base must be screened with a 100–120 grit abrasive and vacuumed before topcoating.
After a cool or humid night, check for amine blush — a waxy or greasy film that stops the topcoat bonding. Wash it off with warm water and a scrub pad, rinse, and let the floor dry.
Apply the topcoat the same way as the base, but polyaspartic pot life is often only 15–30 minutes, so mix small batches.
Step 13: Let It Cure Before Driving
A floor that feels hard is not cured. Epoxy reaches handling strength long before full chemical resistance.
| Milestone | Typical epoxy at ~70°F | Polyaspartic topcoat |
|---|---|---|
| Light foot traffic | 12–24 hours | 2–6 hours |
| Heavier foot traffic, moving items back in | 48–72 hours | 12–24 hours |
| Parking a vehicle | 5–7 days | 24–48 hours |
| Full chemical resistance | About 7 days | About 7 days |
Cold stretches every number: below about 60°F a five-day floor may need ten. Drive on it early and warm tires soften the film and lift it — hot-tire pickup. Wipe up spills promptly in the first week. Our guide to how long garage floor epoxy takes to cure covers cold-weather timing in detail.
Common Mistakes
- Skipping the moisture test. A damp slab pushes off any impermeable coating, however well it was rolled.
- Etching a sealed floor. Acid does not cut through sealers. If water beads anywhere, grind.
- Degreasing after grinding, or not at all. Leftover oil shows up as peeling circles exactly where the car sat.
- Leaving dust in the pores. If a dark cloth picks up grey, the epoxy will bond to dust instead of concrete.
- Cutting in the whole perimeter first. By the time it is brushed, the bucket is hot and the edges are setting. Cut in one section ahead of the roller.
- Coating a warming slab. Morning starts on a slab about to heat up produce outgassing bubbles and pinholes.
- Spreading too thin. Stretching a kit past its rated coverage leaves a film that wears through in the traffic lanes within a couple of years.
- Missing the recoat window. A topcoat over a fully hardened, unsanded base can peel off in sheets.
- Driving on it too soon. Hot-tire pickup on day three ruins a floor that was otherwise done right.
And match the product to the space: epoxy ambers under UV, so a garage with the door open to direct sun needs a UV-stable topcoat, and a slab that will not pass a moisture test is better served by interlocking garage floor tiles, which avoid the bonding problem entirely.
Frequently Asked Questions
Run a 24–48 hour plastic-sheet moisture test and a water-drop sealer test. Empty the garage, degrease, and fill cracks. Diamond grind (or acid etch a bare, porous slab), then vacuum until a cloth wipes clean. With the slab at roughly 55–85°F and 5°F above the dew point, mix one batch at a time, cut in each section, roll toward the door, and broadcast flake while wet. Topcoat inside the recoat window, then wait about 24 hours to walk on it and 5–7 days to park.
Not always, but grinding is the reliable method. Acid etching can work on clean, bare concrete that has never been sealed and absorbs water quickly everywhere. It does nothing to sealers, old coatings or embedded contamination, and it leaves the slab wet. Grinding removes all of those, gives an even profile, and lets you coat straight after vacuuming. If the water-drop test fails anywhere, grind.
Most epoxies want slab and air between about 55°F and 85°F, held for at least a day after coating; many tolerate 50–90°F. Measure the slab with an infrared thermometer, since it is often colder than the air, and keep it at least 5°F above the dew point. Apply when the slab is steady or cooling, usually afternoon or early evening, to avoid outgassing bubbles.
That is the pot life: up to a couple of hours for some water-based kits at 70°F, often 20–40 minutes for high-solids epoxy, and 15–30 minutes for polyaspartic. It roughly halves with every 18°F rise, and mixed epoxy left in a bucket heats itself and sets faster. Any induction time counts against it. Mix only what you can spread, and pour it onto the floor promptly.
A durable system is usually two layers: a pigmented base coat with flake broadcast into it, then a clear topcoat. Some systems add a primer on very porous or damp-prone slabs. Single-coat big-box kits are quicker but build a thinner film that wears through sooner. Apply each coat at the data-sheet coverage rate and inside the recoat window, or scuff-sand first.
Hairline cracks are usually bridged by a thick base coat, especially under flake. Wider cracks should be chased open, vacuumed, filled with rigid epoxy or polyurea filler and ground flush, or the gloss will highlight them. Spalls need loose material removed and an epoxy patching mortar. A crack that is still moving, or offset with one side higher, will crack any coating and needs addressing first.
For most epoxy systems, 5–7 days at around 70°F, and longer in a cold garage. The floor feels hard within a day, but warm tires can soften a partly cured film and lift it — hot-tire pickup. Polyaspartic systems often take vehicles after 24–48 hours. Full chemical resistance takes about a week, so wipe up spills promptly until then.
Almost always preparation rather than product: moisture rising through the slab, oil left in the concrete, an old sealer, dust left in the pores, or a surface never profiled. Peeling under the tires can also be hot-tire pickup from driving too early, or a thin low-solids coat with no topcoat. A topcoat applied after the recoat window closed, without sanding, can delaminate from the base.