Essential oils don't grow microbes, but they oxidize: air, light and heat change their chemistry, the scent turns flat or sharp, and some oxidized oils, citrus and tea tree among them, are more likely to irritate skin. Citrus oils oxidize fastest; woody and resinous oils keep for years. Amber glass, a full bottle with little air, and a cool, dark shelf are what keep them. In the example below, a Pennsylvania apothecary's sealed bottles of sweet orange oil passed every test through day 480, and they're dated 360 days from bottling, a 25% margin. Below is what ends an essential oil's shelf life, how storage changes it, the study, the date on the bottle, and a free template.
The short version
- Essential oils oxidize; they don't spoil.
- Citrus oils oxidize fastest; woody oils keep longest.
- Oxidized oils can irritate skin more.
- Amber glass, little headspace, a cool, dark shelf.
- Run a real-time study and leave a margin.
- Print the oil, the batch and a date.
- TaroStack gives every batch its date from the shelf life you set. More below.
What ends its shelf life
| What ends it | What happens | What slows it |
|---|---|---|
| Oxidation | Scent turns flat or sharp; skin irritation can rise | Full bottles; tight caps; nitrogen in bulk containers |
| Light | Speeds oxidation | Amber or cobalt glass; out of windows |
| Heat | Speeds every change | A cool shelf |
| Air in a half-used bottle | More oxygen over the oil | Smaller bottles; rebottle bulk into full ones |
How a cosmetic or aromatherapy product's label works is in cosmetic labeling requirements, and what MoCRA asks of a small maker in mocra small business.
How it's stored
| Stored | In the example's tests | On the label |
|---|---|---|
| Sweet orange, full amber bottle, cool and dark | Passed every test through day 480 | Dated 1 year from bottling |
| Sweet orange, clear bottle on a sunny shelf | Flat, sharp scent by day 120 in a side study | Amber bottles only |
| Lavender, amber bottle | A separate study | Dated 2 years from bottling |
The apothecary rebottles its bulk oils into full 15 ml bottles a few times a year rather than leaving a big drum half empty.
An example: a shelf life study
Elder & Oak Apothecary, the made-up apothecary in Pennsylvania I use in these examples, kept sealed 15 ml amber bottles of sweet orange oil from one rebottling on a cool, dark shelf and checked one at each pull:
| Test | Pass if | Day 0 | Day 120 | Day 240 | Day 360 | Day 480 | Day 600 |
|---|---|---|---|---|---|---|---|
| Scent score, 1 to 9 | at least 6 | 9 | 9 | 8 | 7 | 6 | 5 |
| Sharp or turpentine note, 1 to 5 | at most 2 | 1 | 1 | 1 | 2 | 2 | 3 |
| Peroxide value, meq O2/kg | at most 20 | 3 | 5 | 8 | 12 | 18 | 28 |
| All pass? | Pass | Pass | Pass | Pass | Pass | Fail |
Everything passed through day 480; at day 600 the scent fell below 6, a sharp note came through and the peroxide value passed the example's limit. Taking a 25% margin off day 480 gives 360 days, a year. How the pulls and margin are planned is in shelf life testing.
The date on the label
No federal rule requires an expiration date on a cosmetic; the maker is responsible for the product staying safe for as long as it's sold and used, and a stability study is how a small maker knows. Many print a batch code, an expiration or best-by date, and the open-jar symbol with a number of months, the period after opening. An oil sold for aromatherapy with no skin use claimed is still labeled with what it is, its batch and its date.
Get the template
Download the essential oil shelf life study template. One sheet: the product, the lot tested, the day it was made, how it's stored and the margin to leave; then each test with its limit and the result at each pull. It marks each pull pass or fail, finds the last day everything passed, takes the margin off, and gives the shelf life for the label and the date for a batch made today. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
The study gives one date for one oil. Twenty oils, each with its own date, rebottled from drums a few times a year: someone has to date each rebottling, give citrus its shorter date, and sell the oldest bottles first.
How TaroStack does it
TaroStack gives every batch its date from the shelf life you set, and sends the oldest out first.
Dates from the shelf life. Each oil carries its shelf life in days, and each batch's lot gets its production date and the date that follows from it.
First-expired-first-out. Orders take the oldest lots first by default, and a shop can be set to take only stock with enough days left.
What's coming up. A forecast shows what will expire unsold and what it costs, and anything thrown out is recorded with its reason, expired or spoiled, so waste shows by item.
| The job | Spreadsheet | In TaroStack |
|---|---|---|
| The date on a batch | Worked out by hand | From the shelf life, on the lot |
| Which batch goes out first | Dates on tape | First-expired-first-out |
| Stock with enough days for a shop | Checked by hand | The customer's shelf-life rule |
| What expired last month | Not counted | Waste by reason |
Lots, dates, first-expired-first-out and the expiry forecast are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
