Fresh coffee beans representing roast-date freshness — Bean Reaper

Roast Date vs. Expiration Date: What to Look For on a Coffee Bag

The short answer

A roast date tells you when the coffee was roasted. A best-by date is a shelf-life estimate, typically set 12 to 18 months after roasting. A packed-on date tells you when it was bagged. Only the roast date lets you judge freshness, because peak flavor lasts 5 to 21 days.

There are two dates that might appear on a bag of coffee. One tells you when the coffee was roasted. The other tells you when the retailer expects to pull it from the shelf. Only one helps you buy fresh coffee.

What a Roast Date Tells You

A roast date tells you exactly when the coffee was transformed from green bean to what's in the bag. It's the single most useful piece of freshness information, because peak flavor occurs in a narrow window after roasting — generally 5 to 21 days.

With a roast date, you can calculate exactly where in its freshness window a coffee sits. A bag roasted 10 days ago is near peak. A bag roasted three weeks ago is still drinkable but past peak. A bag roasted four months ago is stale, regardless of what the packaging looks like.

What an Expiration Date Tells You

An expiration or best-by date is a retailer-facing logistics number. It's typically set 12 to 18 months after roasting — a range chosen for retail shelf life management, not peak cup quality. It has almost nothing to do with whether the coffee in the bag is fresh.

A bag showing "best by December 2027" could have been roasted in January 2026, July 2026, or October 2026. You have no way to know. That difference represents a dramatic difference in flavor.

Roast Date vs. Best-By vs. Packed-On: Side-by-Side Comparison

A third date shows up often enough to confuse people: the packed-on or packaged-on date. It is not a roast date, and treating it as one is the most common mistake on this subject.

Roast date Best-by / expiration date Packed-on / packaged-on date
What it actually marks The day the green coffee was roasted The day the seller estimates the bag should leave the shelf The day the roasted coffee was sealed into this bag
Who it's written for You, the person drinking it Retailers and inventory systems The packing facility
Typical framing A specific past date, often stamped or handwritten Usually 12 to 18 months after the roast A specific past date, sometimes as a code
Lets you judge freshness? Yes — directly No Only partly
What it can hide Nothing. It's the number itself An entire year of possible roast dates Green or roasted coffee that waited before being bagged
How to use it Count the days since. Inside 21 is good Subtract 12–18 months for a rough roast estimate Treat it as the earliest the roast could have been

The one useful thing about a packed-on date is that it sets a ceiling on freshness. Coffee cannot be fresher than the day it was bagged, but it can easily be much older — bulk-roasted stock is sometimes held before packaging. So a packed-on date rules out good news; it never confirms it.

Why Most Coffee Companies Use Expiration Dates Instead

It's uncomfortable to print a roast date when you're a large roaster with long supply chains. A date showing the coffee was roasted six months ago draws attention to the staleness that's baked into the retail model.

Specialty roasters who sell direct-to-consumer are the ones most likely to display roast dates prominently — because when your coffee ships within days of roasting, the roast date is a selling point rather than a liability.

How to Decode Julian Date Codes and Batch Numbers on a Coffee Bag

Sometimes a bag has no readable date at all — just a string of digits inkjetted near the seam. Often that string is a Julian date code, and it's decodable in about ten seconds once you know the format.

A Julian date is simply the day of the year, numbered 001 to 365 (366 in a leap year). January 1 is 001. December 31 is 365. It's used because it's compact and unambiguous on a production line.

Most coffee codes take one of these shapes:

  • Three digits: 082 — day of year only, current year assumed.
  • Four digits: 6082 — last digit of the year first or last, plus the day of year.
  • Five digits: 26082 — two-digit year plus the day of year.
  • Day of year plus a plant or shift code: 082 A2 — the letters and trailing digits identify the line, roaster or shift, not the date.

A worked example

Say the bag reads 26082.

  1. Split it. 26 is the year: 2026. 082 is the day of the year: the 82nd day.
  2. Count the months off. January has 31 days, so day 31 is January 31. Adding February's 28 gets you to day 59 — that's February 28.
  3. Take the remainder. 82 minus 59 leaves 23, so you're 23 days into March.
  4. Read the date. Day 082 of 2026 is March 23, 2026.

Same method on a shorter code: 155 lands past January (31), February (59), March (90), April (120) and May (151), leaving 4 — so day 155 is June 4.

Two things that will trip you up

Leap years. In a leap year February has 29 days, so every date after February 29 shifts by one. If your decoded date falls in a leap year and lands after February, check whether you need to subtract a day.

Whether the code is a roast date or a best-by date. This is the important one, and the test is simple: decode it and look at where it lands. If the date is in the past, it's almost certainly a roast, pack or production date. If it's in the future, it's a best-by date — subtract 12 to 18 months to estimate the roast. A code decoding to a date eleven months from now is not telling you the coffee is fresh.

What about batch and lot numbers?

Codes that aren't date-shaped — LOT 4471, B3–17, long alphanumeric strings — are internal traceability references. They identify which production run a bag came from so the company can trace a problem back to its source. They are not consumer-facing and there is no public key to decode them. If a batch number is the only marking on the bag, you cannot determine freshness from the packaging, and you should assume the answer isn't flattering. A company confident about its roast date prints its roast date.

How to Estimate Roast Date from a Best-By Date

If a bag shows only a best-by date and no roast date, you can estimate backwards:

  • Subtract 12 to 18 months from the best-by date
  • That range is approximately when the coffee was roasted
  • If even the most generous end of that range is months ago, the coffee is past its peak

This is imperfect, but it beats treating a best-by date as a freshness indicator.

What to Look For When Buying Coffee

Look for a roast date, not an expiration date — and specifically, a roast date within the last two to three weeks. Any bag that doesn't show a roast date prominently is either hiding something or doesn't think freshness matters. Either answer tells you something.

Direct-to-consumer specialty roasters control the chain from roasting to your door, which is why they're your best bet for fresh coffee.

Bean Reaper stamps every bag with the roast date because we roast after your order. The date on your bag is the date your coffee was roasted, and it ships within 2 business days of that.

The short version

  • Roast date is the only date that answers "is this fresh?"
  • Best-by is a shelf-management number, typically 12–18 months post-roast.
  • Packed-on caps how fresh coffee can be — it never proves freshness.
  • A Julian code is just the day of the year: 26082 = day 82 of 2026 = March 23.
  • If the decoded date is in the future, it's a best-by, not a roast date.

Frequently Asked Questions

Is a roast date the same as an expiration date?

No, and they aren't even measuring the same thing. A roast date is a fact about the past — the day the coffee was roasted. A best-by or expiration date is an estimate about the future, typically set 12 to 18 months after that roast for shelf-management reasons.

What does a Julian date on a coffee bag mean?

It's the day of the year, numbered 001 to 365. Day 001 is January 1 and day 365 is December 31. A code like 26082 means the 82nd day of 2026, which is March 23, 2026.

My bag only has a best-by date. How old is the coffee?

Subtract 12 to 18 months from the best-by date for a rough roast window. That's the best you can do, and it's why the estimate is a reason to buy elsewhere rather than a reason to feel reassured.

Does a packed-on date tell me when the coffee was roasted?

Not reliably. It tells you when the coffee was sealed into the bag, which may be well after it was roasted. Treat it as the earliest possible roast date, never as the actual one.

How fresh should the roast date be when I buy?

Within the last two to three weeks is ideal, since peak flavor runs from roughly 5 to 21 days post-roast. Buying at day 2 is fine too — the coffee just needs a few days on your shelf to finish degassing.

Order coffee with a roast date on every bag

Keep reading: How Long Does Coffee Stay Fresh? | Why Fresh-Roasted Coffee Tastes Better | The Bean Reaper Freshness Promise

Back to blog