Work out the maximum rent increase allowed under the ACT’s CPI-linked formula, while the ACT Government’s own calculator is unavailable.
1
Your rent and tenancy
per week
per fortnight
per month
2
The proposed increase
3
Canberra rents CPI figures
Pick the figure that applied at each date. The right figure is the one most recently published at that date — not necessarily the figure for that exact calendar month. Check release dates at
abs.gov.au if unsure.
Select a month…
Select a month…
4
Result
Fill in the fields above to see the maximum allowed increase.
This is general information, not legal advice. It reflects ACT Shelter’s understanding of the Residential Tenancies Act 1997 and Residential Tenancies Regulation 1998, and published ABS data, as at the date below. ACT Shelter is not responsible for decisions made based on this tool. For a definitive answer, or if your landlord disagrees with your figures, contact Legal Aid ACT, or apply to ACAT.
(function () {
"use strict";
/* ============================================================
CPI DATA - Canberra rents sub-index, ABS Consumer Price Index
Source (as supplied to ACT Shelter): Table 9, CPI Group/Sub-
group/Expenditure Class, Index Numbers by Capital City.
>>> ADD A NEW LINE HERE EACH MONTH when the ABS releases a new
>>> figure. Keep the list in date order. Then update
>>> LAST_UPDATED below. That is the only maintenance this file
>>> needs.
============================================================ */
var CPI_DATA = [
{ month: "Aug 2022", value: 95.35 }, { month: "Sep 2022", value: 95.67 },
{ month: "Oct 2022", value: 95.95 }, { month: "Nov 2022", value: 96.43 },
{ month: "Dec 2022", value: 96.72 }, { month: "Jan 2023", value: 97.07 },
{ month: "Feb 2023", value: 97.39 }, { month: "Mar 2023", value: 97.68 },
{ month: "Apr 2023", value: 97.87 }, { month: "May 2023", value: 98.08 },
{ month: "Jun 2023", value: 98.59 }, { month: "Jul 2023", value: 98.71 },
{ month: "Aug 2023", value: 98.82 }, { month: "Sep 2023", value: 98.65 },
{ month: "Oct 2023", value: 98.23 }, { month: "Nov 2023", value: 98.33 },
{ month: "Dec 2023", value: 98.80 }, { month: "Jan 2024", value: 98.92 },
{ month: "Feb 2024", value: 99.07 }, { month: "Mar 2024", value: 99.03 },
{ month: "Apr 2024", value: 99.04 }, { month: "May 2024", value: 99.28 },
{ month: "Jun 2024", value: 99.36 }, { month: "Jul 2024", value: 99.45 },
{ month: "Aug 2024", value: 99.52 }, { month: "Sep 2024", value: 99.35 },
{ month: "Oct 2024", value: 99.01 }, { month: "Nov 2024", value: 99.28 },
{ month: "Dec 2024", value: 99.37 }, { month: "Feb 2025", value: 99.60 },
{ month: "Mar 2025", value: 99.65 }, { month: "Apr 2025", value: 99.70 },
{ month: "May 2025", value: 99.79 }, { month: "Jun 2025", value: 99.83 },
{ month: "Jul 2025", value: 99.90 }, { month: "Aug 2025", value: 99.98 },
{ month: "Sep 2025", value: 100.00 }, { month: "Oct 2025", value: 100.01 },
{ month: "Nov 2025", value: 100.32 }, { month: "Dec 2025", value: 100.43 },
{ month: "Jan 2026", value: 100.55 }, { month: "Feb 2026", value: 100.71 },
{ month: "Mar 2026", value: 100.77 }, { month: "Apr 2026", value: 100.77 }
];
// NOTE: Jan 2025 is missing from the source table supplied to ACT
// Shelter - check this against the official ABS spreadsheet before
// publishing live. May 2026 is due for release 24/6/2026 and isn't
// included yet.
var LAST_UPDATED = "18 June 2026";
document.getElementById("arc-last-updated").textContent =
"CPI figures in this tool last checked: " + LAST_UPDATED + ".";
// Populate the two index dropdowns from CPI_DATA (most recent first)
var initialSel = document.getElementById("arc-initial-index");
var currentSel = document.getElementById("arc-current-index");
for (var i = CPI_DATA.length - 1; i >= 0; i--) {
var row = CPI_DATA[i];
var optA = document.createElement("option");
optA.value = row.value;
optA.textContent = row.month + " \u2014 " + row.value.toFixed(2);
initialSel.appendChild(optA);
var optB = document.createElement("option");
optB.value = row.value;
optB.textContent = row.month + " \u2014 " + row.value.toFixed(2);
currentSel.appendChild(optB);
}
// Default "current" to the most recently available figure
currentSel.value = CPI_DATA[CPI_DATA.length - 1].value;
// Element refs
var rentEl = document.getElementById("arc-rent");
var freqEl = document.getElementById("arc-freq");
var refDateEl = document.getElementById("arc-ref-date");
var refDateLabel = document.getElementById("arc-ref-date-label");
var noticeDateEl = document.getElementById("arc-notice-date");
var effectiveDateEl = document.getElementById("arc-effective-date");
var proposedRentEl = document.getElementById("arc-proposed-rent");
var alertsEl = document.getElementById("arc-alerts");
var resultEl = document.getElementById("arc-result");
function radioValue(name) {
var els = document.getElementsByName(name);
for (var i = 0; i < els.length; i++) if (els[i].checked) return els[i].value;
return null;
}
// Toggle the reference-date label between "tenancy began" / "last increase notice"
document.getElementsByName("arc-hasinc").forEach(function (el) {
el.addEventListener("change", function () {
refDateLabel.textContent = radioValue("arc-hasinc") === "yes"
? "Date you were given notice of your last rent increase"
: "Date your tenancy began";
recalc();
});
});
function fmtMoney(n) {
var sign = n < 0 ? "-" : "";
return sign + "$" + Math.abs(n).toFixed(2);
}
function addMonths(date, months) {
var d = new Date(date.getTime());
d.setMonth(d.getMonth() + months);
return d;
}
function daysBetween(a, b) {
return Math.round((b.getTime() - a.getTime()) / 86400000);
}
function parseDate(input) {
if (!input.value) return null;
var parts = input.value.split("-");
return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));
}
function recalc() {
var alerts = [];
var rent = parseFloat(rentEl.value);
var initial = parseFloat(initialSel.value);
var current = parseFloat(currentSel.value);
var refDate = parseDate(refDateEl);
var noticeDate = parseDate(noticeDateEl);
var effectiveDate = parseDate(effectiveDateEl);
var pretransition = radioValue("arc-pretransition");
if (pretransition === "yes") {
alerts.push({
type: "stop",
title: "This calculator doesn\u2019t apply to your tenancy",
body: "Fixed-term agreements that started before 10 December 2024 follow the rent-increase terms in the tenancy agreement itself, not the CPI formula. Check your agreement, or contact the Tenants\u2019 Union ACT or Legal Aid ACT for help reading it."
});
renderAlerts(alerts);
resultEl.innerHTML = '
No calculation shown \u2014 see the note above.
';
return;
}
if (refDate && effectiveDate) {
var minDate = addMonths(refDate, 12);
if (effectiveDate < minDate) {
alerts.push({
type: "warn",
title: "Less than 12 months since the last increase (or tenancy start)",
body: "Landlords can only increase rent once every 12 months. Based on the dates entered, the earliest this increase could take effect is " + minDate.toLocaleDateString("en-AU") + "."
});
}
}
if (noticeDate && effectiveDate) {
var minNotice = new Date(noticeDate.getTime());
minNotice.setDate(minNotice.getDate() + 56);
if (effectiveDate < minNotice) {
alerts.push({
type: "warn",
title: "Less than 8 weeks\u2019 written notice",
body: "At least 8 weeks\u2019 notice is required. Based on the dates entered, the earliest valid effective date would be " + minNotice.toLocaleDateString("en-AU") + "."
});
}
}
renderAlerts(alerts);
if (!rent || !initial || !current) {
resultEl.innerHTML = '
Fill in the rent amount and both CPI figures above to see the maximum allowed increase.
';
return;
}
var growth = (current - initial) / initial;
var prescribedAmountRaw = 1.1 * rent * growth;
var prescribedAmount = Math.max(0, prescribedAmountRaw);
var maxRent = rent + prescribedAmount;
var pct = (prescribedAmount / rent) * 100;
var freqLabel = freqEl.value === "week" ? "per week" : freqEl.value === "fortnight" ? "per fortnight" : "per month";
var html = "";
html += '
No CPI growth over this periodCanberra rents CPI hasn\u2019t risen between these two dates, so the prescribed amount is $0. Your landlord can\u2019t increase the rent under this formula unless you agree in writing, or ACAT orders it.
';
} else if (proposedRentEl.value) {
var proposed = parseFloat(proposedRentEl.value);
if (proposed <= maxRent + 0.005) {
html += '
The proposed rent is within the limit$' + proposed.toFixed(2) + ' is at or below the maximum allowed rent of ' + fmtMoney(maxRent) + '. Your landlord can apply this increase without your written agreement or an ACAT order (subject to the notice and timing rules above).
';
} else {
html += '
The proposed rent is above the limit$' + proposed.toFixed(2) + ' is more than the maximum allowed rent of ' + fmtMoney(maxRent) + '. Your landlord can only apply this unless you agree to it in writing, or ACAT approves it after the landlord applies and shows why it should be allowed.