Per USDA FoodKeeper
On the counterCounter
1 year
cool, dry place
In the fridgeFridge
6 months
at or below 40°F (4°C)
In the freezerFreezer
Not listed
no FoodKeeper figure
On the counterCounter
1 year
cool, dry place
In the fridgeFridge
Not needed
shelf-stable
In the freezerFreezer
Not needed
keeps without freezing
Quick answer
Yes. Brown rice lasts 1 year in the pantry. After that, or sooner if stored badly, it spoils: watch for the signs below.
How to tell if brown rice is bad
Smell
Musty, sour or rancid odour.
Texture
Clumping from moisture, or a damp feel.
Pests
Webbing, holes, or tiny insects in the bag.
Flavour
Flat, stale or bitter taste — quality is gone even if it is safe.
Brown rice past the expiration date
Unopened
FoodKeeper gives unopened brown rice 1 year in the pantry, counted from the day you buy it. "Best-by" and "sell-by" describe quality and stock rotation, not safety; only infant formula carries a federally required use-by date.
Opened
Once opened, the printed date no longer applies. Count 6 months in the fridge or 1 year in the pantry from the day you open it.
How to keep brown rice fresh longer
- Store in an airtight container in a cool, dark, dry place.
- Keep away from the stove and dishwasher, where heat and humidity speed spoilage.
- Write the opening date on the pack.
More about brown rice
FAQ
How long does it take for brown rice to go bad?
1 year in the pantry, per USDA FoodKeeper.
Can brown rice expire?
FoodKeeper gives unopened brown rice 1 year in the pantry, counted from the day you buy it. "Best-by" and "sell-by" describe quality and stock rotation, not safety; only infant formula carries a federally required use-by date.
What happens if you eat bad brown rice?
Usually an unpleasant taste rather than illness, but discard anything mouldy, rancid or smelling off.
How do you keep brown rice from going bad?
Store in an airtight container in a cool, dark, dry place.
Numbers on this page come from USDA FoodKeeper and FSIS guidance. Last verified November 2026. How we verify our data · Report a wrong number