Food poisoning can hit as fast as 30 minutes after eating contaminated food, or it can take days or even weeks to show up. The timing depends entirely on what made you sick. Toxins already present in the food cause the fastest reactions, while bacteria that need to multiply inside your body take much longer.
Why Timing Varies So Much
There are two fundamentally different ways food poisoning works, and this distinction explains the enormous range in onset times.
Some bacteria produce toxins directly in the food before you ever eat it. These preformed toxins are already active when they hit your stomach, so your body reacts almost immediately. They’re also heat-resistant, meaning cooking doesn’t neutralize them. The result is sudden, intense vomiting, often within a few hours of eating.
Other types of food poisoning require live bacteria to enter your digestive tract, multiply, and either invade the intestinal lining or produce toxins inside your body. That growth phase takes time, which is why some infections don’t cause symptoms for three, four, or even five days after the meal you’d blame.
The Fastest: 30 Minutes to 8 Hours
Staph food poisoning is the classic rapid-onset illness. Symptoms, primarily nausea and vomiting, typically start within 30 minutes to 8 hours after eating contaminated food. The culprit is a toxin produced by Staphylococcus aureus bacteria, usually when food sits at room temperature long enough for the bacteria to multiply and release toxins into the food itself. By the time you eat it, the damage is already baked in.
Bacillus cereus, commonly associated with reheated rice and pasta, causes a similar rapid vomiting syndrome with onset in 1 to 5 hours. The same organism can also cause a diarrheal form of illness, but that version takes longer, typically 8 to 16 hours, because those toxins are produced inside your gut rather than in the food.
Clostridium perfringens, often linked to large batches of meat or gravy that cool slowly, falls in this window too, with symptoms appearing 6 to 24 hours after eating.
The Middle Range: 12 Hours to 6 Days
Most of the food poisoning cases people commonly experience fall into this category. Norovirus, the single most common cause of foodborne illness, has an incubation period of 12 to 48 hours. It’s the bug behind many “stomach flu” episodes and restaurant outbreaks, causing sudden vomiting and watery diarrhea that typically resolve within one to three days.
Salmonella symptoms usually appear 12 to 36 hours after eating contaminated food, though the full range stretches from 6 hours to 6 days. Illness typically lasts 2 to 7 days. Vibrio, a bacterium found in raw or undercooked shellfish, tends to cause symptoms within 24 hours.
The Slow Burners: Days to Weeks
Some of the more serious foodborne pathogens have surprisingly long incubation periods, which makes them harder to trace back to a specific meal.
Campylobacter, one of the most common bacterial causes of diarrheal illness worldwide, takes 2 to 5 days to produce symptoms. E. coli infections typically appear at 3 to 4 days, though symptoms can start as early as one day or as late as ten days after exposure.
Listeria is the extreme case. In healthy people who eat a large dose of the bacteria, digestive symptoms like diarrhea and fever can start within 24 hours. But invasive listeriosis, the more dangerous form that enters the bloodstream, has a median incubation period of about 2 days for blood infections and 9 days for infections involving the brain. In pregnant women, the median incubation period stretches to nearly 28 days, with cases documented as late as 67 days after exposure. Cyclospora, a parasite, takes about a week.
How to Narrow Down What Made You Sick
Counting backward from when your symptoms started is the most practical way to figure out which meal was responsible. If you started vomiting within a few hours of eating, that most recent meal is the likely culprit, and a preformed toxin is probably to blame. If diarrhea and cramps started three or four days after a particular meal, you’re looking at a bacterial infection like Campylobacter or E. coli.
This is where most people go wrong: they almost always blame the last thing they ate. But if your symptoms are primarily diarrhea (not vomiting) and started two or more days into feeling off, the responsible meal was likely several days ago. That chicken salad from Tuesday could easily be the cause of Thursday’s misery.
What the Symptoms Tell You
The type of symptom, not just the timing, offers clues about what’s happening in your body. Preformed toxin illnesses are dominated by vomiting. Your body is essentially trying to expel the toxin as fast as possible, and symptoms tend to resolve within 24 hours.
Bacterial infections that take days to incubate are more likely to cause watery or bloody diarrhea, abdominal cramps, and fever. These symptoms reflect actual damage to the intestinal lining and an immune response to the invading bacteria. They also last longer, commonly 2 to 7 days depending on the organism.
Bloody diarrhea is worth paying close attention to. It’s a hallmark of Shiga toxin-producing E. coli and Shigella infections, both of which carry a higher risk of complications. E. coli symptoms typically start at 3 to 4 days, while Shigella appears a bit sooner, at 1 to 4 days.
Quick Reference by Pathogen
- Staph toxin: 30 minutes to 8 hours
- Bacillus cereus (vomiting type): 1 to 5 hours
- Bacillus cereus (diarrheal type): 8 to 16 hours
- Clostridium perfringens: 6 to 24 hours
- Norovirus: 12 to 48 hours
- Vibrio: within 24 hours
- Salmonella: 6 hours to 6 days (usually 12 to 36 hours)
- Botulism: 18 to 36 hours
- Shigella: 1 to 4 days
- Campylobacter: 2 to 5 days
- E. coli: 3 to 4 days (range of 1 to 10 days)
- Cyclospora: about 1 week
- Listeria (digestive only): within 24 hours
- Listeria (invasive): 2 days to several weeks