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
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.
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.
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.
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.
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
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.
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.
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.
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.
Related guides
Got a different stain?
Use the stain picker →