Doubling Time Calculator
Enter a growth rate per period and see how long it takes to double: at 5% per period, growth compounded once per period doubles in 14.2066990829 periods, worked out with logarithms. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Growth rate
- 5
- Compounding
- Discrete
- Doubling time
- 14.2066990829
- Time unit
- periods
- Growth rate percent
- 5
The doubling time calculator converts a positive percentage growth rate into the number of time periods required for an exponentially growing quantity to become twice as large. Enter the rate for one consistent period, such as a year, month, day, or hour, and select whether growth compounds once per period or continuously. The result uses logarithms rather than a rough shortcut, so it remains useful across small and large rates and clearly states the growth model applied.
Enter a rate tied to one consistent period
Start with the percentage increase that applies during one time period. If a population grows by 5 percent each year, enter 5 and interpret the answer in years. If a culture grows by 12 percent each hour, enter 12 and read the answer in hours.
The calculator deliberately returns periods rather than assuming a calendar unit, because the mathematical formula only knows the interval represented by the rate. Keep the rate and the desired answer aligned: a monthly rate produces a result in months, while a daily rate produces a result in days. Enter the percentage itself, not its decimal form, so 4.5 percent is entered as 4.5 rather than 0.045.
The rate must be positive because a stable or declining quantity does not have a finite forward doubling time under this model. The calculation assumes the same proportional rate continues throughout the interval. If the real rate changes from period to period, the result is a projection based on the constant rate supplied, not a forecast that accounts for those later changes.
Choose discrete or continuous compounding
Use discrete compounding when growth is applied once at the end of each period. Taking logarithms gives t = ln(2) / ln(1 + r). This is the usual choice for annually compounded balances, period-by-period user growth, and other quantities updated at regular intervals.
Choose continuous compounding when the model says growth accumulates at every instant. In that case the equation is e^(rt) = 2, so the exact result is t = ln(2) / r. The two answers are close at very small rates but are not identical, and the difference grows as the rate increases.
Selecting the model explicitly prevents a common hidden assumption. The output repeats the selected compounding method and formula, making it easier to audit the result or reproduce it in a spreadsheet, report, or program.
Interpret the logarithmic result responsibly
A doubling time can include a fractional period. For example, 14.21 yearly periods means the modeled quantity reaches exactly twice its starting value partway through the fifteenth year, not only after fourteen complete updates. The starting amount does not appear in the formula because exponential doubling time depends on the proportional growth rate, not the initial scale.
Ten items and ten million items therefore have the same modeled doubling time when both grow at the same constant percentage rate. This result should not be confused with the Rule of 70 or Rule of 72, which are mental approximations mainly suited to modest percentage rates. The calculator evaluates the logarithmic expression directly and reports a stable numeric result.
Real systems may face capacity limits, seasonal variation, withdrawals, changing rates, or measurement uncertainty, so use the answer as the implication of a constant-rate exponential model.
What you can do with it
Project population growth
Convert a constant annual population growth percentage into the modeled number of years required to double.
Estimate business metric expansion
Translate a stable monthly user, subscriber, or revenue growth rate into a comparable doubling interval.
Analyze continuous growth models
Calculate doubling time for continuously compounded scientific, financial, or engineering models without using a shortcut.
FAQ
What formula does the calculator use?
For discrete compounding it uses ln(2) divided by ln(1 + r). For continuous compounding it uses ln(2) divided by r, where r is the percentage rate divided by 100.
What unit is the doubling time in?
It is in the same periods used by the growth rate. An annual rate gives years, a monthly rate gives months, and an hourly rate gives hours.
Why can I not enter zero or a negative rate?
A quantity with zero growth never doubles, and a quantity with a negative constant rate declines. Neither has a finite forward doubling time in this growth model.
Is this the same as the Rule of 72?
No. The Rule of 72 is a convenient approximation. This calculator evaluates the logarithmic formula directly and supports both discrete and continuous compounding.
Should I enter 4.5% as 4.5 or 0.045?
Enter the percentage itself, so 4.5 percent goes in as 4.5. The answer comes in the same period as your rate: a monthly rate gives months, a daily rate gives days.
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/algebra/doubling-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"growth_rate":5}'const res = await fetch("https://api.kit.forhosting.com/algebra/doubling-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"growth_rate": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/doubling-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"growth_rate": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/doubling-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"growth_rate":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"growth_rate":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/doubling-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
{
"growth_rate": 5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.doubling_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. |
Technical notes
Choose discrete or continuous compounding
The calculator then solves the exponential equation (1 + r)^t = 2, where r is the percentage rate divided by 100 and t is the number of periods.
Interpret the logarithmic result responsibly
For automated calculations, the API price is $0.002 per request, and the deterministic response includes the normalized inputs and exact formula used.
Technical questions
Should I enter 5 or 0.05 for a 5 percent rate?
Enter 5. The growth_rate input is a percentage, and the calculator converts it to 0.05 internally.
How much does an API calculation cost?
Each API request costs $0.002. The same deterministic calculation can also run in the browser.