TL;DR
Terrazzo is marble or granite chips set in a cement or epoxy matrix, and the marble chips are acid-sensitive -- vinegar, lemon, wine, and acidic bathroom cleaners etch them permanently. Etching is dissolved surface, not a stain, so it cannot be cleaned off. Use a pH neutral cleaner, keep the sealer current, and control grit.
What terrazzo actually is
Terrazzo is a composite. Chips of marble, granite, glass, or quartz are mixed into a binder, poured, cured, then ground and polished flat so the chips show as a speckled surface.
The binder is either cement or epoxy. Cement-based terrazzo is the classic material found in older schools, civic buildings, and mid-century homes. Epoxy terrazzo is thinner, more chemically resistant, and common in newer construction. Which one you have changes some of the rules.
Why acid is the main hazard
Marble is calcium carbonate, and acid dissolves calcium carbonate. Cement binder is alkaline and reacts the same way. So on cement-based terrazzo with marble chips, acid attacks both the chips and the matrix.
The result is etching -- a dull, slightly rough spot where the polished surface has been eaten away. It is physical damage, not discoloration. No cleaner removes it. The repair is regrinding and repolishing.
That means vinegar, lemon juice, citrus cleaners, wine, tomato, most bathroom and descaling products, and anything labeled for hard water removal are all off the table.
Source: national terrazzo and mosaic association maintenance guidance.
Cement versus epoxy terrazzo
| Property | Cement-based | Epoxy |
|---|---|---|
| Age typical | Older buildings, mid-century homes | Newer construction |
| Acid sensitivity | High, in both chips and binder | Binder resists acid; marble chips still etch |
| Porosity | Porous; needs sealing | Essentially non-porous binder |
| Thickness | Thicker pour, often with divider strips | Thin pour |
| Stain risk | Higher, especially oil | Lower |
If your floor has brass or zinc divider strips laid out in a grid, it is almost certainly cement-based. Epoxy terrazzo is usually poured in larger continuous fields.
Even on epoxy terrazzo, the chips are still stone. Acid still etches them. The binder just survives better.
The safe routine
Start dry. Grit is abrasive and every mop pass over unswept sand scratches the polish. Dust mop daily in traffic lanes with a wide microfiber head, or vacuum with the beater bar off.
Then damp mop with a pH neutral cleaner diluted per label. Terrazzo tolerates more water than wood, but a wrung-out microfiber pad still does the best job, and drying after prevents mineral haze in hard-water areas. The method is in the damp mop technique, and the reasoning behind neutral products is in why a pH neutral cleaner is the rule.
Rinse when you use any cleaner, then dry. Residue is the most common cause of terrazzo that looks cloudy right after cleaning.
What never to use
Never acids of any kind. Never abrasive powders, scouring pads, or steel wool, which scratch the polish. Never oil-based soaps or waxes as a routine, because they build a film that yellows and hides the material.
Bleach deserves its own note. Chlorine bleach can discolor the binder and dull the surface, and it should never be combined with any acid or with ammonia -- both pairings release toxic gas. If you need to sanitize, clean the floor first, then use a product labeled for the surface with the wet dwell time the label specifies.
Strong alkaline degreasers meant for garage or shop floors are also too aggressive; they strip sealer and can leave a bleached-looking patch.
Sealing is the real protection
Cement-based terrazzo is porous, and a penetrating sealer is what keeps oil, wine, and pet accidents from soaking in. Sealer wears out, especially in traffic lanes.
Test it with water. Drip a small puddle on the floor, wait several minutes, and look. If the spot darkens, the sealer has worn through there and the floor needs resealing. If the water sits and the surface stays the same color, the sealer is doing its job.
A sealer does not make terrazzo acid-proof. It slows absorption; it does not stop etching. The same distinction applies to stone countertops, which is spelled out in cleaning natural stone countertops.
Restoring the shine
If terrazzo has gone dull in walking paths but shows no spotting, the usual cause is fine scratching plus residue. Try a plain-water pass with a dry buff first -- residue is more common than people expect.
If that does not do it, burnishing with a low-speed machine and a soft pad often restores gloss on a sealed floor. Where the surface is genuinely worn or etched, the remedy is diamond regrinding and repolishing by a specialist, which is the same process that produced the finish originally.
Never chase shine with wax or a topical polish on a polished terrazzo floor. It hides the material, yellows over time, and eventually has to be stripped off.
Polished concrete responds to almost identical logic and tools, and if you have both surfaces in one building, polished concrete, its closest cousin covers that side. For the pure-stone version of the same problem, see how marble and travertine behave.
Spills need immediate attention
On unsealed or worn-sealer terrazzo, oil, wine, coffee, and pet urine can penetrate within minutes. Blot rather than wipe so you do not spread the spill, then clean with neutral cleaner and rinse.
For an oil mark that already soaked in, an absorbent poultice left over several hours will draw much of it back out. Repeat as needed. Acidic spills like citrus and wine are the urgent ones, because those cause etching in addition to staining, and every minute counts.
FAQ
Can you use vinegar on terrazzo floors?
No. Vinegar is acidic, and the marble chips and cement binder in terrazzo both dissolve on contact with acid. The result is permanent etching -- a dull, slightly rough patch that cannot be cleaned off and requires regrinding to repair.
What is the best cleaner for terrazzo?
A pH neutral floor cleaner diluted exactly as its label states, followed by a rinse pass and a dry buff. Neutral cleaners lift soil without attacking the chips, the binder, or the sealer, and they do not leave the film that causes cloudiness.
Does terrazzo need to be sealed?
Cement-based terrazzo does, because it is porous and stains readily without a penetrating sealer. Epoxy terrazzo is far less porous and often does not need it. Test with a water puddle: if the spot darkens, the sealer has worn through there.
Can you steam clean terrazzo floors?
Terrazzo tolerates heat better than wood or vinyl, but steam offers no advantage and can degrade a sealer over time. A damp microfiber mop with a neutral cleaner does the job with no risk to the protection the floor depends on.
Why does my terrazzo look dull in spots?
Dull patches that match where something spilled are almost certainly acid etching from wine, citrus, or a cleaning product. Dullness along walking paths is usually fine scratching plus residue. Test with a plain water pass first, since residue is the easiest fix.
Can old terrazzo be restored?
Usually yes, and dramatically. Diamond grinding and repolishing removes the damaged top layer and exposes fresh material, which is why hundred-year-old terrazzo can look new again. It is specialist work, not a homeowner project.
If this keeps landing on one person, regular house cleaning services cover the whole-home version of the job.
Terrazzo is one of the longest-lasting floors ever installed in a house, and the most common way it gets ruined is a bottle of the wrong cleaner. Every home is different, so what a full clean takes depends on size, condition, and what you want covered. Get a quote and we will walk you through it.