// Adds dimensions UUID, Author and Topic into GA4
Monday, August 3, 2026
31.9 C
Singapore

Less than 1 hour travel time back to Singapore from JB as Easter long weekend winds down

SINGAPORE: Following days of heavy congestion as Singaporeans flocked to the other side of the Causeway during the Good Friday-Easter long weekend, traffic has finally eased along the Woodlands and Tuas checkpoints.

Travellers could return to Singapore in less than an hour, as Easter Sunday wound down, from around 7.30 pm onwards.

According to the Checkpoint.sg mobile application, the estimated travel time from Johor Bahru to Woodlands checkpoint on Sunday (9 Mar) at 7.30 pm ranged from 110 minutes to 170 minutes. The travel time during the same period for those arriving at the Tuas second link ranged from 50 to 75 minutes.

The land border crossings were more hectic just hours before. Photos posted by netizens showed snaking queues around 5 pm, but the traffic surge was nothing compared to the congestion commuters faced on Thursday and Friday.

Heavy congestion at Tuas and Woodlands checkpoints continues with 5-hour jam on Good Friday

Massive 3.5-hour jam along Woodlands and Tuas checkpoints on Good Friday eve

- Advertisement -

Hot this week

‘Getting zero offers for 2 months was a good slap in the face’: Fresh grad reluctantly accepts job offer that pays below salary expectations

SINGAPORE: It seems the job market is forcing the hands of some fresh graduates, pushing them to accept jobs that pay below their salary expectations. Recently, an NUS graduate shared anonymously...

‘I feel lost and embarrassed’: Singaporean fresh grad opens up after failing probation

SINGAPORE: A Singaporean fresh graduate shared on Reddit that she feels “dejected” after failing her probation at her first full-time job, an outcome she never saw coming because she believed thing...

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