Rent vs Buy Calculator

Compare buying a home with renting and investing the difference, and see the year buying pulls ahead, if it ever does.

🔒 Everything is calculated in your browser. Your numbers never leave your device.

The home

Renting and investing

Buying wins fromYear 7
Mortgage payment$2,023/mo
Net worth after 30$589,526Buy $923,773 · Rent $334,247

Net worth: buying vs renting

$0k$231k$462k$693k$924k0612182430
BuyRent

Net worth for buying is home value minus loan balance and selling costs. For renting it is the invested down payment plus any monthly savings.

Where you stand

YearBuyRentBetter
5$137,213$148,355Rent
10$236,073$203,714Buy
20$506,475$298,321Buy
30$923,773$334,247Buy

How it works

  1. Enter the home price, down payment, mortgage rate and term.
  2. Add property tax, upkeep and insurance, appreciation, and buying and selling costs.
  3. Enter your rent, how fast it rises, and what you would earn investing instead.
  4. Read the break-even year and compare net worth at years 5, 10, 20 and 30.

A fair comparison

Buying and renting are compared on equal footing: the renter invests the down payment and closing costs, then invests (or withdraws) the monthly difference between owning costs and rent. Buyer net worth is home value minus the loan and selling costs.

Why the answer changes so much

Small changes in rent, mortgage rate and appreciation can move the break-even year by a decade. That is why a single rule of thumb is unreliable, and why it is worth running your own numbers.

Frequently asked questions

Does it include the mortgage interest tax deduction?

No. Taxes vary by situation, so the model is pre-tax. If you itemize, buying is slightly better than shown.

Why include selling costs?

Selling a home usually costs several percent in fees. Ignoring them makes buying look better over short periods.

What investment return should I use?

Use a conservative figure you would actually earn after fees. A higher return favors renting; a lower one favors buying.

Is my data saved?

Your numbers stay in your browser only. Nothing is sent to a server.