If you’ve ever wondered what the deal is with shower oils, we can assure you that you are not alone. It’s clear that they’re for showering, but do they actually clean your skin? Should you use soap and then follow up with the oil? You might also be asking, “Why would I want to put oil on my body in the first place when I’m trying to rinse off?” Because the very concept of shower oil raises more questions than answers, you likely ignored using one in favor of your usual gel or bar soap. But the confusion ends today. We tapped some skin-care experts to explain everything about shower oils and why you might actually benefit from using them.
Here, we rounded up the best shower oils — according to experts, online reviews, and our very own Cut Shop favorites — that are worthy of your dollars.
Pros: Gentle enough to be used on face and body Cons: Has a strong scent Key Ingredients: Niacinamide, vitamin C, vitamin E Size: 33.8 fl. oz.
Cynthia Franco, Los Angeles-based esthetician and Dr. Lily Talakoub, a board-certified dermatologist and fellow of the American Board of Dermatology, both recommend this oil that’s hypoallergenic and dermatologist tested. It’s also non-comedogenic, meaning it won’t block any pores, and the healthy amount of glycerin restores your skin barrier so your body feels clean without being stripped of moisture. With the big bottle, you really get the most out of your purchase — this will last you ages before you even think about needing a restock.
Pros: Soothes dry skin, fragrance-free, doubles as a cleanser Cons: The pump can break easily Key Ingredients: Avene thermal spring water, omega-6 Size: from 13.5 fl. oz.
Lather this product in your hands before washing in the shower for a soothing cleanse that nourishes flaky, dehydrated, and irritated skin. If you and fragrance don’t get along, this has zero scent, and it’s also approved by the National Eczema Association. According to reviewers, it also works as a gentle cleanser for your face that effectively removes makeup without leaving behind any dryness.
Pros: It’s affordable and has powerful ingredients Cons: The smell has been described as “popcorn butter,” which can be a hit or miss (unless you’re into that!). Key Ingredients: Glycerin, squalane, jojoba and rosehip oils Size: 16.9 fl. oz.
This oil-to-gel shower wash formula is one that TikTok users can’t stop raving about. Our own Asia Milia Ware recommends it, too. With its ingredients including glycerin and squalane it will leave your skin soft and moisturized as soon as you hop out of your shower. Plus, coming under $20 it’s one your wallet will also appreciate.
Pros: The sudsy lather makes you feel squeaky-clean and supersoft Cons: It’s easy to go through Key Ingredients: Sweet almond and grapeseed oils Size: from 8.4 fl. oz.
This oil isn’t too runny, so it’s easy to maneuver in the shower, and it smells like almond cookies. If you don’t mind smelling faintly of dessert in the morning, there’s no better shower oil to plop in your cart, especially for the results of super soft skin. (Former beauty Director Kathleen Hou is a longtime fan too).
Pros: It has a lovely sweet coconut scent Cons: It doesn’t sud up much and leaves a milky texture on the skin Key Ingredients: Avocado, coconut and hibiscus seed oils Size: 8.45 fl. oz.
Formulated with natural ingredients like coconut, avocado, and hibiscus-seed oil — and without silicones, parabens, and phthalates — your skin will feel so soft after using this oil-to-foam wash. It’s also packed with vitamin c, which helps brighten, hydrate, and even out your skin tone. Moisture is maintained all day long after using this shower oil, and reviewers especially love the light coconut scent.
Pros: Every scent is a great option Cons: You’ll love it so much you’ll get too excited and use a bit too much and it won’t last as long as you want it to Key Ingredients: Niacinamide, vitamin C, vitamin E Size: 33.8 fl. oz.
Don’t be deceived by the gel consistency of this body wash. Once you lather it on your skin, the rich formula turns into an oil that truly is one of the best in the market. The Cut Shop team always stocks up on it whenever it’s on sale. Plus, senior shopping editor Bianca Nieves has been loving its latest Hinoki scent.
Pros: It has powerful ingredients like castor oil and squalane Cons: If you like a fragrance to last all day, this is not the oil for you Key Ingredients: Grapeseed and castor oils Size: 8.4 fl. oz.
Creme de Corps shower oil is definitely worthy of praise. It’s got a smooth vanilla-and-almond scent that is grown-up but not boring. The fragrance didn’t last, but that makes it perfect if you don’t want to be draped in one particular scent for eight hours straight. Your skin will also feel very soft post-shower — no surprise, as there are close to a dozen different oils in each bottle.
Pros: It’s been described as “luxuriously silky” Cons: The scent is strong, so make sure you like before purchasing Size: 8.4 fl. oz.
This Jo Malone shower oil smells so good — like a field flush with roses. Similar to a candle, it can scent your entire apartment after a morning wash, and yet the fragrance isn’t overwhelming on your skin. Like most of the others, the oil doesn’t foam; it simply lathers into a creamy lather. Reviewers on the website have said it’s “luxury in a bottle” and “simply divine” if you needed any more convincing.
Pros: You can layer this with other Diptyque products for a cohesive smell Cons: It’s on the pricier side for a smaller bottle Key Ingredients: Apricot seed oil Size: 6.8 fl. oz.
This shower oil is the most “liquid-y” of the bunch thanks to an apricot seed oil that lathers into a milky broth. Its tuberose fragrance is so intense that we guarantee people will inquire about your perfume. If you’re a tuberose fan, you’ll love the scent-clinging factor, but if you prefer a less fragranced experience, you’ve been warned. You could also try Diptyque’s L’Ombre dans l’Eau, which the brand helpfully describes as “the story of daydreams, a calm river, a summer slumber under a weeping willow.” (Hou loves this one too, especially in the Philosykos or Fig scent.)
Pros: It’s great to shave with Cons: It doesn’t come in their famous “You” scent, which many people wish it would Key Ingredients: Glycerin, vitamin E, orange blossom neroli Size: 8.4 fl. oz.
This shower oil was so good we already wrote a separate review, so here are the Cliffs Notes. The fragrance is subtle, yet tinged with an adult, baby-powder scent. You can whip up a few small bubbles, but it mostly emulsifies into a milk. Of course it feels good and isn’t drying, but have you checked out its bottle? Put it in your shower, and you’ll want to leave the curtain open when guests come over.
Pros: The lathered texture is milky and a little goes a long way Cons: It only comes in a squeeze bottle, where some prefer a pump Key Ingredients: Argan, sunflower and coconut oils Size: 8.5 fl. oz.
Calling all citrus lovers. The mandarin shower oil from Le Labo is perfect for anyone who loves an easy, yet elevated routine. The fragrant shower oil gently cleanses and moisturizes all at once. Once applied, it lathers up to a milky texture and leaves your skin smelling like fresh oranges.
Dr. Lily Talakoub, a board-certified dermatologist and fellow of the American Board of Dermatology, says shower oil is a soap-free cleanser made without a surfactant, which works like an emulsifier. Most are formulated with an ingredient that allows the oil to transform into a milky texture as soon as it hits water, and you can use it in lieu of soap or body wash. Though they may seem indulgent (and some are), they are also a handy tool in stopping dry, itchy skin before it starts, which is especially important during colder fall and winter months.
Los Angeles–based esthetician Cynthia Franco says they help build a layer of moisture on your skin and maintain its natural oils. (Hello, skin barrier.) For these reasons, many are great for those who have eczema or have other dry-skin conditions. Dr. Talakoub agrees, and says those with sensitive skin would also benefit, although she suggests avoiding shower oils if you have body or back acne. Instead, it’s best to use body washes with salicylic acid and hyaluronic acid that are specifically formulated to target breakouts.
Is shower oil the same as body wash or soap?
Shower oils do not usually whip into a lather like soaps and body washes, but they still cleanse without stripping the skin of moisture. According to Dr. Talakoub, soap is an alkaline salt that lathers with water (basically a detergent for your skin). It effectively removes grime, but can also leave you dry and tight — or even damage your skin barrier. A shower gel or body wash is a water-based cleanser and is usually less stripping than bar soaps.
Can a shower oil actually double as a shaving cream?
That’s actually Dr. Talakoub’s pro tip. Shower oils happen to be a great alternative to shaving cream. “I love to use shower oils instead of shaving foams and gels on my legs, particularly in the winter,” says Dr. Talakoub. “It helps shave my legs without causing my skin to dry out.” Franco also recommends applying Saint Jane’s Nourishing Body Serum post-shower for even softer skin.
What time of year should shower oils be used?
What’s great about shower oils is that the formula is versatile enough to be used year-round, so it’s best suited for every season. However, if you’re prone to dry skin, you should definitely reach for this formula more during the summer and winter months. Why? Well, the harsh weather during that time of year tends to take an extra toll on dry skin types. Shower oils function as an occlusive, which means they create a protective barrier on the skin for added hydration. So during summer heat strokes, when your skin is dried out from sun exposure and chlorine during pool days, this barrier keeps dehydration at bay. And when you face all of the elements in brisk and cold winter months, shower oils replenish the skin with ample amounts of moisture when used daily.
.
Our experts:
Dr. Lily Talakoub, a board-certified dermatologist and fellow of the American Board of Dermatology
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(136),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]