// Adds dimensions UUID, Author and Topic into GA4
Thursday, June 11, 2026
28.3 C
Singapore

Singapore imposes the highest stamp duty on foreign home buyers among 30 cities in the world: Study

SINGAPORE: Singapore imposes the highest stamp duty on foreign property buyers, according to a study of 30 cities worldwide by real estate consultancy Savills, after the Government, last month, doubled the additional buyer’s stamp duty (ABSD) that foreigners must pay.

The study found the stamp duty for foreign buyers in Singapore is more than double that of Hong Kong, which ranked second. The stamp duty payable by foreigners buying property in Hong Kong is 31.3% of the house price.

Cape Town, in South Africa, ranked third, with stamp duty accounting for 13.5%.

Despite the high stamp duties, a Savills representative stated that Singapore remains attractive to ultra-high-net-worth individuals as foreigners accounted for 5% to 7% of total property sales in the first quarter of this year alone.

Savills previously said that while Singapore’s doubling of Foreigner Stamp Duty will benefit other property markets, the regional hubs of Dubai and Singapore are still forecast to lead global prime residential price growth in 2023 as both cities will continue to benefit from sustained inflows of high-net-worth individuals.

 

- Advertisement -

Hot this week

New way to scare away wild birds: Food vendors now use laser pointers for birds who openly steal food from diners

The bird problem at the market and food center on Ang Mo Kio Avenue 10 is a nuisance, with wild birds openly stealing food. The vendors and cleaners interviewed had to use laser pointers to scare a...

BTS ticket scams leave victims out of pocket by more than S$68,000

Police have received at least 62 reports of scams involving tickets to the popular South Korean boy band BTS's "ARIRANG" world tour.

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