Chicken roasting time by weight calculator
This chicken roasting time by weight calculator turns a whole chicken's weight in pounds into a simple planning estimate.
Run — free
It applies a fixed rate of 20 minutes per pound, then presents the result as total minutes and as an easier-to-read combination of hours and minutes. The calculation is deterministic, so the same weight always gives the same answer. Use the estimate to organize meal preparation and oven timing, while remembering that elapsed time alone cannot confirm that poultry is safely cooked.
Enter the whole chicken's weight in pounds
Start with the weight printed on the package or measured on a kitchen scale, expressed in pounds. Decimal values are welcome, so a bird labeled 4.5 pounds can be entered directly without rounding it to four or five. The calculator accepts only a positive, finite number because zero, a negative value, missing text, or an unbounded value cannot represent a usable chicken weight. It then multiplies that weight by the fixed rate of 20 minutes per pound. This narrow input keeps the result transparent and repeatable: there are no hidden choices about stuffing, oven type, starting temperature, breed, pan material, or whether the chicken is covered. If your label shows pounds and ounces, convert the ounces to a fraction of a pound first by dividing the ounce value by 16, then add that fraction to the pounds. For example, 4 pounds 8 ounces becomes 4.5 pounds. Enter the actual whole-bird weight rather than a serving estimate or the combined weight of several chickens.
Understand the fixed-rate result
The result reports the submitted weight, the fixed rate, total estimated roasting minutes, and the same duration split into whole hours plus remaining minutes. A 4.5-pound chicken therefore uses 4.5 multiplied by 20, producing 90 minutes, displayed as 1 hour and 30 minutes. When multiplication produces a fractional minute, the calculator rounds to the nearest whole minute so the output is practical for an ordinary kitchen timer. This is a planning formula, not a simulation of heat transfer and not a promise that every bird will finish at exactly that moment. Real cooking time changes with oven calibration, convection, the chicken's temperature when it enters the oven, stuffing, trussing, pan depth, opening the oven door, and the accuracy of the stated weight. Because the rate never changes, the output is especially useful for schedules, shopping-day preparation, recipe notes, and software workflows that need a stable rule. Record the rate with the result whenever another person may need to understand how the estimate was produced.
Use time as a plan, then verify doneness safely
Treat the calculated duration as the point when you should begin checking the chicken, not as proof that it is ready to eat. Set the oven according to the recipe you are following, account separately for preheating, and allow extra time for resting and carving when planning the meal. Near the estimated finish, check doneness using reliable food-safety guidance and a suitable food thermometer in the appropriate thick areas, taking care not to measure against bone. If the chicken has not reached the safe condition specified by your applicable guidance, continue cooking and check again; do not serve it merely because the timer expired. Likewise, a bird that reaches safe doneness earlier should not be forced to remain in the oven solely to match the estimate. Stuffed poultry can require different handling and checks, so follow the stuffing recipe and official local guidance rather than assuming this weight-only formula covers it. The calculator intentionally does not recommend an oven temperature, internal temperature, resting interval, or roasting technique because those choices require recipe and food-safety context beyond one deterministic arithmetic estimate.
What you can do with it
Plan a weeknight dinner
Estimate when to put a weighed whole chicken in the oven so side dishes and serving time can be coordinated.
Build a recipe schedule
Turn the bird's weight into a stable duration for prep notes, kitchen checklists, or batch planning.
Automate a weight-based estimate
Call the API when a shopping or meal-planning workflow needs the same transparent 20-minutes-per-pound rule every time.
FAQ
What rate does the calculator use?
It always uses 20 minutes per pound. The rate is fixed rather than inferred from other cooking details.
Can I enter a decimal weight?
Yes. Enter pounds as a positive number, such as 4.5 for four pounds eight ounces.
Does the result guarantee that the chicken is safely cooked?
No. It is a timing estimate only. Verify doneness with appropriate food-safety guidance and a suitable thermometer.
Does this include preheating or resting time?
No. The result covers only the estimated roasting duration produced by the fixed weight-based formula.
How much does the API request cost?
Each API request costs $0.002. The same deterministic calculation is available free on this page.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/cook/roast-chicken-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight_lb":4.5}'const res = await fetch("https://api.kit.forhosting.com/cook/roast-chicken-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight_lb": 4.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/cook/roast-chicken-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight_lb": 4.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/cook/roast-chicken-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight_lb":4.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight_lb":4.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/cook/roast-chicken-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"weight_lb": 4.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.roast_chicken_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |