Skip to main content
EpoxyTimes
Get My Price

Epoxy Floor Bubbles, Fisheyes and Pinholes: Diagnosis by Defect

Nick Shushan

By Nick Shushan, founder of EpoxyTimesLast updated September 6, 2026

On this page
  1. The short answer
  2. Bubbles: the slab breathed into your coating
  3. Fisheyes: the coating cannot wet a dirty spot
  4. Pinholes: a thin primer over an open slab
  5. Read your floor: defect identification table
  6. The rising-temperature rule
  7. Where the contamination comes from
  8. What it costs to fix
  9. Get a second read before you sand
  10. Frequently asked questions
  11. How this page is maintained

Three defects, three different causes. Bubbles come from air leaving the concrete as it warms, called outgassing. Fisheyes come from contamination the coating will not wet out. Pinholes come from a thin primer over a porous slab. Each looks different up close, and each has its own fix. Diagnose which you have before you sand anything.

The short version

  • Overview: Bubbles, fisheyes, and pinholes look alike from standing height and are three separate problems. Get on your knees and read the shape.
  • My take: Almost every one of these traces back to the slab and the hour you chose to coat, not the resin in the bucket.
  • Why trust this page: EpoxyTimes does not sell floors. Read how the site works.

The short answer

Most people see a spotty or pocked floor and call it all “bubbles.” It is not. A dome that formed as the coating went off is outgassing, air pushing up out of the slab. A clean crater with bare concrete in the center is a fisheye, the coating retreating from a spot it could not stick to. A pin-sized hole straight down through the film is a pinhole, a bubble that broke and set before it could heal.

The fixes do not overlap. Recoating over a contaminated spot puts a new coat on the same problem, and it fisheyes again. Filling pinholes without sealing the slab leaves the slab open. Read the shape first. The table below maps each defect to its cause and its fix.

Bubbles: the slab breathed into your coating

If the bubbles are small, domed, and spread evenly across the field, that is outgassing. Outgassing is air trapped in the concrete’s pores expanding as the slab warms and pushing up through the wet film before it sets. You see it worst where the sun hit the slab, or where you coated a garage as the morning warmed it, and it shows up in the first hour, not days later.

The mechanism is temperature, not a bad batch. The Polytek Floor Coating Epoxy Primer technical data sheet [1] tells you to apply at a minimum of 300 square feet per gallon specifically to minimize material outgassing, and not to coat unless the surface sits more than 5 degrees above the dew point. Both rules exist because a hot slab and a thick film trap the air that a cool slab and a thin film let escape.

The fix on a cured floor is to screen-sand the domes flat and recoat thin. The honest con is that this only holds if you also fix the timing, covered below. Recoat on a slab that is still warming and you watch it bubble again.

Fisheyes: the coating cannot wet a dirty spot

Round craters with clean or bare centers mean contamination. A fisheye is a small dished crater, often with a raised rim, where the wet coating pulled back from a spot it could not bond to and left concrete showing in the middle. They cluster, not scatter: a ring where a car dripped, a patch where someone sprayed something.

The physics is surface tension. Surface tension is the skin-like inward pull on a liquid’s surface that makes it bead up rather than spread flat. A trace of silicone or oil lowers the coating’s ability to wet that spot, so the film retreats the way water beads on a waxed hood. No amount of extra coating fills a fisheye, because the new coating retreats from the same contamination.

The fix is mechanical, never chemical alone. Grind or sand the contaminated area back to a clean profile, specified by concrete surface profile number in ICRI Guideline 310.2R [2], then re-prime. ACI 503R-93, Use of Epoxy Compounds with Concrete [3], is the bonding reference behind why a clean, profiled surface is non-negotiable, and a pull-off test to ASTM D4541 [4] is how a pro confirms the repair took. The con: if the contaminant soaked deep into an open slab, sanding the surface will not reach it, and that section has to come out.

Pinholes: a thin primer over an open slab

Pin-sized holes straight down through the film mean the primer was too thin to seal the concrete’s pores. A pinhole is a tiny hole, pin-width, where a rising air bubble broke at the surface and the coating skinned over and set before it could flow back across the gap. You feel them with a fingernail before you see them, and they cluster over bugholes, an open-textured slab, or a hot pour.

The cause is a porous slab plus a coat applied too thin or too fast to bridge it. Air escaping the slab needs the film still liquid enough to close behind it, which is why the same TDS coverage build [1] matters here too. The fix on a raw slab is to fill and prime first; on a cured floor, sand and apply a proper-build coat. The con: an open slab often needs a filler or scratch coat first, and skipping it just makes new pinholes in the new coat.

Read your floor: defect identification table

DefectWhat it looks likeCauseFix
Bubbles (outgassing)Small even domes across the field, formed in the first hour, worse where the slab was warmingAir in the slab pores expanding as the slab heats, pushing up through the wet filmCoat on a falling slab temperature and thin the build; sand and recoat a cured floor
FisheyesRound craters with a raised rim and bare concrete in the center, in clustersSilicone, oil, or curing compound lowering surface tension so the coating cannot wet the spotGrind the spot back to clean profile, re-prime, then recoat; deep contamination means removal
PinholesPin-sized holes straight down through the film, felt with a fingernail, over open-textured concreteA porous slab plus a coat too thin to bridge the pores before it skins overFill and prime the slab first; on a cured floor sand and apply a proper-build coat

The rising-temperature rule

Coat on a falling slab temperature, never a rising one. This is the single habit that prevents outgassing, and almost nobody writing about “bubbles in epoxy floor” states it plainly. A warming slab pushes air up and out through your film. A cooling slab contracts and pulls air inward, so nothing bubbles up. That is the whole rule.

In practice, the worst time to coat a sun-exposed garage is late morning, as the slab climbs through the afternoon. The better window is late afternoon into evening, once the slab has peaked and started to shed heat, staying inside the product’s temperature range and more than 5 degrees above the dew point [1]. The honest con: a cooling slab gives you a shorter working window and slower cure, so you trade bubble risk for less time to work. On a hot day that trade is worth making. Cure timing is covered in how long epoxy takes to dry.

Where the contamination comes from

Fisheyes almost always trace to one of three avoidable sources:

  • Silicone. Sprays, some lubricants, and certain caulks leave a film that no coating wets. The most common cause and the hardest to see.
  • Tire dressing. The glossy protectant people spray on tires drips onto the slab and spreads a bond-breaking film exactly where the car parks.
  • Curing compound. Sprayed on fresh slabs to hold moisture, it is a bond-breaker by design. On a newer slab this is the usual culprit, and it has to be ground off.

What it costs to fix

It depends on whether the defect is skin-deep or goes to the slab. A screen-sand and recoat is a fraction of a fresh floor, because you buy one topcoat and the labor to lay it, not the full prep and build. That works when the defect is shallow and the surface is clean.

When fisheyes trace to contamination in the concrete, or pinholes run over a large open area, the real fix is to grind it all off and re-pour at the system’s full range. As a national baseline that is roughly $3 to $7 per square foot for solid epoxy, $5 to $9 for flake, and $5 to $12 for polyaspartic, and a typical garage runs about $6 to $8 per square foot installed. The grinding itself is a per-square-foot adder that moves with slab condition, so I do not carry a flat number for it, and neither should a contractor quoting sight unseen. Anyone who names a firm grind price before seeing the slab is guessing. Partial versus full redo is covered in epoxy floor repair and recoating an epoxy floor, and if the coating is also lifting, read why epoxy floors peel first, because peeling is a prep failure, not a surface defect.

I have never seen a bubble that argued with physics. The floor did exactly what the slab and the thermometer told it to do. Fix the timing and the prep, and the resin behaves.

Get a second read before you sand

If you already have a repair quote for a bubbled or pocked floor, have me check it before you agree to a full grind you may not need. Planning the job yourself? The prep that prevents all three defects is in how to epoxy a garage floor, and the garage space guide and coatings hub cover which system suits your slab.

Frequently asked questions

How to fix air bubbles in epoxy floor? On a cured floor, screen-sand the domes flat and recoat thin. The recoat only holds if you also fix the cause, which is coating on a warming slab. Coat next time on a falling slab temperature so the concrete pulls air in rather than pushing it up.

Why am I getting bubbles in my epoxy? Outgassing. Air trapped in the concrete’s pores expands as the slab warms and pushes up through the wet film before it sets. A hot or rising slab and a thick coat trap that air. A cooler, falling slab and a thinner build let it escape.

What causes fish eyes in epoxy? Contamination that lowers surface tension so the coating cannot wet the spot. Silicone, tire dressing, and curing compound are the usual three. The coating retreats from the contaminated area and leaves a small crater with bare concrete in the center.

Can you sand bubbles out of epoxy? Sometimes. If the bubbles are shallow surface domes, sanding them flat and recoating works. If they are pinholes running down to an open slab, sanding alone leaves the slab exposed and the new coat pinholes again. Read the shape before you sand.

Should you epoxy in the morning or evening? For a sun-exposed slab, later in the day is usually safer. A slab that is still warming through the morning outgasses into your film. A slab that has peaked and is cooling pulls air inward instead, which is why coating on a falling temperature beats a rising one.

What are the common problems associated with epoxy floors? The surface defects are bubbles, fisheyes, and pinholes, all covered here. The structural failures are peeling and blistering, which are prep and moisture problems, not coating defects. Match the fix to the mechanism rather than treating every flaw as one thing.

How this page is maintained

Written and reviewed by Nick Shushan, founder of EpoxyTimes, a flooring contractor with roughly 25 years in the trade, most of it in hardwood in New York, working in epoxy since 2019. Diagnoses here draw on published standards and manufacturer data sheets, cited inline: the Polytek Floor Coating Epoxy Primer TDS on coverage and application temperature, ICRI Guideline 310.2R on surface profile, ACI 503R-93 on bonding, and ASTM D4541 on pull-off adhesion. Last updated September 6, 2026.

Keep reading