Ham Cooking Calculator
Roasting time and safe internal temperature for 14 ham cuts, straight from the USDA FSIS timetable — plus how big a ham your guest list needs.
Ham Cooking Calculator
Background.
A ham is the easiest holiday main course to cook and the easiest one to get wrong, because almost every ham sold in America is already cooked and the ones that are not look identical on the shelf. The difference between them is not a matter of taste. A fully cooked ham needs reheating to 140 °F and can legally be eaten cold straight from the package. A cook-before-eating ham of the same size, in the same wrapper, from the same case, is raw pork that has to reach 145 °F. Reading the label is the whole job, and this calculator is built around making that distinction the first thing you choose.
Everything the page returns comes from one federal table: the USDA Food Safety and Inspection Service's "Ham and Food Safety" fact sheet and its TIMETABLE FOR COOKING HAM. That table has fourteen oven-roasting rows, and this calculator has the same fourteen. Each row carries its own weight band, its own minutes-per-pound pair and its own target internal temperature, and the page prints the exact row every answer came from so you can check it against the source. The oven is always 325 °F because the table's own note says so. No number here is a remembered cooking rule.
The second thing the page does is size the ham before you buy it, using the same fact sheet's Quantity to Buy figures: a quarter to a third of a pound per serving of boneless ham, a third to a half of a pound per serving of bone-in. That gap matters more than it looks. Twelve guests need three to four pounds of a boneless ham but four to six pounds of a bone-in one, because a bone is weight you pay for and cannot serve. Switch modes and the calculator works the guest list backwards into a weight range, cooks the midpoint, and tells you whether that weight is inside the band the FSIS row actually covers.
That last verdict is worth reading. FSIS publishes minutes per pound only across a stated weight range — 7 to 9 pounds for a spiral-cut ham, 12 to 16 for a bone-in fresh leg — and larger roasts genuinely need fewer minutes per pound than small ones. When your weight falls outside the band, the page says the figure is being extrapolated rather than quietly printing a time that looks authoritative. Three states, judged on the raw weight rather than the rounded display: below the band, within it, above it.
Four scope limits belong here rather than in an FAQ. First, these are times, not doneness. FSIS's own table says "These are approximate times for various cuts of ham" — a food thermometer in the thickest part, away from bone, is what tells you the ham is done, and the required temperature sits beside the result on every run. Second, 140 °F is not a universal reheat target: it applies only to a cooked ham still inside the seal applied at a USDA-inspected plant. Once that ham has been repackaged anywhere else, and for any leftover, FSIS requires 165 °F. That is a selectable input here, not a footnote. Third, country ham is not covered. FSIS gives it a completely different method — soak 4 to 12 hours, then boil 20 to 25 minutes per pound, then glaze and brown at 400 °F — publishes no weight band or internal temperature for it, and tells you to follow the manufacturer's instructions; inventing a safe temperature for it is not something this page will do. Fourth, a product labelled ham may legally be up to half water. Under 9 CFR 319.104 a cured pork product below 17.0 percent protein fat-free must be sold as "Ham and Water Product" with the added percentage declared on the label, which is why two eight-pound hams can carve very differently.
If you are planning the rest of the table, the turkey cooking time calculator handles the bird on the same weight-times-minutes-per-pound basis, and the BBQ party food calculator covers six other meats by guest count.
What is ham cooking calculator?
A ham cooking calculator turns a weight and a cut into a roasting time and a target internal temperature. It multiplies the ham's weight by the minutes-per-pound figure published for that specific cut, and reports the temperature the ham must reach before it is safe to serve.
The cut matters more than the weight does. The USDA FSIS timetable spreads from 10 minutes per pound for a vacuum-packed cooked boneless ham to 40 minutes per pound for a bone-in shank portion or a fresh half leg — a four-fold range driven entirely by whether the ham is already cooked, whether it has a bone, and how it is shaped. A single minutes-per-pound rule applied to all hams is wrong for most of them.
This page also runs the question backwards: given a guest count, it returns the weight range to buy, using the federal pounds-per-serving figures for bone-in and boneless ham separately.
How to use this calculator.
- Read the label first and pick the cut. "Fully cooked" or "cooked" hams are the six rows in the cooked group; "cook before eating" is its own group; an uncured pork leg is a fresh ham. This choice sets the minutes per pound and the safe temperature together.
- Set how the ham was packaged. If it is still in the plant's own unopened seal, leave it on the first option. If it was cut and rewrapped at a store counter, or it is a leftover, choose the second — the target rises from 140 °F to 165 °F.
- Enter the weight from the label, then read the time range with the weight verdict beside it. If the verdict says the weight is outside the published band, treat the time as a starting point and check the thermometer earlier.
- Switch to 'how big a ham do I need?' to work from the guest list instead. Enter guests and servings per guest, and the calculator returns the pound range to buy for that cut plus the time for the midpoint.
- Put a food thermometer in the thickest part of the ham, not touching bone, and cook until it reads the target temperature. For the 145 °F cuts, rest at least 3 minutes before carving.
- Cross-check the source row printed at the bottom of the results against the FSIS fact sheet if you want to see exactly which line of the federal table produced your answer.
The formula.
The cooking arithmetic is a single multiplication, and all the work is in choosing the right constant. Roasting time is the ham's weight in pounds times the minutes-per-pound figure the FSIS timetable publishes for that exact cut. Because the table publishes a pair rather than a single number, the answer is a range: an 8 lb spiral-cut ham at 10 to 18 minutes per pound is 80 to 144 minutes, which the page renders as 1 h 20 min to 2 h 24 min.
The serving arithmetic is a division, and it contains the one step that is easy to invert. A ham of a fixed weight yields fewer servings when each serving is heavier, so the smallest serving count divides by the largest pounds-per-serving figure. Eight pounds of bone-in ham at half a pound per serving is 16 servings; the same eight pounds at a third of a pound per serving is 24. Running it the other way — from a guest list to a weight — multiplies instead: 12 guests at one serving each need 12 × ⅓ = 4 lb at the light end and 12 × ½ = 6 lb at the heavy end.
ROUNDING STAGE: nothing is rounded at an intermediate step. Minutes are weight times minutes-per-pound at full precision, hours divide those unrounded minutes by 60, and every value is rounded once at the return boundary. The only rounding that happens mid-computation is inside the time-range text, which rounds to whole minutes for display and never feeds another calculation.
The weight verdict classifies on the raw, unrounded weight against the band the FSIS row itself covers. This matters at the edges: 9.004 lb displays as 9.00 lb but is genuinely above the spiral-cut row's 9 lb ceiling, and the page reports it as above the band rather than letting a display rounding decide. All three states carry a consequence rather than a label — below the band means the minutes-per-pound figure is extrapolated downward and you should check early, above it means larger roasts need proportionally less time and the figure is an upper bound.
The target temperature is not computed at all; it is looked up. Cook-before-eating hams and fresh hams are 145 °F with at least a 3-minute rest. Already-cooked hams are 140 °F if still sealed as they left a USDA-inspected plant, and 165 °F once repackaged anywhere else or served as a leftover. The rest time reads 0 for the reheating cases because FSIS publishes none for them, and inventing one would be no more honest than inventing a temperature.
A worked example.
An 8-pound spiral-cut ham, still in the seal it left the plant in, for 12 guests at one serving each. The FSIS row is 'Spiral cut, whole or half': a 7 to 9 pound band at minutesPerLbLow to minutesPerLbHigh = 10 to 18 minutes per pound, ovenTempF = 325 degrees F. So cookMinutesLow = 8 x 10 = 80 minutes and cookMinutesHigh = 8 x 18 = 144 minutes, which is cookHoursLow = 1.33 h to cookHoursHigh = 2.40 h, printed as cookTimeRange = '1 h 20 min - 2 h 24 min'. Because 8 lb sits between 7 and 9, weightVerdict reads 'Within the published band' and the minutes-per-pound figure is used exactly as published. This is an already-cooked ham in its plant seal, so targetInternalTempF = 140 degrees F and restMinutes = 0 -- FSIS publishes no rest time for reheating. Had the same ham been sliced and rewrapped at a store counter, the target would have risen to 165 degrees F with no change to the cooking time. On quantity, the spiral-cut row is read as bone-in, so poundsPerServingLow = 0.333 lb and poundsPerServingHigh = 0.5 lb. Eight pounds therefore gives servingsLow = 8 / 0.5 = 16 servings and servingsHigh = 8 / 0.333 = 24 servings. For 12 guests the calculator recommends recommendedWeightLowLb = 12 x 0.333 = 4 lb to recommendedWeightHighLb = 12 x 0.5 = 6 lb, so an 8-pound ham is generous -- it feeds 16 to 24 people, not 12. Switching to the 'how big a ham do I need?' mode makes that concrete: weightUsedLb becomes the 5-pound midpoint of that 4-to-6-pound range, cooking in 50 minutes to 1 h 30 min. But 5 lb is below the spiral-cut row's 7 lb floor, so weightVerdict now reads 'Below the published band' -- the honest answer being that a spiral ham small enough for 12 people is smaller than the range FSIS timed, and a half bone-in ham at 5 to 7 lb is the row that actually fits.
Frequently asked questions.
How long do I cook a spiral ham per pound?
How much ham do I need per person?
What temperature should ham be cooked to?
Why does the calculator not cover country ham?
Is the cooking time or the thermometer the real answer?
What does the 'outside the published band' verdict mean?
Why does my 8 lb ham not feed 8 lb worth of people?
References& sources.
- [1]USDA Food Safety and Inspection Service, "Ham and Food Safety" consumer fact sheet (PDF metadata: Author "USDA FSIS", created 2013-09-30, last modified 2016-01-07; retrieved 2026-07-30; primary). TIMETABLE FOR COOKING HAM — all 14 oven-roasting rows with their weight bands and minutes per pound, and the table note "Set oven temperature to 325 °F. Fresh hams should be cooked to a minimum internal temperature of 145 °F as measured with a food thermometer before removing meat from the heat source. For safety and preference, consumers may choose to cook meat to higher temperatures." The canonical FSIS URL returns HTTP 403 to automated retrieval, so the figures were transcribed from the verbatim FSIS PDF mirrored by Utah State University Extension (access: archived).
- [2]USDA Food Safety and Inspection Service, "Ham and Food Safety" — retrievable PDF copy used for transcription (retrieved 2026-07-30; primary; archived). "Quantity to Buy": "1/4 - 1/3 lb. per serving of boneless ham"; "1/3 - 1/2 lb. of meat per serving of bone-in ham". Rest column: "145° and allow to rest for at least 3 minutes". Reheating: "Reheat cooked hams packaged in USDA-inspected plants to 140 °F and all others to 165 °F." Spiral hams: "To reheat a spiral-sliced ham in a conventional oven, cover the entire ham or portion with heavy aluminum foil and heat at 325 °F for about 10 minutes per pound."
- [3]National Pork Board, "Pork Cooking Temperature" (current revision, retrieved 2026-07-30; secondary-check; open). Independent confirmation of the two temperatures this page turns on: fresh pork cuts to "145° F followed by a 3-minute rest", and fully cooked ham "reheated to 140° F or served cold". It also gives 160 °F for ground pork, which is outside this page's scope — no row of the FSIS ham timetable is a ground product.
- [4]U.S. Government Publishing Office / USDA FSIS, 9 CFR § 319.104 "Cured pork products" (2023 annual edition, retrieved 2026-07-30; primary; open). Minimum protein fat-free percentages and their label designations for cooked ham loin: 20.5 % is "Ham"; 18.5 % is "Ham with natural juices"; 17.0 % is "Ham, water added"; below 17.0 % must be sold as "Ham and Water Product — X% of weight is added ingredients". Shoulder, butt and picnic cuts use 20.0 / 18.0 / 16.5 %.
In this category
Embed
Quanta Pro
Paid features are coming later.
- All 977 calculators remain free
- No billing is enabled