Salary inflation calculator
At 3% inflation, a 50,000 salary has to grow to 57,963.70 in five years just to buy what it buys today, a gap of 7,963.70. Enter your pay, a yearly rate and a horizon to see the target. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Salary
- 50,000
- Inflation rate
- 3
- Years
- 5
- Inflation factor
- 1.15927407
- Future salary
- 57,963.7
- Increase
- 7,963.7
An inflation-adjusted salary answers a compensation question that cost-of-living indexes and generic compound-growth solvers do not: if prices rise at a stated annual rate, what must a future paycheck be so that it buys the same basket as today's salary? Job seekers comparing a frozen wage to a COLA track, HR teams setting a living-wage band, and households that need a future-pay target all type that query as salary inflation calculator rather than as a generic future-value identity. This tool takes the current salary, an annual inflation rate, and a horizon in years, multiplies the salary by one plus the inflation rate over one hundred raised to the year count, and returns the future salary needed to keep pace together with the extra nominal pay required.
What an inflation-adjusted salary tells you
An inflation-adjusted salary is the paycheck you would need in the future to buy the same things your salary buys today. It is not a raise and not a forecast of what an employer will pay; it is the line a salary has to reach just to stand still. If prices rise 3% a year, 50,000 today has to become 57,963.70 in five years, so a pay rise smaller than 7,963.70 over that period is a cut in real terms. That makes it a useful yardstick when you weigh a frozen wage, a cost-of-living adjustment or a multi-year job offer.
How the figure is calculated, and the usual mistakes
Each year the salary is multiplied by one plus the inflation rate, and that step is repeated once per year, so every increase is taken on a figure that has already grown. Simply adding the same percentage of the original salary every year therefore understates the answer. Enter the rate as a percent, so 3 means 3% a year. A rate of zero leaves the salary unchanged, a negative rate models falling prices, and a horizon of zero years returns today's salary. Fractional years are accepted, up to 100.
What you can do with it
COLA bands and living-wage reviews
Turn a current salary, a stated annual inflation rate, and a horizon into the future paycheck needed to keep purchasing power, for HR teams and compensation explainers.
Frozen-wage versus inflation comparisons
Show candidates and journalists what a wage that never moves must become after several years of prices so the gap versus a COLA track is a single two-decimal figure.
Household multi-year pay targets
Pin a future-pay goal next to rent and savings by compounding today's salary at a planned inflation assumption without opening a spreadsheet for each scenario.
FAQ
What happens if the number of years is negative?
A negative horizon is not accepted; enter zero or more years for the inflation-adjusted salary. Failed validation is not billed.
Is the annual inflation rate a percent or a decimal fraction?
The engine divides by one hundred before raising the factor.
How much must a 50,000 salary rise to keep up with 3% inflation over five years?
It must reach 57,963.70, which is 7,963.70 more than today. The rise compounds: each year's 3% is taken on the already higher figure, not on the original salary.
Can the inflation rate be negative?
Yes. A negative rate models deflation, so the paycheck needed to buy the same things can be lower than today's. The rate only has to stay above minus 100%.
Does this predict what my employer will pay me?
No. It shows the pay needed to keep today's purchasing power at the inflation rate you choose. It is not a forecast of raises and does not look up an official price index.
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/fin/salary-inflation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"salary":50000,"inflation_rate":3,"years":5}'const res = await fetch("https://api.kit.forhosting.com/fin/salary-inflation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"salary": 50000,
"inflation_rate": 3,
"years": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/salary-inflation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"salary": 50000,
"inflation_rate": 3,
"years": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/salary-inflation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"salary":50000,"inflation_rate":3,"years":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"salary":50000,"inflation_rate":3,"years":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/salary-inflation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"salary": 50000,
"inflation_rate": 3,
"years": 5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.salary_inflation",
"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
When the year count is negative the task fails with invalid_input instead of inventing a reverse-time paycheck.
What an inflation-adjusted salary is and how the figure appears
Salary inflation on this page is not a forecast of what an employer will actually pay, and it is not a lookup of a consumer-price index. When the inflation rate is zero the factor is one and the salary is unchanged. When the number of years is zero the same identity returns the original salary, which is the honest answer for a horizon that has not started. A negative inflation rate models deflation: prices fall, so the equivalent future paycheck can be smaller than today's, as long as the rate stays above negative one hundred percent so that the factor stays positive. It is the inflation-adjusted equivalent of a current salary: the future nominal paycheck that would be required to preserve today's purchasing power if prices compound at a constant annual rate. If this year's salary is salary and the annual inflation rate as a percent is inflation_rate, then next year's equivalent pay is salary times one plus inflation_rate divided by one hundred. After years such steps that multiplier has been applied that many times, which is exactly (1 + inflation_rate/100) raised to years, and the future salary needed is the current salary times that factor. A worked example: fifty thousand at three percent inflation for five years has inflation_factor 1.15927407 and future_salary 57963.70 after half-up rounding to two decimal places, so the extra nominal pay required (increase) is 7963.70.
Input contract, response shape, and error behaviour
A negative salary is rejected for the same reason a paycheck cannot be a negative number. Pair the result with your own official CPI series if you need index levels; start here when the product question is a transparent, three-input inflation-adjusted salary for a page, a worksheet, or a batch of COLA scenarios that already share one rate and one horizon. POST a JSON body with three required finite numbers: salary (the current annual pay whose inflation-adjusted equivalent you want, zero or greater; aliases current_salary, current, amount, pay, wage), inflation_rate (the fixed annual inflation as a percent such as three for three percent per year; aliases rate, rate_percent, annual_inflation, inflation), and years (the compounding horizon, greater than or equal to zero and at most one hundred; aliases n, horizon, periods). Each field may arrive as a JSON number or as a numeric string. Missing fields, empty strings, booleans, and non-finite values fail with invalid_input naming the field and are not billed. If inflation_rate is less than or equal to negative one hundred percent, one plus r is not positive and the power is not a useful real factor, so that case is invalid_input as well. On success the body echoes salary, inflation_rate and years; reports inflation_factor rounded half-up to eight decimals; returns future_salary and increase rounded half-up to two decimal places as currency; and includes a short formula string restating the identity future_salary equals salary times (1 + inflation_rate/100) to the power years.
Where a salary inflation calculator earns its keep
Household budgets that stretch a current paycheck across five or ten years of rising prices can pin the increase field next to rent and savings goals and see how much extra nominal pay is required just to stand still. Educators teaching the difference between a merit raise and a cost-of-living adjustment can seed classroom examples that show fifty thousand at three percent inflation for five years versus the same salary with a raise that ignores prices, and can demonstrate the hard fail when someone types a negative year count. Failed validation does not consume balance. Candidates comparing a frozen offer against a cost-of-living track can post the same three numbers twice and quote a stable future_salary with a two-decimal currency contract. Because the implementation is tier A parse, every successful call costs the published $0.002 base price with no model tokens and no outbound network. Keep the inflation rate above negative one hundred percent, keep years at zero or more, pin the rounded future_salary in tests, and you get reproducible inflation-adjusted salaries for widgets, CMS embeds, and edge workers without standing up a spreadsheet service of your own.
Technical questions
How is an inflation-adjusted future salary calculated from a rate and a number of years?
Multiply the current salary by (1 + inflation_rate/100) raised to the number of years. The result is future_salary after half-up rounding to two decimal places, together with inflation_factor and the extra nominal pay required.
Can the inflation rate be negative, and what does zero years return?
A negative rate models deflation and can lower the equivalent future paycheck, as long as the rate is greater than −100% so that 1 + inflation_rate/100 stays positive. Zero years returns the current salary unchanged.
What does the salary inflation calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.