Skip to main content
Guides

How to Remove Oil Stains from Clothes

Baking soda first, then dish soap. Oil is often invisible when fresh and only appears as a dark patch once dry. Treat immediately — and always check before tumble drying, since heat permanently bonds oil to fabric.

Why Oil Stains Are Tricky

Cooking oil is a triglyceride — a glycerol molecule bonded to three fatty acid chains. These molecules are entirely non-polar and hydrophobic: they repel water completely, which is why rinsing with water alone moves oil around rather than removing it. Dish soap (and other surfactants) work by surrounding individual oil molecules with their hydrophilic (water-loving) heads facing out, allowing the oil to be lifted away and rinsed off. Laundry detergent also contains surfactants, but at lower concentrations than dish soap — dish soap is genuinely more effective on oil. The second key fact: oil soaks into fabric and spreads widely before any discolouration appears. A splash of olive oil may be invisible when fresh and only become visible as a dark grey or translucent patch once the fabric dries. For this reason, treating oil stains before the garment goes through a full wash cycle is critical — the wash cycle alone, without direct treatment, rarely removes oil fully.

Fresh Oil Stain — Step by Step

1

Do not rub — blot only

Rubbing an oil stain spreads the oil sideways and pushes it deeper into the fabric weave. Blot gently with a clean cloth or paper towel to remove surface oil only.

2

Cover with baking soda or cornstarch (talcum powder also works)

Generously cover the entire stain with baking soda, cornstarch, or talcum powder. These absorb oil by capillary action. Leave for 10–30 minutes (longer is better for thicker fabrics). The powder will clump slightly as it absorbs the oil. Brush off gently. This step removes a significant portion of the oil before any liquid treatment is applied.

3

Apply dish soap directly

Apply undiluted dish soap (washing-up liquid) directly to the stain. Gently work it into the fabric with your fingers or a soft toothbrush in small circular motions. Dish soap has higher surfactant concentration than laundry detergent — it is the most effective home treatment for oil. Leave for 5–10 minutes.

4

Rinse with warm water

Unlike protein stains (blood, egg), warm water is fine for oil — there is no risk of heat setting oil. Rinse thoroughly from the back to flush the oil through the fabric. Check that the soap is fully rinsed out — soap residue left in fabric causes stiffness.

5

Wash normally — check before drying

Machine wash with your usual detergent. Before putting the item in the dryer, check the stain area. If any oil mark remains (look in good light — it will appear darker or translucent compared to the surrounding fabric), repeat the dish soap treatment. Tumble dryer heat permanently bonds any remaining oil to the fibre.

Dried or Set Oil Stain

1

Try WD-40 or a solvent to re-liquefy the oil

Dried or set oil has polymerised and bonded more firmly to the fibres. Applying a small amount of WD-40, lighter fluid, or dry-cleaning solvent (e.g. K2r, Carbona) re-dissolves the oil and makes it treatable again. Apply, leave 5 minutes, then apply dish soap directly on top to emulsify before washing. This is the most effective method for set oil stains.

2

Or apply dish soap to dry fabric and work in

Apply undiluted dish soap directly to the dry stain. Work it into the fabric with a toothbrush. Add a very small amount of warm water to create lather, continue working in. Leave 15–20 minutes. This is less effective than a solvent pre-treatment but avoids introducing additional products.

3

Baking soda paste for extra lifting action

Mix baking soda with a small amount of dish soap to form a paste. Apply to the stain, leave 30 minutes. The mild abrasive action of baking soda combined with the surfactant lifts more of the polymerised oil than soap alone.

4

Wash and check

Wash at 40°C with a full dose of detergent. Check before drying. Multiple treatment cycles may be needed for old stains — set oil is significantly harder to remove than fresh oil.

By Oil Type

Vegetable / sunflower / canola oil

Standard treatment works well. Very fresh stains respond best to baking soda absorption + dish soap.

Olive oil

Darker and more aromatic than other oils. Same treatment. Dried olive oil oxidises to a darker colour — act as quickly as possible.

Coconut oil (solid at room temperature)

Let solidify if possible before treating — this concentrates the oil rather than spreading it. Then scrape off solid before applying baking soda.

Butter

Butter is oil + milk solids + water. The milk protein component means cold water is preferred (as with blood/milk protein stains). Dish soap for fat, then enzyme detergent for protein residue.

Salad dressing (vinaigrette, ranch)

Oil + vinegar + herbs/spices. Dish soap for oil. Enzyme detergent for any protein (buttermilk, egg-based dressings). Vinegar may slightly help the oil component.

Deep frying / chip oil

Very high-volume oil contact — may need multiple treatment cycles. Hot oil penetrates fabric faster than cold. Same treatment applies.

Motor / machine oil

Non-food oil. WD-40 pre-treatment essential for set stains. Dish soap, then wash at the highest temperature safe for the fabric. May require multiple cycles.

By Fabric

Cotton

Most forgiving. Warm water and dish soap. Can be washed at 40–60°C. Repeat treatment works well.

Polyester / synthetic

Synthetics absorb oil deeply and can be harder to clean. Pre-treat with dish soap before washing. Warm but not hot water.

Silk

Apply cornstarch, leave 30 minutes. Gently blot. Apply a small drop of dish soap mixed with lukewarm water. Blot — never rub. Hand wash cold. Never use hot water or tumble dry.

Wool

Cold water only. Apply baking soda, leave 30 min. Blot dish soap in gently. Cold hand wash with enzyme-free detergent. Never wring or tumble dry.

Linen

Similar to cotton. Warm water, dish soap, wash at 40°C. Iron while slightly damp if needed.

Denim

Very absorbent weave. Apply baking soda generously, leave 30 min. Dish soap treatment. Cold wash inside-out. Check before tumble drying.

What to Avoid

Tumble drying before fully treated

Heat polymerises oil into fabric fibres permanently. An untreated oil stain becomes significantly harder to remove after tumble drying — often impossible.

Water alone without surfactant

Oil and water do not mix. Rinsing with water moves oil around but does not remove it. A surfactant (dish soap, detergent) is required to emulsify and lift oil.

Rubbing the stain

Rubbing spreads oil sideways and pushes it deeper into the weave. Always blot or brush gently, work from the outside of the stain inward.

Washing in hot water without pre-treating

A hot wash without direct pre-treatment will not reliably remove oil — the oil may spread through the fabric and partly set. Pre-treat before washing.

Ignoring small invisible fresh stains

Fresh oil on light fabric may be invisible or very faint. If you know oil has splashed on clothing, treat it immediately rather than waiting for it to become visible when dry.

FAQ

How do you get oil stains out of clothes?

For fresh oil: cover with baking soda or cornstarch for 10–30 minutes to absorb the oil. Brush off, then apply undiluted dish soap directly to the stain. Work in gently, leave 5–10 minutes. Rinse with warm water. Machine wash normally. Check before tumble drying — heat permanently bonds oil to fabric. Repeat if needed.

Why does oil stain appear after washing?

Oil stains are often invisible when fresh and only appear as a dark or translucent patch once the fabric dries. If a garment went through a wash cycle without direct pre-treatment on the oil, the stain appears when the item dries. The solution: treat with undiluted dish soap directly on the stain, work in, leave 10 minutes, then re-wash. Check before tumble drying.

Does dish soap remove oil stains?

Yes. Dish soap is the most effective home treatment for oil stains because it has a higher concentration of surfactants than laundry detergent. Apply undiluted dish soap directly to the stain, work it in gently, and leave for at least 5 minutes before rinsing. This emulsifies the oil so it can be washed away.

How do you remove old oil stains?

Old or set oil stains require a pre-treatment to re-dissolve the polymerised oil. Apply WD-40, lighter fluid, or a commercial dry-cleaning solvent to the stain, leave 5 minutes. Then apply undiluted dish soap directly on top of the solvent and work it in. The solvent breaks the oil down, the soap emulsifies it. Wash at 40°C and check before drying. Multiple cycles may be needed.

Got a different stain?

Use the stain picker →