Ecology, one time step at a time

Watch a population grow, then meet its limits.

Enter a starting size, a growth rate and a time. We draw the exponential J-curve or the logistic S-curve, find the doubling time and the growth rate, and show every substitution along the way.

Growth curve EXPONENTIALJ-shaped: N multiplies by the same factor every time unit
Exponential N(t)N at time t
N₀ = 100 · r = 0.1 per hour

Describe your population

r is the per-capita growth rate (births minus deaths per individual per time unit) written as a decimal: 5% per hour is 0.05. Exponential growth assumes unlimited resources, so it describes only the early, fast phase of a real population.

Follow the calculation

N(t) = N₀ · e^(rt)

    Exponential vs logistic growth at a glance

    Both models start from the same idea: the change in population size, dN/dt, depends on how many individuals are already there. Exponential growth keeps the per-capita rate r fixed no matter how crowded things get, which is only realistic while food, space and mates are plentiful. Logistic growth multiplies r by the “room left” factor (1 − N/K), so growth fades as the population nears the carrying capacity K. Switch between the two tabs above with the same numbers to see how much difference that single factor makes.

    FeatureExponential growthLogistic growth
    EquationdN/dt = rN, so N(t) = N₀e^(rt)dN/dt = rN(1 − N/K), so N(t) = K / (1 + ((K − N₀)/N₀)e^(−rt))
    Curve shapeJ-shaped: steeper and steeperS-shaped (sigmoid): levels off at K
    Key assumptionUnlimited resources, no crowdingResources are finite, so per-capita growth falls as N rises
    Growth rate dN/dtKeeps rising with NLargest at N = K/2 (equal to rK/4), zero at N = K
    Doubling timeConstant: ln 2 / rOnly while N is far below K; doublings take longer near K
    Typical examplesBacteria in fresh broth, a species newly introduced to an island, the human population in the 20th centuryYeast in a flask, sheep in Tasmania, most lab cultures once the log phase ends

    Reading r, the per-capita growth rate

    r is the birth rate minus the death rate per individual per unit of time, written as a decimal. A value of 0.1 per hour means each individual adds, on average, 0.1 new individuals every hour. Because growth compounds continuously, the population multiplies by e^0.1 ≈ 1.105 each hour, a 10.5% rise rather than exactly 10%. A negative r describes a shrinking population, and r = 0 means births and deaths balance. Keep r and t in the same time unit: a rate per day paired with a time in hours gives nonsense.

    Doubling time and the rule of 70

    For exponential growth the doubling time is T₂ = ln 2 / r ≈ 0.693 / r. If you know the growth rate as a percentage, divide 69.3 by it (usually rounded to the “rule of 70”): a population growing at 1.1% per year doubles in about 63 years, and one growing at 2% doubles in about 35. The world population grew fastest, at roughly 2.1% per year, in the late 1960s, a pace that doubles a population every 33 years; the rate has since fallen below 1%.

    Growth rate per yearDoubling time (ln 2 / r)
    0.5%about 139 years
    1%about 69 years
    1.1%about 63 years
    2%about 35 years
    3%about 23 years
    7%about 10 years

    Carrying capacity in the real world

    K is set by whatever runs out first: food, nesting sites, water, or the reach of predators and disease. Sheep introduced to Tasmania in the early 1800s followed a textbook S-curve, leveling off near 1.7 million by the 1850s. Populations can also overshoot: 25 reindeer released on St. Paul Island, Alaska, in 1911 grew to about 2,000 by 1938, stripped the lichen they depended on, and crashed to 8 animals by 1950. K is not a fixed number either; it moves with the seasons, rainfall and the arrival of competitors, which is why real curves wobble around the smooth line this calculator draws.

    A little question. A bigger picture.

    Population growth questions

    Wondering about the why? Start here.

    What is the difference between exponential and logistic growth?

    Exponential growth, N(t) = N₀·e^(rt), assumes unlimited resources and gives a J-shaped curve that multiplies by the same factor every time unit. Logistic growth adds a carrying capacity K, dN/dt = rN(1 − N/K), so the curve is S-shaped and levels off as N approaches K. With N₀ = 100, r = 0.1 per hour and t = 10 hours, the exponential model gives about 272 individuals while the logistic model with K = 1,000 gives about 232.

    Read: population growth models
    How do you calculate doubling time?

    For exponential growth the doubling time is T₂ = ln 2 / r ≈ 0.693 / r, where r is the per-capita growth rate as a decimal. A rate of 0.1 per hour doubles the population every 6.93 hours; the human population growing at 1.1% per year (r = 0.011) doubles in about 63 years. In the logistic model the same formula only applies while N is far below K.

    Count bacterial doublings
    What is carrying capacity?

    Carrying capacity, K, is the largest population an environment can sustain over time given its food, space, and other limits. In the logistic model growth is fastest at exactly N = K/2 and slows to zero as N reaches K; a population that starts above K shrinks back toward it. The calculator reports how long it takes to reach K/2 and marks K on the graph as a dashed line.

    See populations that cycle instead