Granite is one of the most stain-resistant natural stones in the kitchen, but the polished surface can absorb oil, wine, coffee, and ink within minutes if the sealer has worn off. Knowing how to get a stain out of granite depends entirely on identifying what made the stain in the first place, because the solvent that lifts an olive oil ring does nothing against a rust deposit from a cast iron pan. Use the wrong product and you can set the stain permanently or etch the polish.
Identify the Stain Type Before You Touch It
Look at the color and shape. Dark spots that show up shortly after a cooking session are almost always oil-based. Reddish or rusty-orange rings come from iron-bearing objects (cast iron, steel wool fragments, certain canned goods). Blue or black blots without a clear source are usually ink. Pink or purple shadows trace to wine, berries, or beet juice.
Run a quick test. Apply a drop of plain water to a clean area of the granite. If it beads, the sealer is intact and the stain you are dealing with is likely surface residue, not absorbed staining. If the water sinks in and darkens the stone, the sealer has failed and the stain has soaked into the porous surface, which calls for a poultice.
The Universal First Step: Clean the Surface
Before any deep treatment, clean the surface gently. Mix a few drops of dish soap (Dawn or Method) with warm water and wipe the area with a soft microfiber cloth. Avoid acidic cleaners like vinegar, lemon juice, or anything labeled “bathroom cleaner,” all of which etch granite over time even though they work briefly on the residue.
If the stain lightens with soap and water, you were dealing with a surface deposit, not a true stain. Reseal the area within a week to prevent the next spill from soaking in. Granite sealers from Tuff Duck, Stone Care International, or Granite Gold run 15 to 25 dollars and last six months to a year between applications.
Oil and Grease Stains
Olive oil, butter, vegetable oil, and bacon grease leave darkened patches that water alone will not lift. Make a poultice using baking soda mixed with water to a thick peanut-butter consistency. Spread a 1/4-inch layer over the stain, extending an inch beyond the edge.
Cover the poultice with plastic wrap and tape the edges down. Let it sit for 24 to 48 hours. As the poultice dries, capillary action pulls the oil up out of the stone and into the absorbent powder. Scrape off with a plastic spatula, rinse with water, dry, and assess. Repeat if any darkening remains. Most oil stains lift completely after one or two cycles.
Water and Coffee Stains
Water rings are not really stains but residual minerals (calcium, magnesium) left on the surface after the water evaporates. They polish out with a non-abrasive granite polish like Black Diamond Stoneworks Granite Brite or Hope’s Perfect Counter, applied with a soft cloth and buffed dry.
Coffee, tea, and soda stains penetrate when the sealer is weak. Use a hydrogen peroxide poultice for these organic stains. Mix 12 percent peroxide (sold as “developer” at beauty supply stores) with whiting powder or flour to make a paste. Apply, cover, and wait 24 hours. Hydrogen peroxide oxidizes organic pigments without harming the stone.
Wine, Berry, and Food Color Stains
Red wine and dark berries leave the most stubborn organic stains because the tannins bind to mineral surfaces. The peroxide poultice handles most of them. For deep or aged stains, use a stronger 35 percent hydrogen peroxide (sold as food-grade) diluted to 12 percent with distilled water.
- Mix 2 tablespoons of peroxide with 1 tablespoon of flour to form a paste
- Apply 1/4-inch thick over the stain, extending past the edges
- Cover with plastic wrap and seal with painter’s tape
- Wait 24 to 48 hours, then scrape and rinse
- Repeat up to three times for set-in stains
Ink, Marker, and Dye Stains
For ballpoint and permanent marker, apply a small amount of acetone (nail polish remover, but the pure acetone version, not the colored or moisturizing kind) to a cotton ball and dab gently. Do not rub, which spreads the pigment. Most ink lifts within 30 seconds. Rinse with water and a neutral cleaner afterward.
For dye stains that have soaked in, use a poultice made with acetone and whiting powder, same proportions as the peroxide version. The acetone evaporates fast, so check the wrap and re-wet if it dries out before the 24-hour mark. Always test acetone on an inconspicuous corner first; on rare granites with epoxy fillers or color enhancers, acetone can lift the filler.
Rust Stains
Cast iron pans, canned goods, and steel wool fragments left on granite oxidize and stain the stone orange to red. These metal stains require a rust-specific stain remover, not peroxide or acetone. Iron OUT Rust Stain Remover and ZEP Calcium Lime Rust Remover both work on granite when applied as a poultice.
Mix the rust remover with diatomaceous earth or kaolin clay to a paste, apply, cover, and wait 12 hours. Rust stains often require two or three applications. Severe rust stains may need a professional restorer with stronger reducing agents. Budget 150 to 400 dollars for professional treatment if DIY methods fail.
What Not to Do
Never use bleach on granite. Chlorine bleach reacts with the iron in many granites and can create new orange spots that did not exist before. Never use abrasive scouring pads like Comet, Bar Keepers Friend, or steel wool, all of which dull the polish. Never use vinegar, lemon juice, or any acid cleaner; acids etch the calcium carbonate that bonds many granites and dull the surface permanently.
Skip the heat-gun-and-flour trick that floats around online. The flour does nothing useful and the heat can crack thinner granite slabs. Stick to the poultice methods, which are slow but reliable and have been used by professional stone restorers for decades. Once the stain is gone, reseal the entire counter to prevent the next one from sinking in.