Egg boiling time calculator
A large egg straight from a 4 °C fridge reaches a creamy 70 °C yolk in just under 6 minutes of rolling boil. Enter the carton size, from small to jumbo, the starting temperature and the yolk you want, and get the minutes. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Size
- Large
- Start temp c
- 4
- Doneness
- Medium
- Size label
- Large
- Mass g
- 56.69904625
- Yolk temp c
- 70
- Water temp c
- 100
Boiling an egg looks simple until you try to hit a specific yolk. A large egg taken from the refrigerator needs a different simmer than a jumbo egg already sitting on the counter, and a runny breakfast yolk is not the same thermal target as a firm picnic egg. This egg boiling time calculator takes three kitchen facts — USDA carton size, starting temperature in Celsius, and a doneness level of soft, medium, or hard — and returns how many minutes to keep the egg in a rolling one-hundred-degree bath.
How size, starting temperature, and doneness become a boil time
The physics of a boiled egg is heat moving from a rolling water bath through the shell and white until the yolk centre reaches a chosen temperature. This calculator does not hide behind a folklore table that says six minutes for soft and ten for hard no matter what came out of the carton. It applies the Williams spherical heat-conduction model for a hen egg plunged into already boiling water at one hundred degrees Celsius.
Egg size becomes an in-shell mass from the USDA carton classes: Small is eighteen ounces per dozen, Medium twenty-one, Large twenty-four, Extra Large twenty-seven, and Jumbo thirty. Those class ounces convert with the international avoirdupois ounce of 28.349523125 grams, so a Large egg is modelled at 56.69904625 grams. Starting temperature is the egg’s uniform initial temperature in Celsius — four degrees for a typical refrigerator, about twenty for a kitchen counter.
Doneness is a yolk-centre target published with the model: soft maps to sixty-three degrees (runny yolk, set white), medium to seventy degrees (creamy yolk), and hard to eighty degrees (firm yolk). Time in seconds is mass to the two-thirds, times density to the one-third, times specific heat, divided by conductivity times pi squared times four-pi-over-three to the two-thirds, times the natural log of 0.76 times water-minus-start over water-minus-yolk.
The model assumes sea-level boiling water and a whole hen egg; it does not simulate a cold-water start, a steamer basket, high altitude, or a cracked egg. Those methods follow different time scales and belong on dedicated tools if you need them. The point of this page is the rolling-boil path only: lower the egg into water that is already at a hundred degrees, time from that instant, and use size, start temperature, and doneness as the three inputs.
Where an egg boiling time calculator earns its keep
Breakfast menus, meal-prep apps, and recipe CMS blocks need a single source of truth when a method says soft-boiled large eggs from the fridge and a reader only has jumbo eggs on the counter. Catering lines that plate dozens of jammy eggs for a brunch service can convert carton grade and holding temperature into a timer without arguing over chart screenshots that disagree by two minutes. Culinary-school worksheets can pin Williams’ published yolk temperatures next to a deterministic minute figure so students see both the physics and the kitchen clock.
Product teams call the contract from scripts to seed test vectors for kitchen timers, to normalize user-entered size and doneness before starting a countdown, or to reject illegal doneness tokens instead of silently defaulting to hard-boiled. Home cooks meet the conversion when a carton of extra-large eggs comes out of a cold fridge and a six-minute habit from large room-temperature eggs would leave the yolk too loose. Failed validation does not consume balance.
Document that results are a conduction estimate for hen eggs in one-hundred-degree water, not a food-safety certification and not a substitute for a probe thermometer on a catering line, and you get reproducible boil times for widgets, CMS blocks, and edge workers without hosting your own thermal spreadsheet.
What you can do with it
Breakfast and brunch timers
Turn carton size, fridge-or-counter temperature, and a soft, medium, or hard yolk into a rolling-boil minute count before the first egg goes in the pot.
FAQ
How is egg boiling time calculated?
Minutes come from the Williams heat-conduction formula for an egg in 100°C water.
Which doneness levels are valid?
soft (runny yolk), medium (creamy yolk), and hard (firm yolk). Those three are the closed set.
What happens if the doneness level is not a valid option?
Unknown doneness is not billed and never invents a boil time.
What starting temperature should I use?
Use about 4 for a refrigerator egg and about 20 for a room-temperature egg. Values must be finite and in the interval 0 to 40.
Does the time work for high altitude or a cold-water start?
No. The model assumes sea-level water at a rolling 100 °C and a whole egg lowered in once it boils. A cold-water start, a steamer basket, high altitude or a cracked egg follow different timings.
Related tools
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/egg-boiling \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"size":"large","start_temp_c":4,"doneness":"medium"}'const res = await fetch("https://api.kit.forhosting.com/cook/egg-boiling", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"size": "large",
"start_temp_c": 4,
"doneness": "medium"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/cook/egg-boiling",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"size": "large",
"start_temp_c": 4,
"doneness": "medium"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/cook/egg-boiling", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"size":"large","start_temp_c":4,"doneness":"medium"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"size":"large","start_temp_c":4,"doneness":"medium"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/cook/egg-boiling", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"size": "large",
"start_temp_c": 4,
"doneness": "medium"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.egg_boiling",
"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. |
Technical notes
Size becomes in-shell mass from the ounces-per-dozen class; doneness becomes a yolk-centre temperature; the Williams heat-conduction formula then yields boil_minutes. If the doneness level is not a valid option the task fails with invalid_input instead of inventing a timer.
How size, starting temperature, and doneness become a boil time
Divide by sixty to obtain boil_minutes.
Input contract, response shape, and error behaviour
The form renders those values as a select. Four degrees is a refrigerator egg; twenty degrees is a room-temperature egg. Frozen eggs below zero and already-hot eggs above forty fail validation because the conduction model is built for kitchen starting temperatures. doneness is soft, medium, or hard. Numbers are rounded to twelve decimal places so goldens stay byte-stable across runtimes. POST a JSON body with three required fields. size is a USDA grading size: small, medium, large, extra_large, or jumbo. Common aliases such as s, m, l, xl, extra large, and jumbo are accepted so spreadsheets and typed forms can reuse the contract. start_temp_c is a finite Celsius temperature in the closed interval from zero to forty, strictly below the yolk target of the chosen doneness; aliases start_temp, temperature, temp_c, and t0 map to the same value. Aliases include runny and soft boiled for soft, jammy and creamy for medium, and firm and hard boiled for hard. Missing fields, empty strings, non-numeric temperatures, temperatures outside the documented range, unknown sizes, and — this is the contract the landing promises — any doneness level that is not a valid option all fail with invalid_input naming the field. Those failures are not billed. On success the body echoes size, size_label, mass_g, start_temp_c, doneness, yolk_temp_c, and water_temp_c, and reports boil_minutes as the primary result with boil_seconds alongside. method is williams_heat_conduction, formula restates the conduction identity, and message is a one-line summary for UI copy. Example: size large, start_temp_c four, doneness medium is the default probe. Pair the minutes with your own calendar buffer if you want a gentler simmer after the bath; this endpoint models a rolling one-hundred-degree bath only and does not emit food-safety hold times.
Where an egg boiling time calculator earns its keep
Keep this endpoint when the search intent is specifically minutes to boil from size, start temperature, and doneness; use the egg-weight lookup when you need shelled grams rather than a timer.
Integration use cases
Catering and culinary-school worksheets
Batch-estimate jammy or firm times for mixed carton grades using the same Williams model the free browser widget uses.
Deterministic kitchen-timer fixtures
Generate reproducible boil_minutes expectations for unit tests, recipe apps, and CI without re-coding thermal constants or doneness maps.
Technical questions
What does the egg boiling time calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.