---
title: Public school term dates, New South Wales, 2019 to 2025
resource: https://publicdata.au/d/nsw-school-term-dates/
publisher: Transport for NSW
licence: CC BY 4.0
licence_url: https://creativecommons.org/licenses/by/4.0/
version: 2025-02-05
rows: 28
fields: 2
source: https://opendata.transport.nsw.gov.au/data/dataset/963e4946-46c0-4c9c-b4dc-5033c9e61f5c/resource/66953545-0a91-4a85-92c3-edf46b0f67e3/download/school_day-2019-2025.csv
source_sha256: dbf714874c6fb6c405374e71b33caea080f019e5f24859e5812b86b937fb7035
language: en-AU
operator: National Digital
not_endorsed: true
---

# Public school term dates, New South Wales, 2019 to 2025

The first and last day of each NSW public school term from 2019 to 2025, as Transport for NSW lists them.

Published by Transport for NSW under CC BY 4.0 and republished here in other formats, with cells typed and suppressed values made null. Transport for NSW has not endorsed this site.

Also called: NSW public school terms, NSW school holidays dates, NSW school days calendar.

## Download

Latest version, redirects to `https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/`:

- csv: https://publicdata.au/d/nsw-school-term-dates/latest/data.csv (638 B)
- xlsx: https://publicdata.au/d/nsw-school-term-dates/latest/data.xlsx (8.3 KB)
- json: https://publicdata.au/d/nsw-school-term-dates/latest/data.json (3.3 KB)
- parquet: https://publicdata.au/d/nsw-school-term-dates/latest/data.parquet (5.0 KB)
- sqlite: https://publicdata.au/d/nsw-school-term-dates/latest/data.sqlite (29 KB)
- duckdb: https://publicdata.au/d/nsw-school-term-dates/latest/data.duckdb (100 KB)
- ndjson: https://publicdata.au/d/nsw-school-term-dates/latest/data.ndjson (3.1 KB)
- arrow: https://publicdata.au/d/nsw-school-term-dates/latest/data.arrow (4.3 KB)
- csv.gz: https://publicdata.au/d/nsw-school-term-dates/latest/data.csv.gz (248 B)

Pinned version 2025-02-05: `https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/data.<format>`. Dated versions never change.

## Query

The query API returns only the rows you ask for, as JSON, NDJSON or CSV, from the same typed rows as the files. It needs no key. Rows: https://publicdata.au/api/v1/datasets/nsw-school-term-dates/rows. Counts and sums: https://publicdata.au/api/v1/datasets/nsw-school-term-dates/aggregate.

- Rows: https://publicdata.au/api/v1/datasets/nsw-school-term-dates/rows?limit=5
- Aggregate: https://publicdata.au/api/v1/datasets/nsw-school-term-dates/aggregate?group=end_day&metric=count

Each filter is `field=operator.value` in the query string, and every filter must match. A number or date field compares as a number or date, and a text field compares as text. Values are case-sensitive except with `ilike`. Prefix `not.` to negate a filter, as `not.eq.value`. Operators: `eq.value`, `neq.value`, `gt.value`, `gte.value`, `lt.value`, `lte.value`, `like.*text*`, `ilike.*text*`, `in.(a,b,c)`, `is.null`.

- `select`: Fields to return, comma-separated. Every field when absent.
- `order`: `field.asc` or `field.desc`, comma-separated. The publisher's row order when absent.
- `limit`: Rows per page, 1 to 10,000. 100 when absent.
- `offset`: Rows to skip. The `next` URL in each answer sets it for you.
- `group`: On `aggregate`, fields to group by, comma-separated.
- `metric`: On `aggregate`, `count`, `sum.field`, `avg.field`, `min.field` or `max.field`, comma-separated. `count` when absent.
- `format`: `json`, `ndjson` or `csv`. JSON carries the provenance header, and the others carry it in response headers.

Without a version the API answers from the newest loaded version, and that answer changes when the publisher releases again. Put `versions/<date>/` before `rows` or `aggregate` for an answer that never changes. `/api/v1/datasets/<slug>/versions` lists the loaded versions. The API allows 60 requests in 10 seconds from one address. Above that it answers 429 for 10 seconds with a `Retry-After` header, a `RateLimit-Policy` header and a JSON body that gives the limit. Every API answer carries the same `RateLimit-Policy`. A client should wait the `Retry-After` seconds, or read the files, which have no limit. OpenAPI for this dataset: https://publicdata.au/d/nsw-school-term-dates/openapi.json

## Explore

Charts and dashboards in the browser: https://publicdata.au/d/nsw-school-term-dates/explore/. A dashboard can be shared as a link or embedded.

## Fields

| field | type | publisher's header | note |
|---|---|---|---|
| `start_day` | date | START_DAY |  |
| `end_day` | date | END_DAY |  |

Key: `start_day`.

## Versions

- 2025-02-05: 28 rows, 2 fields, sha256 dbf714874c6f. https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/

Machine-readable: https://publicdata.au/d/nsw-school-term-dates/versions.json, https://publicdata.au/d/nsw-school-term-dates/changes.json, https://publicdata.au/d/nsw-school-term-dates/datapackage.json, https://publicdata.au/d/nsw-school-term-dates/schema.json, https://publicdata.au/d/nsw-school-term-dates/history.tar.zst

## Part of School and public holidays, New South Wales

- [Public holidays, New South Wales, 2019 to 2023](https://publicdata.au/d/nsw-public-holidays/)

## Same subject, other publishers

- [NSW government schools, locations and enrolments](https://publicdata.au/d/nsw-public-schools/) (NSW)
- [Average class sizes in government primary schools by year, New South Wales](https://publicdata.au/d/nsw-primary-class-sizes/) (NSW)
- [Child care services, children and hourly fees by area, Greater Sydney and Melbourne, 2012-13 to 2015-16](https://publicdata.au/d/au-child-care-services-by-sa3-2012-2016/) (Cth)
- [Primary school intake zones, New South Wales](https://publicdata.au/d/nsw-school-intake-zones-primary/) (NSW)
- [High school intake zones, New South Wales](https://publicdata.au/d/nsw-school-intake-zones-secondary/) (NSW)
- [Future school intake zones, New South Wales](https://publicdata.au/d/nsw-school-intake-zones-future/) (NSW)
- [Full-time equivalent enrolments in government schools by school type, South Australia](https://publicdata.au/d/sa-school-enrolments-by-type/) (SA)
- [State school enrolments by school and year level, February census, Queensland 2015 to 2019](https://publicdata.au/d/qld-state-school-enrolments-february/) (Qld)
- [State and non-state school details, Queensland](https://publicdata.au/d/qld-school-details/) (Qld)
- [State school catchment areas, primary, Queensland](https://publicdata.au/d/qld-school-catchments-primary/) (Qld)
- [State school catchment areas, junior secondary, Queensland](https://publicdata.au/d/qld-school-catchments-junior-secondary/) (Qld)
- [State school catchment areas, senior secondary, Queensland](https://publicdata.au/d/qld-school-catchments-senior-secondary/) (Qld)

## Attribution and citation

Transport for NSW, NSW Government, School and public holidays, sourced 3 October 2026, https://data.nsw.gov.au/data/dataset/2-school-and-public-holidays, licensed under CC BY 4.0.

The licence requires the publisher's attribution. We ask that you also name publicdata.au and link to the version you used.

Plain text: Transport for NSW, NSW Government, School and public holidays, sourced 3 October 2026, https://data.nsw.gov.au/data/dataset/2-school-and-public-holidays, licensed under CC BY 4.0. Serialised and versioned by National Digital at publicdata.au, https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/

Harvard: Transport for NSW (2025) Public school term dates, New South Wales, 2019 to 2025, version 2025-02-05 [data set], CC BY 4.0, sourced 3 October 2026. Serialised and versioned by National Digital at publicdata.au. Available at: https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/

Markdown: Data: [School and public holidays, New South Wales](https://data.nsw.gov.au/data/dataset/2-school-and-public-holidays), Transport for NSW, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), sourced 3 October 2026. Files: [publicdata.au](https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/) by [National Digital](https://nationaldigital.com.au/).

## Questions

### How do I download Public school term dates, New South Wales as a CSV file?

Open https://publicdata.au/d/nsw-school-term-dates/latest/data.csv. It redirects to the newest dated version, which is https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/data.csv today. The same path serves Excel, JSON, Parquet, SQLite, DuckDB, NDJSON, Arrow. A dated URL never changes, so use it when the file must stay the same.

### Can I open Public school term dates, New South Wales in Excel?

Yes. https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/data.xlsx is a workbook with the 28 rows on a records sheet, the field list on a second sheet and the provenance on a third. The CSV also opens in Excel. https://publicdata.au/d/nsw-school-term-dates/v/2025-02-05/data.csv.gz is the CSV at about a tenth of the size.

### What years does Public school term dates, New South Wales cover?

The current version covers 2019 to 2024. Each release from TfNSW becomes a new dated version here, and earlier versions stay online.

### How often is Public school term dates, New South Wales updated?

TfNSW no longer updates it. This site checks the portal every week and adds a dated version when the file changes.

### Can I use Public school term dates, New South Wales commercially?

Yes. CC BY 4.0 allows commercial use, redistribution and derived works as long as the attribution is kept. The attribution string is in this page's side column and inside every file.

### Is this the official source for Public school term dates, New South Wales?

No. The publisher is Transport for NSW, and its page is https://data.nsw.gov.au/data/dataset/2-school-and-public-holidays. This site republishes the publisher's file without changing its content. The original sits beside every version as source.csv with its SHA-256, so the two can be compared.

### What is in each row?

One NSW public school term, with the first and last day students attend. The school holidays are the gaps between one term's end and the next term's start.

### Is this table still updated?

Transport for NSW marks the file as no longer updated, and it ends with Term 4 of 2025. The Department of Education sets the term dates for NSW public schools and publishes later years on its own site.

### Do the dates include school development days?

The publisher notes that school development days fall at the start of Terms 1, 2 and 3 and on the last two days of the school year, and that schools may vary some dates.

## What this site did to the data

Cells were typed, headers were renamed to snake_case and the encoding was made UTF-8. Rows were left alone. Nothing is derived. The publisher's file is beside every version as `source.csv`.

## Improve this dataset

This page is built from [register/nsw-school-term-dates.yaml](https://github.com/National-Digital/publicdata.au/blob/main/register/nsw-school-term-dates.yaml) on GitHub, and a fix to it is welcome as a pull request. https://publicdata.au/contribute/ explains how.
