// Adds dimensions UUID, Author and Topic into GA4
Sunday, August 23, 2026
29.3 C
Singapore

H1 2025 GLS programme to yield 8,505 private housing units, 4.5% increase from H2 2024

SINGAPORE: Singapore’s Government Land Sales (GLS) programme for the first half of 2025 (H1 2025) is set to yield 8,505 private housing units, a 4.5% increase from the 8,140 units available in the second half of 2024 (H2 2024).

The Confirmed List for the H1 2025 Government Land Sales (GLS) Programme features nine private residential sites, including 980 executive condominium (EC) units and a commercial-residential site.

These are expected to deliver approximately 5,030 private homes and 43,000 square metres (sqm) of gross floor area (GFA) for commercial use, as reported by the Singapore Business Review.

The Reserve List has four private residential sites, one commercial site, three White sites, and a hotel site. These could yield another 3,475 private homes, 199,900 sqm GFA of commercial space, and 530 hotel rooms.

On Dec 6, the Ministry of National Development said, “The supply will consist of a good spread of sites across geographical locations for the development of conventional private residential units and Long-stay Serviced Apartments to cater to owner-occupation and rental housing demand.” /TISG

Featured image by Depositphotos (for illustration purposes only)

- Advertisement -

Hot this week

‘What’s the point of maximising my salary?’ American considers US$70k pay cut to move to Singapore

The American says he misses being able to walk, use public transport and feel safe late at night when he returns to the US.

Singapore employee questions S$15 fine after SME boss penalises him for being 13 minutes late

A 13-minute delay came with a S$15 price tag. The employee is now asking whether that price is legal.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks