// Adds dimensions UUID, Author and Topic into GA4
Friday, July 3, 2026
30 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

Helper claims not only is she paid only $600 but also has to pay for 2 out of her 3 daily meals out of...

She claimed, "This arrangement is very difficult and not enough for me. Yet, since I have no other choice in this job, I have no option but to endure it and keep working."

‘No degree, no job, no partner’: Singaporean, 26, asks if he has fallen behind in life

On Reddit, a netizen shared: I am reaching 26 soon, single, never dated before, no degree and currently unemployed. What’s left for me to do now or plan for?

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