# Rent Affordability Calculator

Work out affordable rent from income using the 30% rule or a custom ratio, with debts, gross-vs-net handling, guideline ranges, and money left over.

## Run it

- **CLI:** `gizza tool rent-affordability 'income=60000'`
- **Web:** https://gizza.ai/tools/rent-affordability/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/rent-affordability/tool.json

## Inputs

- `income` — Income _(field)_
- `income_period` — Income period (annual | monthly) _(field)_
- `income_type` — Income type (gross | net) _(field)_
- `tax_rate_percent` — Assumed tax rate (% — for net income) _(field)_
- `rent_to_income_ratio` — Rent-to-income ratio (%) _(field)_
- `monthly_debts` — Existing monthly debts _(field)_
- `max_dti_ratio` — Max debt-to-income (%) _(field)_
- `currency` — Currency symbol _(field)_
- `decimals` — Decimal places _(field)_

## Output

- Affordability breakdown (text)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `income` — Income
- `income_period` — Income period (annual | monthly)
- `income_type` — Income type (gross | net)
- `tax_rate_percent` — Assumed tax rate (% — for net income)
- `rent_to_income_ratio` — Rent-to-income ratio (%)
- `monthly_debts` — Existing monthly debts
- `max_dti_ratio` — Max debt-to-income (%)
- `currency` — Currency symbol
- `decimals` — Decimal places

Example: `https://gizza.ai/tools/rent-affordability/?income=60000&income_period=annual&income_type=gross&tax_rate_percent=25&rent_to_income_ratio=30&monthly_debts=0&max_dti_ratio=36&currency=%24&decimals=2`

---

## About this tool

This calculator estimates the **maximum monthly rent you can comfortably afford** from your
income. By default it applies the classic **30% rule** — housing should take at most 30% of your
gross (pre-tax) monthly income — but you can dial the rent-to-income ratio anywhere from 10% to
50% to match a landlord's requirement or your own comfort level.

It goes beyond a single number:

- **Debt-adjusted ceiling.** Add your existing monthly debt payments and a back-end
  debt-to-income cap (36% by default). The recommended rent is the *smaller* of the 30%-rule
  figure and `gross monthly income × DTI% − debts`, so real obligations pull the number down the
  way lenders and landlords expect.
- **Gross vs. net.** Enter take-home (net) pay and an assumed tax rate, and it grosses the figure
  up before applying the ratio — because landlords screen on pre-tax income.
- **A guideline range, not one bare figure.** You get conservative (25%), moderate (30%) and
  aggressive (35%) anchors, the income-to-rent multiple landlords look for (about 3.3× rent at
  30%), and how much is left over each month.

Everything runs locally in your browser — nothing you type is uploaded. The tax gross-up is a flat
assumed rate, not a jurisdiction tax table, and there are no live local listings; it's a budgeting
guide, not financial advice.

## FAQ

<details>
<summary>What is the 30% rule for rent?</summary>

The 30% rule is a long-standing budgeting guideline that says your rent should be no more than
**30% of your gross (pre-tax) monthly income**. On a $60,000 salary — about $5,000 a month — that
works out to roughly **$1,500 a month** in rent. It's a starting point, not a hard limit: this
tool lets you set any ratio from 10% to 50%.

</details>

<details>
<summary>Should I use gross or net income?</summary>

Most landlords and the 30% rule use **gross (pre-tax)** income, which is why that's the default.
If you only know your **take-home (net)** pay, switch the income type to *net* and set an assumed
tax rate — the calculator grosses the figure back up before applying the ratio. The gross-up is a
single flat rate, not a full progressive-tax calculation.

</details>

<details>
<summary>How do existing debts change the result?</summary>

Enter your recurring monthly debt payments (car loan, student loans, minimum credit-card
payments) and a **back-end debt-to-income (DTI) cap** — 36% is a common lender threshold. The
calculator computes a debt-adjusted ceiling of `gross monthly income × DTI% − debts` and
recommends the **smaller** of that and the plain rent-to-income figure. More debt means a lower
recommended rent.

</details>

<details>
<summary>What income multiple do landlords want?</summary>

Many landlords require your **gross income to be about 3× the rent** (sometimes 2.5× or 3.5×). The
30% rule is the same thing from the other direction — 30% of income as rent is an income-to-rent
multiple of about **3.3×**. The tool reports this multiple so you can check a listing's stated
requirement at a glance.

</details>

<details>
<summary>Is this financial advice?</summary>

No. It's a budgeting guideline that runs entirely in your browser. It uses a flat assumed tax rate
rather than real jurisdiction tax tables, doesn't know your local cost of living or utility costs,
and doesn't pull live rental listings. Treat the result as a planning starting point and adjust for
your own situation.

</details>

## Related tools

- [Base Decoder](https://gizza.ai/tools/base-decoder/): Auto-detect and decode Base16, Base32, Base45, Base58, Base64, and Base85 text, including nested layers, locally in your browser.
- [Detect Clipping in WAV Audio](https://gizza.ai/tools/clipping-detector/): Paste base64 or hex WAV bytes and detect clipped full-scale samples, consecutive clipping runs, timestamps, and worst distorted regions. Runs locally in your browser.
- [Decode/Transform Recipe Pipeline](https://gizza.ai/tools/cyberchef-pipeline/): Chain byte-level decode/transform steps — Base64, hex, URL, gzip/zlib, XOR, ROT13 — into one recipe, applied top to bottom. Free, private, runs entirely in your browser.
- [Downsample Time-Series (LTTB)](https://gizza.ai/tools/downsample-timeseries/): Reduce a large time-series to a target point count with LTTB, min/max, M4, or every-nth downsampling — shape preserved, in your browser, no upload.
- [ipynb to Script](https://gizza.ai/tools/ipynb-to-script/): Extract code cells from a Jupyter .ipynb into a clean Python script or Markdown, dropping outputs and execution counts. Runs locally in your browser.
