Guide · DIY

How to make your own bath oil

Homemade bath oil is just a light base oil, a little vitamin E and a few drops of essential oil. The basic recipe below makes about 100 ml (3.4 oz), enough for six to eight baths, and costs a fraction of a luxury bottle.

Updated October 2026 · We may earn a commission from shop links, how this works

Basic bath oil (floating)

  • 60 ml (¼ cup) sweet almond oil, or sunflower if you have a nut allergy
  • 30 ml (2 tbsp) jojoba or fractionated coconut oil
  • ½ teaspoon vitamin E oil (helps the oils keep longer)
  • 20–30 drops essential oil in total
  1. Pour the base oils into a clean, dry glass bottle (amber or cobalt keeps light out).
  2. Add the vitamin E and essential oils.
  3. Cap and shake. Label it with the date.
  4. Use one to two tablespoons per bath, under the running tap. Shake first.

Shop amber glass bottles on Amazon →

Dispersing version (turns water milky)

Add a solubiliser so the oil mixes into the water instead of floating. It's less slippery, less greasy, and spreads essential oils more safely. Replace 20 ml of the base oil with 20 ml of polysorbate 80, then shake well before each use. The water will go cloudy, which means it's working.

Shop polysorbate 80 on Amazon →

Choosing a base oil

  • Sweet almond: the classic. Light, soft, inexpensive. Avoid with nut allergies.
  • Jojoba: technically a liquid wax. Very stable, long shelf life, not greasy.
  • Fractionated coconut: stays liquid, no smell, very light.
  • Sunflower or grapeseed: cheap, light, nut-free. Shorter shelf life.
  • Avocado or apricot kernel: richer, for very dry skin.

Shop sweet almond oil on Amazon →

Scent blends

For the 100 ml recipe, use one of these. They come to about 1–1.5%, a gentle level for bath use.

  • Spa: 12 lavender + 8 eucalyptus + 4 rosemary
  • Sleep: 14 lavender + 6 Roman chamomile + 4 cedarwood
  • Rose garden: 10 geranium + 8 palmarosa + 4 rose absolute (or rose blend)
  • Citrus wood: 10 sweet orange + 8 frankincense + 6 sandalwood

Keep cinnamon, clove, oregano and thyme out. They irritate skin even in small amounts. More in the essential oils safety guide.

Shelf life and storage

Stored cool and away from light, most homemade bath oils keep for 6 to 12 months. Jojoba and fractionated coconut last longest; sunflower and grapeseed are the shortest-lived. Throw it out if it smells like crayons or old cooking oil, because that means it's rancid. Since the recipe has no water, it doesn't need a preservative. Keep water out of the bottle.

Making it a gift

A 100 ml glass bottle with a cork or dropper, a hand-written label and a sprig of dried lavender tied on with twine makes a good present. Put the ingredients and the "use 1–2 tablespoons per bath" instruction on the label, and mention almond oil for anyone with a nut allergy.

Shop gift bottles on Amazon →

Frequently
asked questions

All bath oil guides
What is the best oil for homemade bath oil?

Sweet almond oil is the classic: light, soft and inexpensive. Jojoba and fractionated coconut oil last longest. Use sunflower if anyone has a nut allergy.

How do you make bath oil that mixes with water?

Add a solubiliser such as polysorbate 80, about one part to four parts oil. It disperses the oil through the water so it goes milky instead of floating.

How long does homemade bath oil last?

Usually 6 to 12 months if kept cool and out of light. Adding vitamin E helps. If it starts to smell stale or like crayons, it has gone rancid.

Can I use olive oil as bath oil?

You can, but it's heavy and has a noticeable smell. Lighter oils like sweet almond, sunflower or jojoba feel nicer and scent more cleanly.