// Adds dimensions UUID, Author and Topic into GA4
Tuesday, February 10, 2026
30.7 C
Singapore

Small rental car owner says he’s ‘making bank’ as high COE prices push Singaporeans to rent

SINGAPORE: A small car rental business owner is “making bank” renting out his four cars daily. He said all his vehicles are fully paid in cash, so there are no loans to pay for either.

“My cars are fully booked every time. Covers the cost and makes me a profit,” he said.

When asked how he handles damages and insurance, he said it’s inevitable that cars get banged up. “I don’t really mind. If I spot any damage, I’ll get it assessed and then discuss compensation openly with the culprit. Once they pay, I will go to JB and get it repaired at a reasonable price.”

He added that the only real pain is when a renter hits another vehicle and is clearly at fault.

I have had one incident like that, and the end result was I lost my no claim bonus. Painful but whatever, I’m still making profit, so it’s okay.”

Rental cars in Singapore surged to a record 95,857 vehicles in 2025, making up nearly 15% of the city-state’s total car population, a 41 per cent jump from 67,990 rental cars in 2021.

See also  Jamus Lim: COE system is broken; time to implement changes

Rental car owners can rent out their vehicles for private use or to drivers providing ride-hailing services.

The surge in the city-state’s rental car population came after car prices climbed amid higher certificate of entitlement (COE) premiums, The Straits Times reports.

Last year, the Category A COE for smaller, less powerful cars more than doubled its 2021 peak, reaching an all-time high of S$128,105. /TISG

Read also: Private-hire drivers hesitant on EV switch amid ‘wasted’ time on charging cars

Featured image by Freepik (for illustration purposes only)

- Advertisement -

Hot this week

Causeway vs Second Link: What first-time travellers need to know

JOHOR/SINGAPORE: Crossing the Johor–Singapore border is almost a rite...

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); } });
// //