Cold brew loses flavor over days as it oxidizes, but the bigger question is safety: it's a low-acid drink, and a sealed bottle of a low-acid drink kept warm is where dangerous bacteria can grow. So refrigerated cold brew is kept cold from the tank to the customer's fridge and carries a short date. Shelf-stable cold brew is a different product, made under FDA's rules for low-acid canned foods. In the example below, an Oʻahu maker's refrigerated bottles passed every test through day 21, and they say use by 15 days, a 25% margin. Below is what ends cold brew's shelf life, cold against warm, the study, the date on the bottle, and a free template.
The short version
- Refrigerated cold brew keeps days to weeks.
- It's low in acid: keep it cold, always.
- Flavor fades as it oxidizes.
- Shelf-stable cold brew is made under the low-acid canned food rules.
- Run a real-time study, refrigerated, with lab counts.
- Print "Keep refrigerated" and a use-by 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 |
|---|---|---|
| Microbes | Bacteria can grow in a low-acid drink | Clean equipment; cold steeping and storage; sealed bottles |
| Oxidation | Flavor turns flat and sour | Little headspace; cold storage |
| Warmth | Speeds everything and risks safety | Cold from the tank to the shop fridge; insulated delivery |
| Sediment | Fines settle in the bottle | Fine filtering |
Brewing by the tank is in how to make cold brew in bulk, and the choice between refrigerated and shelf-stable in cold brew co-packer.
How it's stored
| Stored | In the example's tests | On the label |
|---|---|---|
| Refrigerated, 34 to 38°F | Passed every test through day 21 | Use by 15 days |
| Room temperature | Not tested: always kept cold | "Keep refrigerated" |
| Shelf-stable, from a co-packer | A different product and process | Dated by the co-packer's process |
There was no room-temperature test on purpose; a low-acid drink isn't left warm to see what happens.
An example: a shelf life study
Kaimana Cold Brew, the made-up cold brew maker on Oʻahu I use in these examples, kept 12-ounce bottles from one brew in the cooler, tasted one and sent one to a lab at each pull:
| Test | Pass if | Day 0 | Day 5 | Day 10 | Day 14 | Day 21 | Day 28 |
|---|---|---|---|---|---|---|---|
| Taste score, 1 to 9 | at least 6 | 9 | 9 | 8 | 7 | 6 | 4 |
| Aroma score, 1 to 9 | at least 6 | 9 | 8 | 8 | 7 | 6 | 5 |
| Aerobic plate count, lab, CFU/ml | at most 1000 | 10 | 10 | 30 | 80 | 200 | 1500 |
| All pass? | Pass | Pass | Pass | Pass | Pass | Fail |
Everything passed through day 21; at day 28 the taste fell below 6 and the plate count passed the example's limit. Taking a 25% margin off day 21 gives 15 days. How the pulls and margin are planned is in shelf life testing.
The date on the label
Because refrigerated cold brew depends on staying cold, the maker prints "Use by" and "Keep refrigerated". In California, food made from July 1, 2026 that shows a date uses "USE by" for a safety date, in sell by date law, and how to write the date is in best by date format. Starting the business is in how to start a cold brew coffee business.
Get the template
Download the cold brew 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 brew. A house blend and a decaf, brews three times a week, cafés that reorder by text: someone has to date each brew and send the oldest bottles first, and none past its date.
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 cold brew 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 café 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 café | 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.
