Candle Burn Time Remaining and Wax Estimate Calculator
This candle burn time remaining calculator turns a manufacturer's total burn-time rating and your recorded hours of use into a clear estimate of the hours left.
Run — free
If you also know the candle's original wax weight, it estimates how much wax remains using the same consumption ratio. The calculation is deterministic and useful for planning replacements, comparing candle value, or organizing event supplies. It rejects impossible histories in which recorded use exceeds the candle's total rated life.
Enter a realistic rated life and usage total
Start with the total burn time printed by the maker or supplied in the product description. Enter that value in hours, then add the cumulative number of hours for which the candle has actually been lit. Short sessions can be combined as decimals: four sessions lasting ninety minutes each equal six hours burned. The calculator subtracts recorded use from the rating and reports both remaining hours and the percentage of rated life left. The total rating must be greater than zero, and elapsed use cannot be negative. Recorded hours must not exceed the rated total because that combination cannot produce a meaningful remaining-time estimate. If a candle has already reached its rating, entering equal values is valid and produces zero hours and zero percent remaining. Manufacturer ratings are estimates produced under particular conditions, so treat the result as a planning figure rather than a promise that the flame will last to an exact minute. Keeping a simple burn log makes the input more dependable than guessing from memory.
Understand the optional wax estimate
Add total wax weight when you want an estimated amount of wax remaining as well as time. The weight can be expressed in grams, ounces, pounds, or another consistent unit because the calculator applies a ratio and returns the estimate in the same unit you entered. For example, if sixty percent of rated time remains, the model estimates that sixty percent of the original wax weight remains. This assumes wax consumption is proportional to burn time. Real candles do not always burn at a perfectly constant rate: wick trimming, fragrance load, wax blend, vessel shape, drafts, tunneling, and the length of each session can all change consumption. The estimate also treats the supplied weight as wax weight, not the combined weight of wax, jar, lid, and label. If you only know the filled container weight, subtract the empty container weight before entering it. Leave the field out when reliable wax weight is unavailable; the time calculation still works and no wax fields are returned.
Use the result for practical planning
The remaining-hours result helps translate an abstract product rating into a useful schedule. Divide the estimate by your typical session length to approximate how many similar evenings remain, while remembering that partial sessions and changing conditions introduce variation. Event planners can total expected candle-hours across tables and compare that demand with the remaining life of candles already in inventory. Retailers and candle makers can use consistent test observations to communicate likely remaining life during internal evaluations, though controlled burn tests are more appropriate for formal product claims. The percentage is also useful when comparing candles with different rated lifetimes because it expresses remaining life on a common scale. The API costs $0.002 per request, while the browser experience can run the same deterministic calculation without sending the arithmetic to an outside data source. No current date, network lookup, or random assumption affects the output. Recalculate whenever you add another burn session, and inspect the candle physically for safe operation rather than relying on a numerical estimate alone.
What you can do with it
Plan household candle use
Estimate how many hours remain before buying a replacement or choosing a candle for an upcoming evening.
Prepare event inventory
Compare the expected candle-hours for an event with the estimated life remaining in previously used candles.
Track wax consumption
Estimate remaining wax in the original weight unit when a starting wax weight and logged burn time are available.
FAQ
What does the calculation cost?
The API price is $0.002 per request. The calculation is also available in the browser.
How is remaining burn time calculated?
Hours already burned are subtracted from the candle's total rated burn time, and the remainder is also expressed as a percentage.
How is remaining wax estimated?
The starting wax weight is multiplied by the fraction of rated burn time remaining, assuming proportional wax consumption.
Which weight unit should I use?
Any weight unit works. The estimated remaining wax uses the same unit as the total wax weight you provide.
Why can actual burn time differ from the estimate?
Manufacturer ratings and proportional wax use are approximations; wick care, drafts, wax composition, vessel shape, and session length can affect actual consumption.
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/hobby/candle-burn-time-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_burn_time_hours":50,"hours_burned":12.5}'const res = await fetch("https://api.kit.forhosting.com/hobby/candle-burn-time-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_burn_time_hours": 50,
"hours_burned": 12.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/candle-burn-time-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_burn_time_hours": 50,
"hours_burned": 12.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/candle-burn-time-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_burn_time_hours":50,"hours_burned":12.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_burn_time_hours":50,"hours_burned":12.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/candle-burn-time-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"total_burn_time_hours": 50,
"hours_burned": 12.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.candle_burn_time_estimate",
"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. |