How to Remove Stains from Granite Countertops

How to Remove Stains from Granite Countertops

Why Granite Stains — and What You Can Do About It

Granite is a natural stone with a porous surface, which means liquids can penetrate the sealant and leave behind stains. The good news: most granite stains are treatable at home if you act quickly and use the right method for the stain type.

General Rules Before You Start

  • Never use vinegar, lemon juice, or bleach — these acids etch granite and destroy the sealant.
  • Blot, don't rub — rubbing spreads the stain deeper into the stone.
  • Act fast — the longer a stain sits, the harder it is to remove.

What You'll Need

How to Remove Common Stains from Granite

Food & Beverage Stains (Coffee, Wine, Juice)

  1. Blot up as much liquid as possible immediately.
  2. Mix a paste of baking soda and water (peanut butter consistency).
  3. Apply the paste to the stain, cover with plastic wrap, and tape the edges.
  4. Leave for 24–48 hours, then remove and rinse with warm water.
  5. Wipe clean with a microfiber cloth and follow up with Weiman Granite Cleaner.

Grease & Oil Stains

  1. Apply a few drops of Dawn dish soap directly to the stain.
  2. Let it sit for 5 minutes to break down the grease.
  3. Gently scrub with a damp microfiber cloth in circular motions.
  4. Rinse thoroughly and dry immediately.
  5. For stubborn oil stains, use a baking soda + dish soap poultice (see below).

Ink or Dye Stains

  1. For light granite: apply a small amount of hydrogen peroxide to a cloth and dab the stain.
  2. For dark granite: use acetone (nail polish remover) on a cotton ball — test in a hidden area first.
  3. Rinse and dry thoroughly.

Hard Water / Mineral Deposits

Do not use vinegar or CLR on granite — these will etch the surface. Instead, use a stone-safe hard water remover or the Weiman Granite Cleaner, which is formulated to handle mineral buildup safely.

The Poultice Method (For Deep-Set Stains)

A poultice draws the stain out of the porous stone over time. Here's how:

  1. Mix baking soda with just enough water (or hydrogen peroxide for organic stains) to form a thick paste.
  2. Spread a ¼-inch layer over the stain.
  3. Cover with plastic wrap and seal the edges with tape.
  4. Leave for 24–48 hours.
  5. Remove the plastic, let the paste dry completely, then scrape off gently.
  6. Rinse with warm water and dry with a microfiber cloth.
  7. Repeat if needed — deep stains may require 2–3 applications.

After Stain Removal: Reseal if Needed

Stain removal can weaken the sealant. After treating a stain, test your seal by dropping water on the surface. If it absorbs rather than beads, apply a fresh coat of Weiman Granite Sealer to protect against future staining.

Final Thoughts

Most granite stains can be removed with patience and the right technique. The poultice method is your best friend for stubborn, deep-set stains. Always finish with a granite-safe cleaner and check your sealant — prevention is always easier than cure.

Back to blog
#CommissionsEarned — As an Amazon Associate, Life Logic Lab earns from qualifying purchases. Clicking on Amazon links in our articles may earn us a small commission at no extra cost to you.