How to Remove Stains from Granite Countertops by Stain Type
Why Granite Stains Differ from Other Stone Surfaces
Granite is a natural stone with a crystalline structure that makes it denser than marble but still porous. Unlike sealed resin-based surfaces, granite absorbs liquids through microscopic capillaries, which means a spill left for hours can penetrate below the surface and form a stain that sits beneath the polished top layer. This is why the same citrus cleaner that works on tile can actually push oil deeper into granite if you scrub aggressively.
The key to effective stain removal is matching the treatment to the stain type rather than using a universal cleaner. Oil-based stains, such as cooking oil or butter, require a different approach than water-based marks like coffee or tea. Rust and ink need acidic or chemical poultices, while organic stains from berries or wine respond to oxygen-based bleaches. Knowing the difference prevents you from etching the surface or spreading the stain further.
Before you begin, identify whether your countertop is polished or honed. Polished granite has a glossy finish that is more resistant to staining, while honed granite is matte and more absorbent. Test any treatment on an inconspicuous spot first, and always work gently—granite is durable but can scratch if you use abrasive pads or metal tools.
Oil-Based Stains: Drawing Out Grease with a Baking Soda Poultice
Oil-based stains appear as dark, greasy spots that often darken the stone. They are common near cooktops or where olive oil or salad dressing has sat for more than a few minutes. The most effective home remedy is a baking soda poultice, which works by absorbing the oil out of the granite’s pores over several hours.
To make the poultice, mix baking soda with water to form a thick paste—about three parts baking soda to one part water. Spread the paste over the stain in a layer about a quarter-inch thick, covering the entire mark plus a half-inch border. Cover with plastic wrap to slow evaporation, and tape the edges down. Leave it for 24 hours, then remove the dried paste with a wooden spoon or plastic scraper. Wipe with a soft cloth and repeat if the stain is still visible.
For stubborn oil stains, you can substitute a commercial stone poultice, which often contains a solvent that breaks down the grease more effectively. Avoid using vinegar or lemon juice on oil stains, as the acid can etch the polished surface. If the stain persists after two or three poultice treatments, you may need to apply a professional-grade poultice or consult a stone fabricator.
Water-Based Stains: Removing Coffee, Tea, and Juice Marks
Water-based stains from coffee, tea, juice, or wine often appear as light brown or yellow rings, especially on light-colored granite. These stains penetrate quickly, so acting fast is crucial. Blot the spill with a paper towel to absorb as much liquid as possible—never rub, as that spreads the stain and grinds it into the pores.
For fresh water-based stains, a simple dish soap and warm water solution (a few drops of mild dish soap per cup of water) may be enough. Use a soft cloth to gently clean the area, then rinse with clean water and dry thoroughly. If the stain remains, create a poultice using hydrogen peroxide and baking soda for light-colored granite, or a mixture of flour and hydrogen peroxide for darker stones. Test the hydrogen peroxide on an inconspicuous spot first, as it can lighten darker granite.
For older or set-in water stains, mix a poultice of baking soda and water, apply it as described for oil stains, and leave it for 24 hours. The alkaline nature of baking soda helps draw out the organic compounds. If the stain is from wine or berry juice, a hydrogen peroxide-based poultice is more effective, but avoid using bleach on dark granite, as it can cause discoloration.
Rust and Ink Stains: Targeted Chemical Treatments
Rust stains appear as orange or brown spots, often from metal cans, bottle caps, or hard water with high iron content. These are among the most difficult to remove because the iron has oxidized and bonded to the stone. Ink stains, from markers or pens, can be even more stubborn and may require a solvent-based poultice.
For rust, use a commercial rust remover specifically formulated for natural stone. Apply it according to the manufacturer’s instructions, usually as a paste or liquid, and let it sit for the recommended time—often 15 to 30 minutes. Do not use a generic rust remover from the hardware store, as it may contain hydrofluoric acid, which can etch granite. Rinse thoroughly and dry completely. For light rust stains, a poultice made from cream of tartar and hydrogen peroxide can be effective, but test it on a hidden area first.
Ink stains require a different approach. Mix a poultice of baking soda and rubbing alcohol (or nail polish remover with acetone) into a thick paste, apply it to the stain, and cover with plastic wrap. Leave it for 24 hours, then remove and wipe. For permanent marker, a solvent like acetone or a non-acetone nail polish remover can be applied with a cotton swab, but work quickly and rinse immediately to prevent the solvent from sitting on the stone. If these fail, a professional stone restorer may need to use a specialized ink remover.
Sealing and Prevention: Keeping Stains from Setting In
The best way to manage stains on granite is to prevent them from penetrating in the first place. Granite countertops are typically sealed with a penetrating sealer, but the sealant wears off over time—usually every one to three years depending on usage and the type of sealer. To test if your granite needs sealing, sprinkle a few drops of water on the surface. If the water beads up, the seal is intact; if it soaks in within a minute, it’s time to reseal.
Sealing is a straightforward process: clean the countertop thoroughly with a pH-neutral stone cleaner, allow it to dry completely, then apply a high-quality granite sealer using a soft cloth or sponge. Follow the manufacturer’s instructions for dwell time—usually 10 to 20 minutes—then buff off the excess with a clean, dry cloth. Let it cure for 24 hours before using the countertop. A good sealer will repel both oil and water, but it won’t make the stone completely stain-proof, so still blot spills immediately.
In addition to sealing, adopt habits that minimize staining risk. Use cutting boards and trivets under hot pans, avoid leaving acidic foods like tomatoes or citrus on the surface for extended periods, and clean up spills with a soft cloth and a pH-neutral cleaner. For daily cleaning, a mix of warm water and a drop of dish soap works well, but avoid vinegar, lemon, or abrasive scrubbers, which can dull the polish over time. By staying ahead of spills and maintaining the seal, you’ll keep your granite looking its best for years.
Frequently asked questions
- Can I use vinegar to remove stains from granite countertops?
- No, vinegar is acidic and can etch the polished surface of granite, creating dull spots or rings. For most stains, use a pH-neutral cleaner or a baking soda poultice instead. If you need a stronger treatment, opt for a commercial stone-safe stain remover.
- How long does it take for a baking soda poultice to work on an oil stain?
- A baking soda poultice typically needs to sit for 24 hours to draw out oil from the granite’s pores. For heavy or set-in stains, you may need to repeat the process two or three times. Be patient—rubbing or scrubbing will not speed up the process and can damage the stone.
- What should I do if a stain doesn't come out after several attempts?
- If a stain persists after multiple poultice treatments or commercial products, it may have penetrated deeply or the stone may be etched. At this point, it’s best to consult a professional stone fabricator or restoration expert. They have access to stronger poultices, polishing compounds, and techniques that can safely remove the stain without damaging the granite.
- Is it necessary to seal granite countertops to prevent stains?
- Sealing is recommended because it fills the microscopic pores that absorb liquids, making stains less likely to set. However, sealing does not make granite stain-proof—it only gives you more time to wipe up spills. Test your seal regularly (water beading test) and reseal every one to three years, or as directed by the sealer manufacturer.