Blog post
Hazard Analysis Examples for Restaurant HACCP Plans
Worked hazard analysis examples for chicken, rice, salads, burgers and sushi, with a step by step method and a blank worksheet layout for your plan.
Updated · Limits cite the FDA Food Code 2022
These hazard analysis examples show how a restaurant works through HACCP principle 1, step by step, for real menu items. A hazard analysis looks at each step in your process, asks what could go wrong, and decides which hazards need control and where. It is the part of a HACCP plan that people find hardest to start, so the examples below are written in the same table format you can use in your own plan.
They are written for US restaurants, food trucks, caterers and small producers. They use the FDA Food Code 2022 for limits. Your own analysis has to reflect your menu and kitchen, and the plan is a draft for your health department to review.
What a hazard analysis is
The NACMCF HACCP principles and application guidelines describe the hazard analysis as a two-stage process:
- Hazard identification. List every potential biological, chemical and physical hazard at each step, based on the ingredients, the process, the equipment, the people and the customers.
- Hazard evaluation. For each one, judge how likely it is and how severe the illness or injury would be, and decide whether it is reasonably likely to occur without control.
Hazards that pass the evaluation need a control measure. Some of those controls will be CCPs; others will be prerequisite programs.
Types of hazards in a restaurant
Biological
- Bacteria: Salmonella, Campylobacter, Shiga toxin-producing E. coli, Listeria monocytogenes, Clostridium perfringens, Bacillus cereus, Staphylococcus aureus, Clostridium botulinum.
- Viruses: norovirus and hepatitis A, usually spread by ill workers or contaminated shellfish.
- Parasites: Anisakis in fish, Cyclospora on produce.
The CDC's food safety guidance (CDC prevention steps) groups home controls into clean, separate, cook and chill. Restaurant controls follow the same logic with tighter limits.
Chemical
- Allergens. Milk, eggs, fish, crustacean shellfish, tree nuts, peanuts, wheat, soybeans and sesame are the major food allergens under US law. See FDA food allergies.
- Cleaning and sanitizing chemicals stored or used near food.
- Natural toxins such as histamine in scombroid fish, ciguatoxin in some reef fish, and toxins in shellfish.
- Excess additives, such as curing salts used in the wrong amount.
Physical
- Glass from broken containers or light bulbs.
- Metal from can openers, mixer parts, scrubbers.
- Bone fragments.
- Plastic from packaging or gloves.
- Stones in dried beans and grains.
The method, step by step
- Start with a verified flow diagram. See HACCP flow diagram examples.
- List each step in the first column of a worksheet.
- For each step, list the hazards that could be introduced, increased or survive at that step.
- Evaluate each hazard. Is it reasonably likely to occur without control? Write a short reason.
- Name the control measure for each hazard that is reasonably likely.
- Decide whether the step is a CCP for that hazard. Use a decision tree if it helps. See critical control point examples.
A worksheet layout that works well:
| Step | Potential hazard | Reasonably likely? | Reason | Control measure | CCP? | |---|---|---|---|---|---|
Example 1: grilled chicken breast (same-day service)
| Step | Potential hazard | Reasonably likely? | Reason | Control measure | CCP? | |---|---|---|---|---|---| | Receive | B: Salmonella, Campylobacter on raw chicken | Yes | Common on raw poultry | Approved supplier, receive at 41°F; killed at cooking | No | | Cold store | B: growth of pathogens | Yes | Raw poultry is TCS | Hold at 41°F or below | No (cooking controls later) | | Cold store | B: cross-contamination of ready-to-eat food | Yes | Drips from raw poultry | Store poultry on the bottom shelf | No (prerequisite) | | Prepare | B: cross-contamination via boards and hands | Yes | Raw poultry handled on boards | Separate boards, wash and sanitize | No (prerequisite) | | Cook | B: survival of Salmonella, Campylobacter | Yes | Undercooking is a known cause of illness | Cook to 165°F | Yes | | Hot hold | B: growth of spore-formers | Yes if held | Held for service | 135°F or above or TPHC | Yes | | Serve | C: allergens in marinade | Depends | If marinade contains soy or wheat | Menu labeling, server training | No (prerequisite) |
The key decision: cold storage of raw chicken is not a CCP for Salmonella because cooking later kills it. But it still matters for keeping bacterial loads low and for preventing cross-contamination.
Example 2: cooked rice for fried rice (complex process)
| Step | Potential hazard | Reasonably likely? | Reason | Control measure | CCP? | |---|---|---|---|---|---| | Receive dry rice | B: B. cereus spores | Yes | Spores are common in rice | Cannot be removed; controlled by cooling and holding | No | | Receive dry rice | P: stones | Low | Commercial rice is cleaned | Visual check | No | | Cook | B: vegetative cells | Yes | Cooking kills vegetative cells but not spores | Cook thoroughly | No (spores survive) | | Cool | B: germination and growth of B. cereus, toxin production | Yes | Rice held warm is a classic cause of B. cereus illness | 135°F to 70°F in 2 h and to 41°F in 6 h | Yes | | Cold store | B: growth | Yes | TCS food | 41°F or below, date mark 7 days | Yes | | Stir-fry | B: survival of vegetative cells | Partial | Reheating does not destroy B. cereus emetic toxin | Proper cooling is the real control | Monitored as control | | Hot hold | B: growth | Yes if held | Held on line | 135°F or above | Yes |
The lesson: for B. cereus, the emetic toxin is heat stable, so reheating cannot fix rice that was cooled badly. Cooling is the control that matters.
Example 3: house salad with chicken (no-cook assembly)
| Step | Potential hazard | Reasonably likely? | Reason | Control measure | CCP? | |---|---|---|---|---|---| | Receive leafy greens | B: STEC, Salmonella | Yes | Outbreaks linked to leafy greens | Approved supplier, cut greens at 41°F | No | | Wash | B: surface contamination | Yes | Field soil | Wash under running water | No (reduces but does not eliminate) | | Cold hold cut greens | B: growth | Yes | Cut leafy greens are TCS | 41°F or below | Yes | | Assemble | B: norovirus from workers | Yes | Ready-to-eat with no cook step | No bare hand contact, handwashing, ill worker policy | No (prerequisite, but critical) | | Add cooked chicken | B: Listeria, growth | Yes | RTE TCS held | 41°F, date mark | Yes (cold holding) | | Dressing | C: allergens (egg, milk, fish in Caesar) | Yes | Common allergens | Labeling and server knowledge | No (prerequisite) |
No-cook items depend on prerequisite programs more than CCPs. That is why employee health and handwashing get so much attention in Food Code inspections.
Example 4: burgers cooked to order
| Step | Potential hazard | Reasonably likely? | Reason | Control measure | CCP? | |---|---|---|---|---|---| | Receive ground beef | B: STEC E. coli O157:H7 | Yes | Grinding spreads surface bacteria through the meat | Supplier, 41°F | No | | Cold store | B: growth | Yes | TCS | 41°F | No | | Form patties | B: cross-contamination | Yes | Hands and boards | Gloves or utensils, separate boards | No | | Cook | B: survival of STEC | Yes | Undercooking linked to outbreaks | 155°F for 17 s, or consumer advisory for undercooked to order | Yes | | Serve | C: allergens in bun and sauces | Yes | Wheat, sesame, egg | Labeling | No |
If you serve burgers undercooked at customer request, the cooking step no longer controls the hazard for those orders. The Food Code allows that with a consumer advisory, and some jurisdictions restrict it for children's menus. Your hazard analysis should say how you handle it.
Example 5: tuna sashimi
| Step | Potential hazard | Reasonably likely? | Reason | Control measure | CCP? | |---|---|---|---|---|---| | Receive | C: histamine | Yes | Tuna is a scombroid species | Receive at 41°F or below, supplier temperature records | Yes | | Receive | B: parasites | Depends | Some tuna species are exempt from freezing | Confirm species and supplier freezing statement | Yes if not exempt | | Cold store | C: histamine formation | Yes | Time and temperature abuse | 41°F or below | Yes | | Slice | B: Listeria, norovirus | Yes | RTE, hand contact | Hygiene, clean equipment | No | | Serve | B: raw consumption risk | Yes | Raw fish | Consumer advisory | No |
See the seafood HACCP plan for more on histamine and parasites.
Example 6: chili cooked and held for next day
| Step | Potential hazard | Reasonably likely? | Reason | Control measure | CCP? | |---|---|---|---|---|---| | Cook | B: vegetative pathogens in ground beef | Yes | Raw meat | Cook to 155°F or above | Yes | | Cool | B: C. perfringens growth | Yes | Large batches of meat dishes are a leading cause | 3-501.14 cooling | Yes | | Cold store | B: growth | Yes | TCS | 41°F, date mark | Yes | | Reheat | B: growth during slow reheating | Yes | Slow reheating passes through danger zone | 165°F within 2 h | Yes | | Hot hold | B: growth | Yes | Held on line | 135°F | Yes |
This is the textbook complex process. Use a cooling log for every batch.
More hazard analysis examples, in short form
Not every item needs a full table. For simpler items, a short written analysis can be enough, as long as it covers every step and gives reasons.
Cut melon
Melon rinds can carry Salmonella and Listeria from the field. Cutting moves bacteria from the rind into the flesh, and the Food Code treats cut melons as TCS food. Hazards: biological contamination at cutting, growth during holding. Controls: wash and scrub whole melons before cutting, clean and sanitized knives and boards, hold cut melon at 41°F or below and date mark it. CCP: cold holding.
Raw oysters on the half shell
Hazards: Vibrio species and norovirus from harvest waters, growth if shellstock is held warm, loss of traceability. Controls: buy only from certified shippers listed on the Interstate Certified Shellfish Shippers List, check and keep tags for 90 days, receive and hold cold, give a consumer advisory. Cooking is not part of the process, so receiving and cold holding carry the weight, along with tag records.
Hollandaise sauce made with raw eggs
Hazards: Salmonella in raw shell eggs, growth while the sauce sits warm but below 135°F. Controls: use pasteurized eggs, which many kitchens choose for this reason, or cook the egg mixture to a safe temperature and hold the sauce under time as a public health control with a discard time. The Food Code restricts raw or undercooked eggs for highly susceptible populations.
Catered sandwiches delivered to an office
Hazards: growth in RTE TCS fillings during transport and while the platter sits on a conference table, norovirus from assembly staff. Controls: assemble cold, pack in insulated carriers, deliver with a written discard time under time as a public health control, train the assembly staff on handwashing and no bare hand contact. See the HACCP plan for catering.
Bread baked in house
Hazards are limited: baked bread is generally not TCS. Physical hazards from equipment and chemical hazards from allergens (wheat, sesame, eggs, milk in enriched doughs) remain. Controls: equipment maintenance, allergen labeling. Usually no CCP for plain bread. See the bakery HACCP plan.
Writing good reasons
The "reason" column is where most hazard analyses are weakest. Inspectors and auditors want to see why you decided what you did. Good reasons:
- Point to a known illness pattern ("rice held warm is a classic cause of B. cereus illness").
- Point to the nature of the food ("cut leafy greens are TCS under the Food Code").
- Point to your own operation ("we buy pre-cut produce from an approved supplier with temperature records").
- Explain why a hazard is not likely ("glass is not used in the prep area; light fixtures are shielded").
Avoid reasons like "standard practice" or "always done this way."
Running the hazard analysis as a team
Set aside an hour per process. Bring the flow diagram, the recipes and a blank worksheet. One person reads each step aloud; the group names the hazards; someone records the decision and the reason. Disagreements are useful, because they usually show where practice and paper differ. Finish by reading back the CCPs and checking each has a measurable limit. In a small kitchen the team may be just the owner and the chef, and that works as long as both know the actual operation.
Prerequisite programs vs CCPs
Many hazards are better controlled by programs that apply across the whole kitchen than by a CCP at one step:
- Cleaning and sanitizing for cross-contamination. See sanitation SOPs for restaurants.
- Employee health and handwashing for norovirus and hepatitis A.
- Allergen control for undeclared allergens. See the food allergen control plan.
- Supplier approval for contaminated ingredients.
- Pest control.
- Chemical storage.
- Equipment maintenance for physical hazards.
Your hazard analysis should name the program when it is the control. The plan then includes the program or refers to it.
Hazard analysis for food trucks
A food truck has the same hazards as a restaurant plus a few of its own: limited refrigeration on hot days, a limited water supply for handwashing, and transport between a commissary and service locations. Add steps for loading, transport and setup to the flow diagram and analyze each one. Cold holding is often the CCP that fails first on a truck. See the food truck HACCP plan.
Common mistakes
- Listing every possible hazard as a CCP. The plan becomes impossible to monitor.
- Skipping steps such as thawing, cooling or transport.
- Ignoring allergens.
- Not separating spores from vegetative cells. Cooking kills one but not the other.
- Copying a generic analysis that does not match the menu.
- No reasons.
Hazard analysis for special processes
Special processes like sous vide, curing, acidification and reduced oxygen packaging need their own analysis because the hazards differ. C. botulinum is the main concern for low-oxygen processes, and the controls involve temperature, time, pH or water activity. See the sous vide HACCP plan, the reduced oxygen packaging HACCP plan and the HACCP plan for cured and smoked foods.
Customers and intended use
Part of the hazard analysis is thinking about who eats the food. NACMCF guidance asks the team to describe the food's intended use and consumers. A café inside a hospital, a school caterer, or a nursing home kitchen serves highly susceptible populations, and the Food Code sets extra restrictions for them, such as not serving certain raw or undercooked foods. A kitchen that sells grab-and-go food that customers may hold for hours before eating has different risks from a dine-in restaurant. Write this description at the top of your hazard analysis so each decision can be read in context.
Reviewing the hazard analysis
Review your hazard analysis:
- When the menu changes.
- When you change suppliers or start buying an ingredient in a different form.
- When you get new equipment.
- After an illness complaint or an inspection finding.
- At least once a year.
Date each review and note what changed. See HACCP verification and record keeping.
Severity and likelihood
Some teams use a simple scoring grid to support their "reasonably likely" decisions:
| | Low severity | High severity | |---|---|---| | Likely | Control needed | Control needed, likely CCP | | Unlikely | Prerequisite program may be enough | Consider control, explain decision |
High severity hazards include E. coli O157:H7, Listeria in susceptible people, C. botulinum, and severe allergens. Even when unlikely, they deserve a written reason for your decision. Scoring is optional; the written reason is what matters.
A blank worksheet you can use
| Process: | Menu items: | Date: | Prepared by: | |---|---|---|---|
| Step | Potential hazard (B, C, P) | Reasonably likely? (Y/N) | Reason | Control measure | CCP? | |---|---|---|---|---|---| | | | | | | |
Print one per process and fill it in with the team.
Build your hazard analysis
The HACCP builder creates a hazard analysis table for each process you select, prefilled with the common hazards and Food Code controls, which you then edit for your menu. Your first process is free, and the Plan Pack adds every process. For context see how to write a HACCP plan and the HACCP plan example. The finished plan is a draft for your health department to review.
Frequently asked questions
What are the three types of hazards in HACCP?
Biological (bacteria, viruses, parasites), chemical (allergens, cleaning chemicals, toxins such as histamine) and physical (glass, metal, bone, plastic). Some guidance adds radiological hazards for certain manufacturers, but restaurants rarely need them.
What does reasonably likely to occur mean?
It means a hazard that, based on experience, illness data or scientific reports, would probably happen in your operation without a control. It is a judgment the HACCP team makes and should explain in writing.
Is every hazard a CCP?
No. Many hazards are controlled by prerequisite programs such as cleaning, pest control and supplier approval. A CCP is a step where control is essential and you can monitor it against a critical limit.
How long should a restaurant hazard analysis be?
Long enough to cover every step of each process with a reason for each decision. For most restaurants that is a few pages, one table per process.