A Singapore Government Agency Website
Official website links end with .gov.sg
Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open). Trusted websites

Secure websites use HTTPS

Look for a lock () or https:// as an added precaution. Share sensitive information only on official, secure websites.

Scam alert

Government officers will never ask you to send money or share your details over the phone. When unsure, hang up and call Scamshield at 1799.

Waitlist for API key is now open. Register here for higher rate limits, priority support and maintenance notifications. Rate limits will be rolled out from 1 September 2025 onwards.

Number of Classes and Class Size by Level

Data from Jan 1982 to Jan 2024

Last updated: 19 Feb 2025, 14:10 SGT

MOE (Ministry of Education)

(1) Class size is the average number of students per class, calculated by dividing the number of students enrolled by the number of classes in that level. The classes here refer to form classes only. The actual class size can be smaller for some subjects and lessons, depending on the learning needs of the students or programme considerations. For instance, levelling up programmes such as the Learning Support Programme for lower primary students, School-based Dyslexia Remediation programme and coursework subjects like Design and Technology at secondary level are conducted in smaller classes.

(2) Students in Mixed Level schools are classified according to the level they are in.

Avg. Class Size

Data explorer

NumberofClassesandClassSizebyLevel.csv (803 rows, 27 KB)

Year
Year (YYYY)
Level Of Education
Text
Level
Text
No Of Classes
Text
Ave Class Size
Text
(Null)0.0%
19822.4%
19832.4%
19842.4%
19852.4%
(Null)0.0%
Primary46.5%
Secondary32.1%
Pre-University21.4%
(Null)0.0%
All16.1%
PreU 35.4%
Primary 15.4%
Primary 25.4%
(Null)0.0%
(Null)0.0%
1982PrimaryAll820035
1982PrimaryPrimary 1107236.9
1982PrimaryPrimary 2113737.5
1982PrimaryPrimary 3125137.3
1982PrimaryPrimary 4145733.8
1982PrimaryPrimary 5144233
1982PrimaryPrimary 6164833.8
1982PrimaryPrimary 719327.5
1982PrimaryPrimary 800
1982SecondaryAll485132.2

Column legend

Title
Column name
Data type
Unit of measure
Description
YearyearYear (YYYY)--
Level Of Educationlevel_of_educationText--
LevellevelText--
No Of Classesno_of_classesText--
Ave Class Sizeave_class_sizeText--
Google colab link
Analyse this dataset with Colab Notebook
  1. 1. Copy this dataset ID: d_bb5f828263a942a9af869eccf9b0068d
  2. 2. Click on the button below

Sample OpenAPI query

This code can be used to test a sample API query. It retrieves the data catalogue of this dataset. For a complete guide on query parameters and syntax, please refer to the API documentation. Try it out on your browser to see the response schema.

import requests
          
dataset_id = "d_bb5f828263a942a9af869eccf9b0068d"
url = "https://data.gov.sg/api/action/datastore_search?resource_id="  + dataset_id 
        
response = requests.get(url)
print(response.json())

Citation

This dataset can be reused and cited in research publications.

Ministry of Education. (2016). Number of Classes and Class Size by Level (2025) [Dataset]. data.gov.sg. Retrieved August 14, 2025 from https://data.gov.sg/datasets/d_bb5f828263a942a9af869eccf9b0068d/view

About this dataset

Licence

Free forever for personal or commercial use, under the Open Data Licence.

Agency

MOE (Ministry of Education)