Which Primary Schools added and cut P1 places in 2026
Total P1 vacancies dropped from 40,008 in 2025 to 38,548 in 2026. That is 1,460 fewer places across the same 179 schools, a −3.6% cut.
Reason for the cut? MOE has essentially scaled vacancies to match the demographics. Yup, low TFR, lower birth rate, fewer children registering this year. There is a −3.1% drop in the underlying birth cohort.
The cut isn’t spread evenly, though: 61 schools reduced vacancies, only 12 added.
Biggest gain: Maris Stella High (+60), which is also going co-ed from 2027. The extra class likely positions the school for the bigger mixed intake to come.
We also analyzed by area, in which Punggol & Sengkang have the biggest cuts. That tracks with where the BTO build-out wave has aged out of primary-school age. For the full planning-area picture of where 5-9-year-olds are growing and shrinking across Singapore, see this demographic breakdown on PropertyNoob.
For a deeper look at whether each change actually matters (using last year’s Phase 2C demand as the signal), see the per-school analysis.
Schools that added places (12)
| School | Area | 2025 | 2026 | Change |
|---|---|---|---|---|
| Maris Stella High | Toa Payoh | 270 | 330 | +60 |
| Bukit View | Bukit Batok | 280 | 320 | +40 |
| Chongzheng | Tampines | 240 | 280 | +40 |
| Gongshang | Tampines | 240 | 280 | +40 |
| Tampines | Tampines | 280 | 320 | +40 |
| Jiemin | Yishun | 190 | 220 | +30 |
| Pioneer | Jurong West | 350 | 380 | +30 |
| Ahmad Ibrahim | Yishun | 220 | 240 | +20 |
| Peiying | Yishun | 200 | 220 | +20 |
| Bendemeer | Kallang | 180 | 190 | +10 |
| Farrer Park | Kallang | 180 | 190 | +10 |
| Kong Hwa | Geylang | 270 | 280 | +10 |
Schools that cut places (61)
| School | Area | 2025 | 2026 | Change |
|---|---|---|---|---|
| Clementi | Clementi | 320 | 240 | -80 |
| Fernvale | Sengkang | 280 | 240 | -40 |
| Jurong | Jurong East | 220 | 180 | -40 |
| Lianhua | Bukit Batok | 320 | 280 | -40 |
| Pei Tong | Clementi | 320 | 280 | -40 |
| Tampines North | Tampines | 320 | 280 | -40 |
| Yumin | Tampines | 280 | 240 | -40 |
| Anchor Green | Sengkang | 240 | 210 | -30 |
| Bedok Green | Bedok | 240 | 210 | -30 |
| Boon Lay Garden | Jurong West | 180 | 150 | -30 |
| Bukit Panjang | Bukit Panjang | 240 | 210 | -30 |
| CHIJ (Kellock) | Bukit Merah | 180 | 150 | -30 |
| Cantonment | Bukit Merah | 150 | 120 | -30 |
| Compassvale | Sengkang | 240 | 210 | -30 |
| Corporation | Jurong West | 180 | 150 | -30 |
| De La Salle | Choa Chu Kang | 240 | 210 | -30 |
| Edgefield | Punggol | 240 | 210 | -30 |
| Endeavour | Sembawang | 240 | 210 | -30 |
| First Toa Payoh | Toa Payoh | 180 | 150 | -30 |
| Frontier | Jurong West | 210 | 180 | -30 |
| Gan Eng Seng | Bukit Merah | 150 | 120 | -30 |
| Greendale | Punggol | 210 | 180 | -30 |
| Horizon | Punggol | 240 | 210 | -30 |
| Jurong West | Jurong West | 180 | 150 | -30 |
| Maha Bodhi | Geylang | 330 | 300 | -30 |
| Nanyang | Bukit Timah | 390 | 360 | -30 |
| New Town | Queenstown | 210 | 180 | -30 |
| North Spring | Sengkang | 180 | 150 | -30 |
| North Vista | Sengkang | 240 | 210 | -30 |
| Northoaks | Sembawang | 240 | 210 | -30 |
| Oasis | Punggol | 240 | 210 | -30 |
| Palm View | Sengkang | 240 | 210 | -30 |
| Pasir Ris | Pasir Ris | 180 | 150 | -30 |
| Paya Lebar Methodist Girls’ | Hougang | 270 | 240 | -30 |
| Punggol Green | Punggol | 240 | 210 | -30 |
| Punggol View | Punggol | 240 | 210 | -30 |
| Red Swastika | Bedok | 240 | 210 | -30 |
| Rulang | Jurong West | 270 | 240 | -30 |
| Seng Kang | Sengkang | 180 | 150 | -30 |
| Si Ling | Woodlands | 150 | 120 | -30 |
| Springdale | Sengkang | 240 | 210 | -30 |
| St. Anthony’s Canossian | Bedok | 210 | 180 | -30 |
| St. Stephen’s | Bedok | 240 | 210 | -30 |
| Tao Nan | Marine Parade | 360 | 330 | -30 |
| Teck Whye | Choa Chu Kang | 210 | 180 | -30 |
| Unity | Choa Chu Kang | 210 | 180 | -30 |
| Valour | Punggol | 240 | 210 | -30 |
| West Grove | Jurong West | 210 | 180 | -30 |
| Westwood | Jurong West | 240 | 210 | -30 |
| White Sands | Pasir Ris | 180 | 150 | -30 |
| Yew Tee | Choa Chu Kang | 210 | 180 | -30 |
| Yishun | Yishun | 220 | 190 | -30 |
| Yuhua | Jurong East | 240 | 210 | -30 |
| Rivervale | Sengkang | 200 | 180 | -20 |
| Shuqun | Jurong West | 200 | 180 | -20 |
| Xishan | Yishun | 240 | 220 | -20 |
| Casuarina | Pasir Ris | 160 | 150 | -10 |
| Fuhua | Jurong East | 220 | 210 | -10 |
| Hougang | Hougang | 190 | 180 | -10 |
| Park View | Pasir Ris | 190 | 180 | -10 |
| Punggol | Hougang | 190 | 180 | -10 |
By area
Aggregated across all schools in each area. Sorted by net change (most cuts first). They are in-line with the demographic change of young children population.
| Area | Added | Cut | Net |
|---|---|---|---|
| Sengkang | 0 | -270 | -270 |
| Punggol | 0 | -210 | -210 |
| Jurong West | +30 | -230 | -200 |
| Bedok | 0 | -120 | -120 |
| Choa Chu Kang | 0 | -120 | -120 |
| Clementi | 0 | -120 | -120 |
| Bukit Merah | 0 | -90 | -90 |
| Jurong East | 0 | -80 | -80 |
| Pasir Ris | 0 | -80 | -80 |
| Sembawang | 0 | -60 | -60 |
| Hougang | 0 | -50 | -50 |
| Bukit Panjang | 0 | -30 | -30 |
| Bukit Timah | 0 | -30 | -30 |
| Marine Parade | 0 | -30 | -30 |
| Queenstown | 0 | -30 | -30 |
| Woodlands | 0 | -30 | -30 |
| Geylang | +10 | -30 | -20 |
| Ang Mo Kio | 0 | 0 | 0 |
| Bishan | 0 | 0 | 0 |
| Bukit Batok | +40 | -40 | 0 |
| Central | 0 | 0 | 0 |
| Novena | 0 | 0 | 0 |
| Serangoon | 0 | 0 | 0 |
| Kallang | +20 | 0 | +20 |
| Yishun | +70 | -50 | +20 |
| Toa Payoh | +60 | -30 | +30 |
| Tampines | +120 | -80 | +40 |
| Total | +350 | -1,810 | -1,460 |
Sengkang and Punggol take the biggest hits. Together they account for almost a third of all places cut. Reason being the population of young children is dropping.
On the other hand, Tampines is the only area with a meaningfully positive net, on the back of three schools adding a class each.
For the full vacancy list by school, see P1 Registration 2026.