Skip to main content

FY2025

Australian tax rates and rules for 1 July 2024 to 30 June 2025, and how to fill in that year’s return in myTax.
Author

Benedict Thekkel

1. The year at a glance

Item FY2025
Income year 1 July 2024 to 30 June 2025
Self-lodgement deadline 31 October 2025
Amendment window Two years from the notice of assessment

What was new this year:

  • Stage 3 tax cuts. The 19% rate became 16%, the 32.5% rate became 30%, the 37% bracket now starts at $135,001 instead of $120,001, and the 45% bracket starts at $190,001 instead of $180,001. A return calculated on the 2023-24 rates overstates tax by thousands of dollars.
  • Work from home fixed rate rose to 70 cents per hour (from 67 cents).
  • Super guarantee rose to 11.5% of ordinary time earnings.
  • Car cents per kilometre rate rose to 88 cents (from 85 cents).

How each part of the system works is explained on the overview page. This page gives the numbers and the walkthrough.


2. Rates and thresholds

Resident tax rates

Taxable income Tax on this income
$0 to $18,200 Nil
$18,201 to $45,000 16c for each $1 over $18,200
$45,001 to $135,000 $4,288 plus 30c for each $1 over $45,000
$135,001 to $190,000 $31,288 plus 37c for each $1 over $135,000
$190,001 and over $51,638 plus 45c for each $1 over $190,000

Offsets and levies

Item FY2025
Low Income Tax Offset (LITO) $700 up to $37,500. Reduces by 5c per $1 to $45,000 ($325), then by 1.5c per $1, reaching nil at $66,667
Medicare levy 2% of taxable income
Medicare levy low-income threshold (single) No levy at $27,222 or below. Shades in at 10c per $1 up to $34,027
Medicare levy surcharge (single, no private hospital cover) Nil to $97,000. 1% to $113,000. 1.25% to $151,000. 1.5% above

Study and training loans

In FY2025 the repayment is one rate applied to your whole repayment income. Crossing a band boundary by one dollar raises the repayment on every dollar. This is the last year of that system.

Repayment income Rate on the whole amount
Below $54,435 Nil
$54,435 to $62,850 1.0%
$62,851 to $66,620 2.0%
$66,621 to $70,618 2.5%
$70,619 to $74,855 3.0%
$74,856 to $79,346 3.5%
$79,347 to $84,107 4.0%
$84,108 to $159,663 Rises by 0.5% per band. See the ATO table
$159,664 and above 10.0%

Repayment income is taxable income plus reportable fringe benefits, reportable super contributions, net investment losses and exempt foreign employment income.

Super

Item FY2025
Super guarantee rate 11.5%
Concessional contributions cap $30,000
Carry-forward of unused cap Allowed if total super balance was under $500,000 on 30 June 2024. 2024-25 is the last year the unused 2019-20 cap can be used

Deduction rates

Item FY2025
Work from home, fixed rate 70c per hour worked from home
Car, cents per kilometre 88c per km, up to 5,000 km per car
Immediate deduction for work items $300 or less per item
Small business instant asset write-off Assets under $20,000 each, for businesses with turnover under $10 million
GST registration threshold $75,000 turnover
ATO interest charges (GIC, SIC) Still deductible this year. Not from FY2026

3. Calculator

The cell below runs an illustrative return through the FY2025 rules: a salaried employee who also contracts, earns some interest and holds shares, and has a study loan. Replace the inputs in example with your own figures to check the myTax estimate.

The tax withheld input is the total from the income statement, which includes any study loan amount the employer withheld. The study loan repayment is then charged as part of the liability, as the assessment does.

# 2024-25 resident individual tax. Illustrative inputs only.
from dataclasses import dataclass

# (top of bracket, marginal rate). Stage 3 rates, from 1 July 2024.
BRACKETS = [
    (18_200, 0.00),
    (45_000, 0.16),
    (135_000, 0.30),
    (190_000, 0.37),
    (float("inf"), 0.45),
]

MEDICARE_RATE = 0.02
MEDICARE_LOWER = 27_222  # single, no SAPTO; the levy shades in at 10c per dollar above this

# Study loans: ONE rate applied to the whole repayment income. (lower bound, rate).
# Only the bands up to $84,107 and the 10% top band are copied here.
STUDY_LOAN = [
    (0, 0.000),
    (54_435, 0.010),
    (62_851, 0.020),
    (66_621, 0.025),
    (70_619, 0.030),
    (74_856, 0.035),
    (79_347, 0.040),
]
STUDY_LOAN_CHECKED_TO = 84_107
STUDY_LOAN_TOP = (159_664, 0.10)


def income_tax(taxable):
    """Tax before offsets, stepping through each bracket."""
    tax, lower = 0.0, 0.0
    for upper, rate in BRACKETS:
        if taxable <= lower:
            break
        tax += (min(taxable, upper) - lower) * rate
        lower = upper
    return tax


def lito(taxable):
    """Low Income Tax Offset: $700 up to $37,500, then two tapers to nil at $66,667."""
    if taxable <= 37_500:
        return 700.0
    if taxable <= 45_000:
        return 700.0 - (taxable - 37_500) * 0.05
    if taxable <= 66_667:
        return max(0.0, 325.0 - (taxable - 45_000) * 0.015)
    return 0.0


def medicare_levy(taxable):
    if taxable <= MEDICARE_LOWER:
        return 0.0
    return min(taxable * MEDICARE_RATE, (taxable - MEDICARE_LOWER) * 0.10)


def study_loan_repayment(repayment_income):
    if repayment_income >= STUDY_LOAN_TOP[0]:
        return repayment_income * STUDY_LOAN_TOP[1]
    if repayment_income > STUDY_LOAN_CHECKED_TO:
        raise ValueError("Add the 2024-25 bands above $84,107 from the ATO table")
    rate = 0.0
    for lower, band_rate in STUDY_LOAN:
        if repayment_income >= lower:
            rate = band_rate
    return repayment_income * rate


@dataclass
class Return:
    """One year's figures, in dollars."""
    salary: float = 0.0
    contracting: float = 0.0        # fees received in the year
    interest: float = 0.0
    dividends: float = 0.0          # cash amount
    franking_credits: float = 0.0
    trust_income: float = 0.0       # ETF distributions, excluding capital gains
    net_capital_gain: float = 0.0   # after losses and the 50% discount
    other_income: float = 0.0       # e.g. net CFD gains on revenue account
    deductions: float = 0.0
    tax_withheld: float = 0.0       # total on the income statement, incl. any study loan part
    has_study_loan: bool = False

    @property
    def assessable(self):
        return (self.salary + self.contracting + self.interest + self.dividends
                + self.franking_credits + self.trust_income + self.net_capital_gain
                + self.other_income)

    @property
    def taxable(self):
        return max(0.0, self.assessable - self.deductions)

    def summary(self):
        taxable = self.taxable
        before = income_tax(taxable)
        offset = min(before, lito(taxable))
        levy = medicare_levy(taxable)
        # Repayment income also adds reportable super and fringe benefits; none here.
        loan = study_loan_repayment(taxable) if self.has_study_loan else 0.0
        liability = before - offset + levy + loan
        credits = self.tax_withheld + self.franking_credits
        return {
            "assessable income": self.assessable,
            "less deductions": -self.deductions,
            "taxable income": taxable,
            "income tax on the brackets": before,
            "less LITO": 0.0 - offset,
            "plus Medicare levy": levy,
            "plus study loan repayment": loan,
            "total liability": liability,
            "less tax withheld": -self.tax_withheld,
            "less franking credits": -self.franking_credits,
            "owed (negative is a refund)": liability - credits,
        }


def show(r):
    rows = r.summary()
    width = max(len(k) for k in rows)
    for label, amount in rows.items():
        print(f"  {label:<{width}}  {amount:>12,.2f}")
    print(f"  {'average rate on taxable income':<{width}}  "
          f"{(rows['total liability'] - rows['plus study loan repayment']) / rows['taxable income']:>12.1%}")


example = Return(
    salary=60_000,
    contracting=8_000,
    interest=200,
    dividends=1_000,
    franking_credits=428.57,
    deductions=2_000,
    tax_withheld=11_200,
    has_study_loan=True,
)
show(example)
  assessable income               69,628.57
  less deductions                 -2,000.00
  taxable income                  67,628.57
  income tax on the brackets      11,076.57
  less LITO                            0.00
  plus Medicare levy               1,352.57
  plus study loan repayment        1,690.71
  total liability                 14,119.86
  less tax withheld              -11,200.00
  less franking credits             -428.57
  owed (negative is a refund)      2,491.29
  average rate on taxable income         18.4%

Reading the result:

  • Taxable income of about $67,600 sits in the 2.5% study loan band, so the repayment is 2.5% of the whole income, about $1,700.
  • LITO is nil, because it tapers out at $66,667.
  • Almost the whole balance owing comes from the $8,000 of contracting income that had nothing withheld. That is the reason to set money aside from each contracting payment.

4. Step 1 in myTax: personalise your return

This screen decides which sections of the return you are shown. The selections below fit the profile these pages follow: an employee who also contracts as a sole trader, holds ETFs and shares, may trade CFDs, and has a study loan.

When unsure, tick it. A ticked category only adds a section, which you can leave empty. An unticked one hides income you may still have to declare.

Basic information

Question Answer for this profile Why it matters
Australian resident for tax purposes all year? Yes Residents get the tax-free threshold and are taxed on worldwide income
Spouse at any time in the year? Answer truthfully Drives the Medicare levy surcharge thresholds and some offsets
Private health insurance? Answer truthfully Without private hospital cover, an income above $97,000 attracts the surcharge

Income

Category Tick? Why
Salary, wages, allowances Yes Pre-fills from the employer’s income statement
Government payments, ETPs, foreign employment No Only if you had them
Superannuation income streams No Only when drawing a pension, not while accumulating
Interest Yes Any account that paid interest, however small
Dividends Yes, if you hold shares directly Franked and unfranked dividends from listed companies
Managed funds and trusts Yes, if you hold ETFs ETF distributions are entered here, not under dividends
Capital gains or losses Yes, if you sold shares or ETF units, or an ETF distributed a capital gain Also needed to record a carried-forward capital loss
Personal services income Yes, for skills-based contracting Asks the PSI questions and takes your ABN
Business income or loss No, unless you pass a PSI test or run a real business Contracting that is PSI goes in the PSI section
Foreign income Yes, if any ETF holds overseas shares Foreign income and foreign tax paid come from the ETF tax statement
Other income Yes, if you traded CFDs Net CFD gains on revenue account are reported as other income

Deductions

Category Tick? Why
Work-related expenses Yes Work from home, software subscriptions, equipment and depreciation
Cost of managing tax affairs Yes, if you paid an agent, tax software or ATO interest ATO interest charges are still deductible in FY2025
Gifts and donations Yes, if you gave $2 or more to a deductible gift recipient Receipt needed
Income protection insurance Only if held outside super Premiums paid through super are not deductible
Other deductions Yes, if you had net CFD losses Revenue-account losses are claimed here
Tax losses of earlier years No, unless a prior return recorded one Capital losses are not tax losses. They go in the CGT section

5. Step 2: prepare the return, section by section

Gather every document first. Then work through the return in this order.

Document myTax section What to check
Employer income statement Salary and wages It says tax ready. Gross and tax withheld match your last payslip of the year
Bank annual interest summaries, every account Interest Pre-fill often misses savings accounts and the broker’s cash account. Use the total from your own statements
Share registry dividend statements Dividends Cash amount and franking credit for each payment
ETF annual tax statements (AMMA or AMIT) Managed funds, plus capital gains and foreign income Enter each component from the statement. Do not enter the cash received
Broker buy and sell contract notes Capital gains Cost base, sale proceeds, and whether each parcel was held over 12 months
CFD provider annual statement Other income, or other deductions if a net loss Net trading result for the year, plus financing charges
Invoices and the business bank account Personal services income Fees received between 1 July 2024 and 30 June 2025
Work from home hours log Work-related other expenses Actual hours, whole year, less leave
Receipts and depreciation schedule Work-related other expenses Work-use share, first-year pro-rata by days held

Income

  • Salary. Do not lodge until the employer’s statement says tax ready. If it shows reportable fringe benefits or reportable super contributions, they count for the study loan and Medicare levy surcharge, but not for income tax.
  • Interest. Declare every cent from every account, including savings and offset-style accounts and the cash account attached to a share broker.
  • ETF distributions. One entry per ETF per year in the managed funds section. Copy the franked, unfranked, interest, foreign income and capital gain components, plus franking credits and foreign income tax offsets, from the annual tax statement. The statements arrive in July and August.
  • Personal services income. Enter the gross fees and the ABN, then answer the PSI questions. If no PSI test is passed, deductions against that income follow the employee rules.
  • CFDs. Report the net result for the year. A net gain goes in other income. A net loss is claimed as another deduction. Whatever treatment you choose, keep it the same in FY2026.

Deductions

  • Work from home: 70c per hour. Count actual hours from timesheets or a log. Subtract annual leave and public holidays. The fixed rate replaces electricity, internet and phone claims.
  • Items $300 or less: the work-use share is deducted in full this year.
  • Items over $300: depreciate. For an item bought during the year, multiply the full-year decline by days held over 365. Keep a schedule, because the same items are claimed again in FY2026.
  • Subscriptions: work-use share of each one, backed by the invoice.
  • Cost of managing tax affairs: agent fees, tax software, and any ATO general interest charge incurred in the year. This is the last year the interest charge is deductible.

Offsets, Medicare and the study loan

  • LITO, the Medicare levy and the study loan repayment are calculated automatically. There is nothing to enter.
  • Answer the private health insurance questions from the health fund’s statement. Without private hospital cover, and with income for surcharge purposes above $97,000, the surcharge applies.
  • Franking credits from dividends and ETFs come off as refundable credits.

6. Mistakes to avoid this year

These are the errors that actually happen on a return of this shape.

Mistake Effect Fix
Estimating with the 2023-24 rates (19% and 32.5%) The estimate shows a large amount owing that is not real Use the Stage 3 table in section 2
Leaving the study loan out of an estimate The estimate and the notice of assessment disagree by about the amount withheld for the loan Add the repayment to the liability, as the calculator does
Work from home hours estimated from a typical week The ATO rejects the claim. Actual hours have been required since 1 March 2023 Count from timesheets or the log, less leave
Full-year depreciation on items bought mid-year Overstates the first-year claim Pro-rate by days held
Only the pre-filled bank interest declared Interest from savings accounts goes undeclared Total every account’s annual statement
ETF distributions entered as dividends Foreign income, foreign tax offsets and capital gain components are lost or wrong Use the managed funds section and the ETF tax statement
Contracting counted by when the work was done Income lands in the wrong year Count fees when received
CFD results entered as capital gains or losses A loss is locked up as a capital loss instead of being deducted this year Revenue account under TR 2005/15. Amend if needed

7. After lodging

  • The notice of assessment is the record. It, not your spreadsheet, says what was lodged and assessed. Compare it with your estimate and explain any gap before relying on either.
  • Amend within two years if you find a mistake: myGov > ATO > Tax > Lodgments > Income tax > Amend. An amendment that increases tax attracts shortfall interest. Correcting it yourself before the ATO asks is treated far more leniently.
  • Carry forward into FY2026:
    • the depreciation schedule, because items over $300 are claimed again;
    • any net capital loss, which offsets future capital gains;
    • any contracting fees invoiced in June 2025 but received after 30 June, which belong to FY2026.

Next year’s rules are on the FY2026 page.


References

Back to top