How to Calculate Compound Inflation: Two Formulas and a Rate You Bring Yourself
Updated: 2026-10-01
Compound inflation is one multiplication, not a table you have to consult: add 1 to an annual rate, raise it to the number of years, and scale your amount by that factor. Forward you multiply, backward you divide by the same factor. That is the whole mechanism, and the only thing the calculator linked below does. It will not decide the two inputs that control the answer, which rate to use and how many years to count, and it will not catch you when you type one of them carelessly. This guide covers the method, the arithmetic you can check by hand, where a defensible rate comes from, and the cases where this tool is the wrong instrument.
The short answer
To calculate compound inflation, turn the annual rate into a growth factor and raise it to a power. Forward: future amount = present amount × (1 + rate)^years. Backward: past amount = present amount ÷ (1 + rate)^years. At 3% for 10 years the factor is 1.03^10 = 1.3439, so 100 becomes 134.39 going forward and 74.41 going back. Those two lines are the method, and they are exactly the two lines the tool is built on.
The rate is always yours. This calculator ships no price index, no historical series and no figures of any kind; it cannot look up, suggest or validate a number you type. It has no year field either: the third input is a count of years, so the tool scales an amount by a rate across a duration, never between two calendar dates. If you came here wanting 1995 dollars in today's money without choosing a rate yourself, this is not that instrument, and the penultimate section says what to use instead.
- Forward: amount × (1 + rate)^years. At 3% for 10 years, 100 × 1.3439 = 134.39.
- Backward: amount ÷ (1 + rate)^years. The same ten years turn today's 100 into the equivalent of 74.41 back then.
- Compounding is not adding: 3% a year for ten years is a rise of 34.39%, not of 30%.
- The exponent dominates. Doubling the years squares the factor, so a one-point rate error is trivia over three years and material over forty.
What compound means here: one year, then ten
Inflation compounds because each year's increase is charged on prices that have already risen. Start with 100 at 3% and walk it: after year one, 103.00; after year two, 106.09, because the second year's increase is 3% of 103.00, which is 3.09 rather than the 3.00 you added in year one. Year three gives 109.27, and that year's addition is 3.18. Nothing about the rate changed; the base grew, and the same percentage of a bigger base is more money.
That is the entire difference between compounding and adding. Add 3.00 every year for ten years and you land on 130.00, which is the instinct most people bring to this question. The correct answer is 100 × 1.03^10 = 134.39. The error is only 4.39 at a ten-year horizon, which is why the shortcut survives being wrong for so long.
Stretch both methods to a century and the shortcut collapses. Adding gives 100 × (1 + 0.03 × 100) = 400. Compounding gives 100 × 1.03^100 = 1,921.86, because 1.03^100 is about 19.2, so prices end roughly nineteen times higher. A linear rule understates the hundred-year answer by about a factor of five, and the gap widens every year you add.
One structural note: the tool raises to a power once, with no year-by-year loop inside it, so it prints the endpoint and nothing else. The walk above is something you do yourself when you need the path rather than the destination.
The two directions, and why backward is not a negative rate
The backward formula divides by the same factor the forward formula multiplies by, which is not the same as applying a negative rate. Run both on 100 over ten years. Dividing gives 100 ÷ 1.03^10 = 74.41. Typing a rate of -3 and going forward gives 100 × 0.97^10 = 73.74. They differ by 0.67 on a base of 100, which looks trivial until you notice the gap is not fixed: it widens with both the rate and the horizon, because the two are different functions of the same inputs.
The reason is that percentages are asymmetric. A rise of 34.39% is undone by a fall of 25.59%, not by a fall of 34.39%, because the fall is measured from the higher level. The one-year version is easy to check: 1.03 × 0.97 = 0.9991, so a 3% rise followed by a 3% fall leaves you 0.09% short of even. Pair it ten times and 100 becomes 99.10. Multiplying by (1 - rate) is always a slightly too-small reversal of multiplying by (1 + rate), and dividing by (1 + rate)^years is the correct one.
The second trap is about which side your amount sits on, and it is the commonest way to get a confidently wrong number out of a tool that cannot argue with you. If a basket costs 100 in today's money and prices rose 3% a year for a decade, dividing tells you that basket cost 74.41 at the start of the decade. If instead you earned 100 at the start and want its purchasing power now, that is the forward direction and the answer is 134.39. Same rate, same ten years, same 100, different questions.
Where a defensible rate comes from
There is no single inflation rate for a country in a period, because there is no single basket of goods. Any answer is only as defensible as the number you chose, so this part is worth more time than the arithmetic. Three sources cover almost every case, and all three end in the same place: a percentage you type into the rate field yourself.
Your own spending, from your own records
For personal questions your own prices beat any published average. Rent, groceries, insurance and fuel each moved at their own rate, and if the thing you are trying to afford is one of them, the headline figure is the wrong input. Find what you paid at two dates for something comparable, divide the later total by the earlier, and convert that ratio into an annual rate by taking the root: annual rate = (end ÷ start) raised to (1 ÷ years), minus 1.
Work it. Rent went from 1,000 a month to 1,400 over five years, so the ratio is 1.4 and the annual rate is 1.4 to the power one fifth, which is 1.0696, about 6.96% a year. Check it by running that rate forward: 100 at 6.96% for five years returns 139.99, a couple of cents short of the 140 you observed only because the rate was rounded. That rate, not 3%, is the number to type.
The tool will not do that inversion for you. It takes a rate and produces an amount; no mode takes two amounts and returns the rate between them. Either take the root by hand, or treat the live result as a search: type a rate, watch the number move as you edit it, and adjust until the output matches the amount you already know.
A published index figure you bring in yourself
For anything you have to defend to another person, use the consumer price index published by your country's statistics office, since that is the number other people will check you against. Read the index at two dates, take the ratio, annualise it with the same root. The page links no such series and has no field for an index value: you read it elsewhere and type the percentage in.
Average across the interval geometrically, never arithmetically. If the yearly rates were 2%, 8% and 1%, the plain average is 3.667%, but the rate reproducing the same total comes from 1.02 × 1.08 × 1.01 = 1.1126, whose cube root is 1.0362, so 3.62%. The difference exists because the middle year was charged on a base the first year had already lifted. It compounds, and quoting an arithmetic mean as an average annual inflation rate is something a reviewer will catch.
A planning convention, used on purpose
When the question is forward-looking and you have no basis for a forecast, use a stated target rather than a guess. Most advanced economies publish a price-stability objective near 2% a year, which is defensible because it is an anchor institutions commit to rather than a prediction you invented. The calculator's own reference text offers 3% a year as a common medium-term rule of thumb for the United States while noting that actual rates vary: a reasonable default for a long-horizon sketch, provided you can say out loud that it is a convention. Write the rate and its source beside the result, since the calculator keeps nothing.
Worked examples you can check by hand
The calculator opens on amount 100, rate 3, years 10 and the forward direction, so the first number you see is 134.39 before you touch anything, and that is 1.03^10 = 1.3439 rather than a placeholder.
One century at the same rate: 1.03^100 = 19.2186, the nineteen-times figure the tool's own reference text quotes, so a basket costing 100 today would need roughly 1,922. Read the same factor backwards and you get its other half: 100 ÷ 19.2186 = 5.20, so 100 of today's money buys what 5.20 bought at the start. That pairing is what makes long horizons legible, and it is why holding cash against a decades-long goal loses by arithmetic rather than by bad luck.
A recurring bill: 12,000 a year at 3% for 20 years. 1.03^20 = 1.8061, so 12,000 × 1.8061 = 21,673. The rise is 9,673, and 9,673 ÷ 12,000 = 0.8061, meaning the line has grown 80.6% in total, which is the factor minus 1 as it should be. The additive instinct says twenty years at 3% is a 60% rise, so the gap runs past twenty percentage points, and it is the difference between budgeting 19,200 and budgeting 21,673 for the same renewal.
Last, doubling time, because it is the fastest sanity check available: 72 ÷ 3 = 24 years, and 1.03^24 = 2.0328 sits just past a true doubling while 1.03^23 = 1.9736 sits just short, the exact answer being 23.45 years. The rule holds across the range a person would type: at 5%, 72 ÷ 5 = 14.4 and 1.05^14 = 1.9799. Use it as a brake on the tool. If a ten-year result is near 2, the rate you typed is far higher than you think; if a thirty-year result is below 2, the rate is probably blank or near zero.
Why the horizon matters more than the rate
Because the years sit in an exponent and the rate sits in the base, the two inputs are not equally dangerous to get wrong, and which one matters depends on the span. Take a one-point error in the rate over ten years: at 3% the factor is 1.3439, at 4% it is 1.4802, so the second answer is 10.1% larger, which for most purposes is a rounding disagreement. Stretch that same point over forty years: 1.03^40 = 3.2620 against 1.04^40 = 4.8010, and the second answer is 47.2% larger. Nothing about the error changed; the horizon multiplied it.
The two dials also trade against each other. Three per cent for thirty years gives 2.4273 and 5% for thirty years gives 4.3219, so on that span the rate is close to the whole story; yet 2.5% over forty years gives 2.6851, which beats 3% over thirty despite the lower rate, because ten extra years outweighed half a percentage point. Hence the practical rule: over one to three years pick any reasonable rate and stop worrying, over ten the rate deserves a source, and over thirty the rate is the answer, with the calculator the least important part of the exercise.
How the calculator works, field by field
There are three numeric fields and one two-option direction control: an amount, an annual rate in percent, a number of years, and a choice between the past and the future reading. Defaults are 100, 3 and 10 with forward selected. The result block is two lines, a large number and one sentence restating it, and it updates as you type, so there is no Calculate button. The only button is Reset, which restores 100, 3, 10 and the forward direction. There are no presets, no saved scenarios, no share link and no export, nothing you type is written to storage, and reloading returns you to the defaults.
Two rendering details matter before you paste a figure anywhere. Output is in US dollars on every language version of the page, with no currency control anywhere; the prose around it is translated, the currency is not. And the English page formats the number as a dollar sign followed by two decimals with no thousands separators at all, so a billion comes out as $1000000000.00.
What is deliberately absent: no chart, no table, no year-by-year breakdown, no component detail, no comparison of two scenarios, no error messages. The tool is one exponentiation and its output, and treating it as more than that is where expectations go wrong.
Failure modes worth knowing before you trust a result
None of the following is a flaw in the maths. The exponentiation is correct for whatever three numbers reach it, and that is precisely the problem: the tool cannot tell a deliberate input from a mistake, and cannot tell you which you gave it.
A blank rate is a zero rate
Empty the rate field and 100 over ten years returns 100.00. Non-numeric content in the amount or rate field behaves the same way, becoming zero rather than producing a warning. A blank year count becomes zero too, and since any factor raised to the power zero is 1, the output again equals the amount you typed.
This is the most consequential quiet failure on the page, because an answer identical to the input reads as a finding rather than as an empty box. If the result equals the amount, check the rate and the years before concluding anything.
The field labelled minimum zero accepts less
The inputs carry range and step attributes and the calculation never enforces them: no validation runs, and only one value is clamped. A rate of -3 is used as given, so the forward direction produces a deflation curve, with 100 becoming 73.74 over ten years. That arithmetic is sound, and if you are modelling falling prices it is the correct way to do it here. What matters is that the label cannot be relied on to catch a sign error, and nothing on screen separates intentional deflation from an accidental minus.
A negative amount also passes through and returns a negative result, meaningless as a price level but printed as though it were one. Extreme values behave the same way: the rate field is labelled with a maximum of 100 and accepts 250 without complaint, because only the years field is bounded in code, and only from below.
Fractional years, and a clamp that works one way only
Years is read as a decimal and used directly as the exponent, so 10.5 is accepted and 100 at 3% returns 136.39. That is a legitimate way to model half a year, and also a way to enter a duration you did not intend, since the field is not restricted to whole numbers despite its step attribute. There is no calendar in the tool at all, so an exact interval between two dates has to be converted into a fractional year elsewhere.
The one guard on the page runs the other direction: a negative year count is silently replaced with zero, so a typo of -10 returns the amount unchanged rather than a small number. Two inputs, two treatments of a minus sign, no message for either.
Absurd inputs, and the absence of an error message
Because nothing is bounded, an amount with a decimal point in the wrong place is simply a large number. Push it far enough and the multiplication exceeds the largest value a browser can represent: 100 at 100% for 100 years is on the order of 1.27 × 10^32, and a sufficiently larger amount overflows, at which point the English page prints the literal text $Infinity. No error message appears anywhere to say you have left arithmetic behind.
So the rule for reading this tool is that it is never the source of a red flag; you are. The rule of 72 is the quickest check, and so is the shape of the number: a huge result over a few years, or a result equal to your input, means the mistake is in what you typed.
When this is the wrong instrument
The tool answers one question exactly: scale an amount by a flat rate across a duration. Several common questions look like that question and are not, and for those the honest advice is to leave the page and use something built for the job.
The first is the search most people arrive with. Converting the dollars of one specific calendar year into those of another needs an actual price index at both dates, because real movements in a given stretch were never flat. This calculator has no year field, no index series and no historical rates, so the best it can do is apply an average you supply, and an average will not agree with an index-based number in a document that has to match one.
- Year-to-year dollars: use the consumer price table published by your national statistics office, or that office's own purchasing-power tool, so both dates come from one recorded series rather than from your judgement.
- Comparing two countries: no country or index selector exists here, and output is dollars only. You need each country's published index and its own average rate, then two separate runs of the same exponent.
- Splitting a price rise into components such as food, energy or housing: one rate for one basket is all the model contains, and component weights come from an index agency's published breakdown.
- Projecting a retirement target, pension or salary path as a deliverable: it works as a scratchpad for one multiplication, but there is no income, tax or wage adjustment and no real-versus-nominal output. The page explains nominal and real rates in prose and computes neither.
- Anything needing a schedule: contract indexation clauses, lease escalations and payment paths want a value per period, which this tool never produces. A spreadsheet with one row per year is the right instrument.
A repeatable method, start to finish
This is what turns a formula plus an unvalidated input box into a number you would put in front of someone. Most of it happens before the calculator is used.
- Name the two dates and the amount, then convert the dates into one duration in years, since a duration and not a date is what the exponent needs.
- Choose a rate from a source you can state in a sentence: your own records for a single item, a published index averaged geometrically for a general one, a stated target for a forward-looking sketch.
- Decide which side the amount sits on. Money expressed in today's terms divides by the factor to become money of the earlier period; money from the earlier period multiplies by the factor to become today's equivalent. This is the commonest error and no part of the tool will notice it.
- Anchor the result before trusting it: divide 72 by the rate to get the doubling time, then ask whether your horizon is a fraction of it or several multiples.
- Run the two neighbouring rates you would have been willing to defend, and if the conclusion flips between them report a range. Then write the rate, the years and the source beside the result, because the calculator keeps no record of any of them.
Frequently asked questions
How do you calculate compound inflation?
Add 1 to the annual rate, raise that to the number of years, and scale the amount by the result. Forward: amount × (1 + rate)^years. Backward: amount ÷ (1 + rate)^years. At 3% for ten years the factor is 1.3439, so 100 becomes 134.39 forward and 74.41 back. Both the rate and the years have to come from you.
What does compound mean in an inflation figure?
That each year's rise is charged on prices that already rose, so the same percentage is a larger money amount every year, with no change in the rate. Yearly increases therefore multiply rather than add: three years at 3% is a total rise of 9.27%, not 9%.
Can I just add the yearly inflation rates together?
Not if the answer matters. Adding 3% ten times gives 30%, while compounding gives 34.39%. Over a century adding gives 300% and compounding gives a factor of about 19.2, so the shortcut understates by roughly five times. For a mix of yearly rates, multiply the factors and take the nth root, which is how 2%, 8% and 1% becomes 3.62% rather than 3.667%.
What inflation rate should I use?
The one that fits what you are measuring, sourced outside this tool. Your own paid prices for a single item; a published consumer price index, averaged geometrically across the interval, for anything general; a stated central-bank target, commonly near 2%, for forward-looking planning. The calculator ships no rate and cannot check yours. Its own reference text offers 3% a year as a common medium-term rule of thumb for the United States while noting that actual rates vary.
Why is going backward not the same as using a negative rate?
Because a fall measured from a higher level has to be a smaller percentage than the rise that created it. Dividing gives 100 ÷ 1.03^10 = 74.41, while a rate of -3 forward gives 100 × 0.97^10 = 73.74. The one-year version is 1.03 × 0.97 = 0.9991, a little short of even. The proper reversal is division by (1 + rate)^years, not multiplication by (1 - rate)^years, and the two diverge further as rates and horizons grow.
Can this calculator turn 1995 dollars into today's dollars?
Not directly. It has no year field, no calendar and no historical price series, so nothing on it knows what 1995 or any other year was. You would supply an average annual rate and a duration, which gives an approximation built from your number rather than an index-based conversion. For a figure that has to match an official one, use the consumer price table from your national statistics office.
Does the calculator use CPI or any published inflation data?
No, and it is worth being explicit. Nothing in the calculator looks up, suggests or validates a rate: there is no data file, no bundled series, and the calculator itself makes no request to obtain a number. CPI is the standard source for the figure you type, but getting it is a step you take elsewhere. Everything the result reflects is the three values sitting in the fields.
Why is the answer the same number I typed in?
Almost always an empty or unreadable field. A blank or non-numeric rate becomes zero, and a rate of zero makes the factor 1, so the output equals the input. A blank year count becomes zero with the same effect. Confirm both fields hold digits before treating the result as a finding.
Can I model deflation with it?
Yes, as arithmetic: a negative rate is accepted and used, so -3% over ten years turns 100 into 73.74 going forward. But the range hints are not enforced, so the same behaviour lets through an accidental minus sign or a rate of 250 with no warning. One combination looks odd while being consistent: a negative rate in the backward direction returns a number larger than the input, 135.61 in that same case.
Does it work in other currencies, and does it save what I type?
Neither, in the way you might hope. Every language version of the page outputs US dollars, with no currency selector; what differs between versions is number formatting, not the currency. As to storage, the calculation runs in your browser, the figures are not uploaded by the calculator and no history is kept. That covers the arithmetic only: the page still loads web fonts, analytics and an advertisement frame, so it is not a network-free document and should not be described as one.