// Adds dimensions UUID, Author and Topic into GA4
Saturday, February 7, 2026
31.8 C
Singapore

Singapore passport-less immigration clearance starts Dec 16 at Woodlands, Tuas checkpoints and MBCCS

SINGAPORE: Starting Monday, Dec 16, Singapore’s Immigration and Checkpoints Authority (ICA) will have passport-less clearance at the Woodlands and Tuas checkpoints, as well as at the Marina Bay Cruise Centre Singapore (MBCCS), according to Malay Mail.

ICA said this will let travellers at land checkpoints use QR codes for immigration clearance, while Singapore residents at MBCCS will use facial and iris biometrics to clear immigration instead of a passport.

After successful trials, the QR code system will be gradually rolled out at all automated and special assistance lanes at Tuas and Woodlands checkpoints, starting with Tuas. ICA plans to complete the rollout by mid-January 2025.

This system will assist families, travellers with disabilities, and first-time foreign visitors. After an initial passport check, travellers can use QR codes for immigration clearance on future trips.

Starting Monday, Singapore citizens, permanent residents, and long-term pass holders at MBCCS can use biometrics for immigration clearance. Foreign travellers will also be able to use this system when leaving Singapore.

See also  ICA: Avoid peak hours if visiting Malaysia over the long weekends

While passport-less clearance will be available, travellers are still advised to carry their passports, as they may be needed for entry into other countries or ICA verification. /TISG

Read also: Travellers at Singapore’s Changi Airport can now breeze through immigration in just 10 seconds!

- Advertisement -

Hot this week

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