Troubleshoot

Why Does My Epoxy Have Fisheyes and Craters?

May 27, 2026 6 min read
Garage Floor Flake Amazing Arrowhead garage floor coating product image

Fisheyes and craters in fresh epoxy are caused by silicone, oil, wax, or polish residue trapped on or in the concrete slab. The resin cannot wet out over those low-surface-tension contaminants, so it beads up and leaves dime-sized depressions that look like a moon surface. The only reliable fix is mechanical: grind off the affected layer with a 30 to 60 grit metal-bond diamond, neutralize any contamination with a TSP wash and an acetone wipe, then recoat. Chemical-only fixes (degreasers, etch) almost never penetrate deep enough to solve a silicone problem.

What is actually causing the craters

Concrete is porous. Anything that hit the slab in the last 20 years can still be in the top 1/8 inch: motor oil, brake fluid, WD-40, tire dressing, furniture polish overspray, even silicone caulk smears from when the trim was installed. Epoxy has a surface tension around 40 dynes per centimeter. Silicone sits at 20 to 24 dynes. Resin physically cannot lay flat over a 20-dyne spot, so it pulls back and forms the classic fisheye crater with a glossy ring.

The most common silicone sources in garages:

  • Aerosol tire shine that got over-sprayed at the curb.
  • RTV silicone caulk from cabinet installs that dripped or smeared on the slab.
  • Armor All wipes used to “clean” a slab before coating.
  • WD-40 sprayed on a sticky garage door track that ran down onto the floor.
  • Pledge or furniture polish from a shop bench above the floor.
  • Concrete curing compounds left from the original pour (factory applied).
  • Silicone-based form release agents that the contractor used.

Test the slab before you mix epoxy

Run a water break test 30 minutes before you open Part A. Pour a 6 inch puddle of clean tap water on a representative spot and watch it for 60 seconds. If the water sheets out flat and stays a continuous film, the slab is clean enough to coat. If the water beads up or pulls back into a tight circle, you have a contamination problem and epoxy will fisheye in that area. Test 3 to 5 spots: near the garage door, dead center, in front of the workbench, and in any oil-stain zones.

This 90 second test has saved more floors than any chemistry I can recommend. Do it every install, even if you ground the slab yesterday. Contamination can re-deposit from the air (HVAC ducts, cooking exhaust, even cologne off your skin during prep work).

How to clean a contaminated slab

Order matters. Skip steps and the fisheyes come back:

  1. Mechanical prep first. Diamond grind to CSP 3, or shot blast. Acid etch only works on raw concrete with no oils; it makes silicone contamination worse by spreading it across the surface.
  2. Hot TSP wash. Mix 1/2 cup trisodium phosphate per gallon of hot water. Scrub with a stiff nylon brush, rinse twice. TSP saponifies oils into water-soluble soaps. Use real TSP, not phosphate-free TSP substitute.
  3. Acetone wipe. Wear a respirator and ventilate. Wipe suspect zones with acetone on a clean white cotton rag, flipping to a fresh face every 10 sq ft. If the rag picks up brown or amber residue, keep wiping. Discard rags in a metal can with a lid (acetone-soaked rags are a fire hazard).
  4. Re-test with water break. If water still beads, repeat steps 1 to 3 in that zone only.
  5. Coat within 4 hours. Once the slab is clean, contamination from the air can re-deposit. Do not wait overnight.

Fixing fisheyes after the epoxy has cured

If you already rolled epoxy and now you are staring at 200 craters, you have two paths:

Path 1: Spot repair (less than 5% of floor area affected). Sand each fisheye and a 2 inch ring around it with 80 grit on a random orbit sander until the gloss is dulled. Vacuum, wipe with denatured alcohol, then fill the crater with a syringe of the same epoxy. Broadcast flake into the wet spot. Once cured (24 hours at 70°F), scuff the entire floor with 120 grit and roll a full topcoat to even the sheen.

Path 2: Recoat the whole floor (more than 5% affected, or fisheyes are clustered). Scuff sand the entire surface with 80 to 100 grit. Vacuum, denatured alcohol wipe, and roll a fresh full coat of epoxy or polyaspartic. The new coat will lay over the cured fisheyes and self-level into the depressions because the contamination is now buried, not at the surface. Adding 0.1% to 0.3% of a fisheye eliminator additive (BYK-310 or similar) to this rescue coat gives you extra insurance.

Path 2 wins more often than DIYers expect. Once cured epoxy is in the crater, the contamination is sealed off and a fresh coat behaves normally.

Surfactant additives and acid etching myths

You can buy fisheye eliminator additives. They lower the surface tension of the epoxy itself so it wets over mild contamination. They work for trace silicone, but they cannot rescue a slab with a $4 puddle of Armor All on it. Use them as insurance on the second coat, not as a substitute for cleaning. Dose is typically 0.1 to 0.3% by weight of the mixed kit. Overdose and you will trap microbubbles or get adhesion failure between coats. BYK-310 and BYK-333 are the industry standards. A 100 ml bottle costs $25 to $40 and treats 5 to 10 gallons of epoxy.

Muriatic acid etching is the historical DIY prep method. It works only on raw clean concrete with no oils, sealers, or silicones. On a real-world garage slab that has 10+ years of life on it, etching produces an unreliable bond and does nothing to remove silicone or oil contamination. It actually spreads contamination because the acid foam migrates across the slab. The shift in the trade over the last decade has been away from etching toward diamond grinding for exactly this reason. A 4 hour grinder rental beats a chemical etch on every metric: bond strength, contamination removal, profile consistency, and time to recoat. If a coating manufacturer still recommends etch as the primary prep, they are protecting old product specs, not your floor.

The boring fix that actually works

Most fisheye problems trace back to one decision: skipping the diamond grind. Acid etch alone profiles concrete to about CSP 1, which is borderline for epoxy and useless if there is silicone on the slab. A 30 grit metal-bond grind costs you $85 a day in rental and 4 hours of labor on a 2-car garage, and it eliminates 90% of contamination problems before they happen.

If you are about to coat a slab that has ever seen tire shine, motor oil, or silicone caulk (which is essentially every garage built after 1980), grind it. Then run the water break test. Then coat.

Pick a forgiving decorative blend for your first install. Heavy flake coverage masks any micro-fisheyes that slip through, and a chip-heavy build hides a multitude of substrate sins. The Amazing Blends line covers the most popular flake patterns and ships in 20, 25, or 40 lb boxes. A 40 lb box covers ~400 sq ft decorative broadcast, which is enough for a 2-car garage with margin to spare. If you would rather plan the build before you order, the custom color picker lets you preview blends from 140 Torginol chips so you know exactly what is going in the box before you commit.

Share X FB LI EM
Ready For The Floor?

Shop The Full Lineup.

11 hand-blended Amazing Blends, 140 solid colors, and the Custom Color Blend Builder for one-of-one floors.

Shop All Flake Open the Builder
Scroll to Top