Freshness Check
{{ model.verdict.label }}
{{ model.summaryLine }}
{{ model.ageLabel }} {{ methodInfo.label }} {{ storageInfo.shortLabel }} {{ model.riskLabel }}
{{ model.warnings.join(' · ') }}
Coffee freshness inputs
The date the coffee was roasted.
The date you want to judge freshness against.
Choose the workflow that will use this coffee.
Pick the nearest roast profile printed by the roaster.
Use whole beans unless the bag is already ground.
Choose the closest container and handling pattern.
Approximate how often the container is opened.
x/day
Adjust for the room where the coffee sits most of the day.
Controls how quickly the checker moves from peak to good, fading, and stale.
Optional amount left in the bag or canister.
g
Approximate grams used per day.
g/day
Marker Date / age Stage Use guidance Copy
{{ row.marker }} {{ row.when }} {{ row.stage }} {{ row.guidance }}
Check Status Impact Action Copy
{{ row.check }} {{ row.status }} {{ row.impact }} {{ row.action }}

          
Customize
Advanced
:

A roasted coffee bag keeps changing after it leaves the roaster. Carbon dioxide trapped inside the bean structure escapes first, then aroma compounds fade as oxygen, heat, moisture, light, and handling keep working on the coffee. The best drinking period is rarely the roast date alone. Many coffees need a short rest before they taste balanced, while older coffee can still brew usable cups after its most expressive period has passed.

The freshness window is the practical period when the coffee is likely to behave well for the brew method you care about. Espresso usually asks for more rest because excess gas can disturb puck resistance, flow, and crema. Filter, immersion, and cupping-style brews tolerate a broader range because water contact and pressure are gentler. Moka pot sits between those habits, with pressure-driven extraction but less sensitivity than a dialed espresso setup.

Common coffee freshness pressures
Freshness pressure What changes in the cup Typical planning cue
Carbon dioxide Very fresh coffee can bloom aggressively or make espresso flow unstable. Rest the coffee before treating a recipe as final.
Oxygen exposure Aroma and sweetness fade, and stale or rancid notes become easier to notice. Keep opened coffee sealed with as little headspace as practical.
Grind surface area Ground coffee gives oxygen more surface to attack than whole beans. Use pre-ground coffee sooner, especially fine espresso grind.
Heat, moisture, and light Warm, humid, or clear storage speeds the tail end of flavor loss. Choose a cool, dark, airtight container over a display jar.
Repeated opening Each opening exchanges protective headspace for fresh air. Split larger bags into smaller sealed portions when possible.
Coffee freshness curve showing carbon dioxide falling, aroma loss rising, and rest, peak, good, and fading periods after roast.

Roast date gives the calendar anchor, but it does not settle the answer alone. Light roasts often need more rest before acidity and sweetness feel settled. Dark roasts usually release gas sooner and can taste flat sooner. Whole beans protect aromatic compounds longer than ground coffee, and unopened valve bags behave differently from a jar that is opened several times a day.

Freshness is a flavor and brewing-behavior estimate, not a food-safety date. Dry roasted coffee normally loses quality before it becomes unsafe, but moisture damage, mold, contamination, or a rancid smell should override any freshness window. The most reliable decision still comes from matching the date estimate with aroma, bloom, espresso flow, sweetness, bitterness, and the way the cup actually tastes.

How to Use This Tool:

Start with the bag date and intended brew method, then add the handling details that shorten or extend the post-peak dates.

  1. Set Roast date to the roasted-on date printed by the roaster. Set Check date to today, a future opening date, or the day you plan to brew. The summary should show the coffee age once both dates are valid.
  2. Choose Brew method before judging the result. Espresso opens later than Filter / immersion, while Moka pot uses a middle range.
  3. Choose Roast level and Bean state. Light, medium, and dark roasts use different rest and tail lengths. Whole beans keep the full window, while coarse, medium, and fine ground choices shorten it.
  4. Set Storage and Opens per day. A sealed valve bag, airtight opaque container, loose bag, clear jar, and frozen portion all change the storage risk and date shifts.
  5. Open Advanced when room conditions or review standards matter. Storage climate accounts for cool pantry, normal room, warm counter, or humid kitchen storage. Freshness stance makes the estimate conservative, balanced, or generous.
  6. Add Bag remaining and Daily use if you want Storage Checks to compare your expected finish date with the Good through date. Leave daily use at zero when you only need the freshness windows.
  7. Use Freshness Windows for calendar dates, Storage Checks for the reasons behind the verdict, and Freshness Timeline for the day-by-day score curve. If an invalid date warning appears, fix the date field before trusting the tables or timeline.

For planning, run the same bag twice with different check dates. That shows whether opening it today, waiting for espresso rest, or using it before another bag makes more sense.

Interpreting Results:

The summary verdict is the first read. Too fresh and Resting mean the coffee may still be changing quickly. Peak window means the selected setup is in its strongest date range. Good window means normal brewing is still reasonable, while Fading and Stale / replace soon tell you to use the coffee soon or move it away from flavor-critical brewing.

Freshness score is a 0 to 100 guide for the timeline, not a lab measurement. A high score does not guarantee a good cup when storage is poor, and a lower score does not prove the coffee is unsafe. Check the exposure badge, warnings, and Storage Checks rows before acting on the date alone.

Coffee freshness result cues
Result cue Practical read What to verify
Peak window Use the bag for espresso dialing, pour-over tasting, cupping, or another flavor-sensitive brew. Confirm aroma, bloom, sweetness, and flow before changing the recipe.
Good window The peak has passed, but the coffee should still be practical for daily brewing. Watch for muted acidity, flatter fragrance, or a weaker bloom.
Fading Prioritize the bag before opening another one, or use it for milk drinks, cold brew, or less exacting cups. Compare Good through, Fading through, and your expected finish date before opening another bag.
High exposure Grind, storage, climate, or opening frequency is making the date estimate less forgiving. Tighten storage and trust sensory evidence sooner than the far end of the window.

If the timeline and the cup disagree, let the cup win. Sour, bubbly, unstable espresso may need more rest even inside a usable date range, while an older coffee that still smells sweet and brews cleanly may remain fine for everyday use.

Technical Details:

Roasted coffee freshness is governed by two overlapping processes. Degassing releases carbon dioxide formed during roasting, and staling gradually removes or changes volatile aroma compounds. Early degassing can make extraction jumpy, especially for espresso. Later oxidation, moisture exposure, and volatile loss make the cup flatter, less aromatic, or rancid.

The date windows are built from a brew-method and roast-level baseline, then adjusted by grind exposure, storage choice, room climate, opening rhythm, unopened handling, and freshness stance. Rest start and rest end come from the baseline. Peak, good, and fading endpoints are then shortened or extended by the handling factors, with each later endpoint anchored to the previous one so the stages stay in order.

Formula Core:

The calculation uses whole local days between the roast date and check date, then converts the baseline window spans into adjusted endpoints.

A = whole days from roast date to check date Popen = max(0,opens per day-1) ×2.4 ×grind exposure ×storage open scale En = max(anchor+1, round(anchor+Sn ×Fg +Hn +C +Bn +U -Popen))
Freshness formula symbols
Symbol or term Meaning
AAge in whole local days from Roast date to Check date.
PopenOpening penalty. No penalty is applied at 0 or 1 opening per day, then extra openings subtract freshness days.
EnAn adjusted endpoint, such as peak close, good through, or fading through.
anchorThe previous endpoint. Peak close anchors on peak start, good through anchors on peak close, and fading through anchors on good through.
SnThe baseline span for that endpoint from the selected brew method and roast level.
FgThe grind window factor. Whole beans use the full span, while ground coffee uses a reduced span.
Hn, C, Bn, UStorage shift, climate shift, freshness stance shift, and unopened credit.

For a medium roast filter coffee stored as whole beans in an airtight opaque container, with normal room conditions, one opening per day, and balanced stance, the baseline is unchanged. Rest runs from day 3 to day 7, peak runs through day 24, good runs through day 38, and fading runs through day 52. Changing only the bean state to medium ground applies a 0.34 grind factor to the post-peak spans, so later endpoints compress sharply.

Coffee freshness baseline ranges by brew method and roast level
Brew method Roast Rest range Peak through Good through Fading through
Filter / immersionLightday 5 to 10day 28day 42day 60
Filter / immersionMediumday 3 to 7day 24day 38day 52
Filter / immersionDarkday 1 to 4day 16day 28day 40
EspressoLightday 10 to 16day 38day 52day 70
EspressoMediumday 7 to 12day 32day 46day 60
EspressoDarkday 4 to 8day 22day 34day 46
Moka potLightday 7 to 13day 32day 46day 62
Moka potMediumday 5 to 10day 28day 40day 54
Moka potDarkday 3 to 7day 20day 32day 44

Rule Core:

Stage labels are assigned by comparing coffee age with the adjusted endpoints. Boundary days are inclusive at the end of each stage.

Coffee freshness stage boundaries
Age condition Verdict Interpretation
A < 0Not roasted yetThe check date is before the roast date.
0 <= A < rest startsToo freshWait before treating flavor or espresso flow as settled.
rest starts <= A <= rest throughRestingA test brew may be useful, but the coffee is still opening up.
rest through < A <= peak throughPeak windowUse for flavor-critical brewing.
peak through < A <= good throughGood windowUse normally while watching for aroma fade.
good through < A <= fading throughFadingUse soon or for less demanding preparations.
A > fading throughStale / replace soonReplace for clarity, sweetness, crema, or recipe calibration.
Freshness score curve behavior
Score region Score behavior Why it matters
Before rest startsRises from about 42 to 62.Very fresh coffee is improving, but extraction may still be unsettled.
RestingRises from about 64 to 80.Gas is settling and the cup is becoming more predictable.
Peak windowStarts near 96 and eases toward 88.The date sits in the strongest modeled flavor range.
Good windowDeclines from about 84 to 66.Everyday brewing should still work, but peak aromatics are passing.
Fading and stale tailFalls through about 60 to 32, then declines toward a floor of 8.The timeline keeps showing direction after the practical freshness window ends.

Limitations:

Freshness estimates cannot see roast development, green coffee quality, packaging oxygen, bean density, grinder performance, water chemistry, or your taste preference. Treat the result as a planning guide for flavor and brewing behavior, not as proof that a bag is good, bad, safe, or unsafe.

  • Moisture damage, visible mold, contamination, or rancid smell should override every date result.
  • Frozen portions are only helpful when sealed well and handled so condensation does not wet the beans.
  • Ground coffee windows are intentionally short because surface area exposure can dominate the freshness estimate.
  • Roasters may recommend different rest periods for specific coffees, especially dense light roasts, decaf coffees, or espresso blends.

Worked Examples:

A medium roast filter coffee roasted on May 1 and checked on May 11 is 10 days old. With whole beans, airtight opaque storage, normal room climate, one opening per day, and balanced stance, Current check should read Peak window. Peak opens lands on May 8, Peak closes on May 25, and Good through on June 8.

A light roast espresso coffee roasted on May 1 and checked on May 6 is only 5 days old. The espresso baseline starts later, so Current check should be Too fresh. Rest starts appears around day 10, and Peak opens around day 16. The practical response is to wait before treating fast flow, heavy crema, or sharpness as a final dial-in problem.

A medium-ground filter coffee in a loose bag on a warm counter with four openings per day can collapse quickly. If it was roasted on May 1 and checked on May 13, the combined grind factor, storage shift, climate shift, and opening penalty can push Fading through close to day 10, making Current check read Stale / replace soon. The Storage Checks rows point to the fix: seal the coffee, reduce openings, and use it before opening a fresher bag.

A troubleshooting case starts with a blank or malformed date. The result area stays blocked by messages such as Enter a valid roast date. or Enter a valid check date. Fix the date first, then review Freshness Windows and Freshness Timeline again.

FAQ:

Why can coffee be too fresh?

Freshly roasted coffee still releases carbon dioxide. That gas can make espresso flow, crema, bloom, and extraction less stable, so the result may show Too fresh or Resting before the Peak window opens.

Why does espresso open later than filter coffee?

Espresso is more sensitive to gas because water is forced through a compact puck. The Espresso brew method therefore uses later rest and peak dates than Filter / immersion.

Why does pre-ground coffee shorten the result?

Grinding exposes much more surface area to oxygen. Ground coarse, Ground medium, and Ground fine all reduce the post-peak spans, with fine ground treated as the shortest-use choice.

Can stale coffee still be safe?

Dry roasted coffee often becomes stale before it becomes unsafe. Do not drink coffee with mold, moisture damage, contamination, or rancid smell, even if the date window still looks acceptable.

Why are the freshness tables missing?

The tables need valid dates. If the page shows Enter a valid roast date. or Enter a valid check date., correct the date field and the freshness windows will return.

Glossary:

Degassing
The release of carbon dioxide after roasting, which can affect bloom, espresso flow, and early extraction.
Freshness window
The practical date range when a coffee is expected to rest, peak, brew well, fade, or taste stale for the selected setup.
Peak window
The estimated period when flavor and brewing behavior are strongest for the selected brew method and handling choices.
Good-through date
The last modeled date before the coffee moves from Good window to Fading.
Opening penalty
The day adjustment caused by opening the storage container more than once per day.
Freshness score
A 0 to 100 timeline guide that rises during rest, stays high during peak, and falls through good, fading, and stale stages.

References: