// Adds dimensions UUID, Author and Topic into GA4
Friday, July 10, 2026
29.4 C
Singapore

SG to JB cross-border bus service booked via Grab has travellers with standing room only; passenger says ‘have to squeeze like public bus’

SINGAPORE: If you thought of trying out the cross-border bus services booked via Grab to Johor Bahru from Singapore, as it turns out, you might not be the only one. The rides, however, are apparently so jam-packed that there are standing-room only, as a couple of TikTok videos are now showing.

Grab introduced the option of booking a bus, or a ferry, to JB customs last month at a starting price of $3. And while the savings are great, the actual travel may be standing room only, as some TikTok users have found out.

On Jul 14, TikTok user @candaries posted a video of her bus ride booked via Grab’s cross-border service, captioning it “Tried Grab Bus to JB because we read everywhere. Didnt know we have to squeeze like public bus 🤣#jbtrip #grabbus #johorbahru.”

@candaries

Tried Grab Bus to JB because we read everywhere. Didnt know we have to squeeze like public bus 🤣#jbtrip #grabbus #johorbahru

♬ OMG – White Gangster

The seven-second video has since gotten over 217,000 views.

“Booked Grab bus to JB and thought we will be guaranteed a seat. But NO! We had to stand,” she wrote in the video.

One day later, another TikTok user, @quowookka, also posted a video of her ride to JB customs, writing, “Grab Bus no difference to taking SBS bus, see how squeezy #grabbus #transtar #jb #johor #johorbahru.”

It also showed every seat on the bus occupied by a traveller, plus the middle aisle full of people standing and holding on to the safety bars, with hardly any room to move.

@quowookka

Grab Bus no difference to taking SBS bus, see how squeezy #grabbus #transtar #jb #johor #johorbahru

♬ Now Look at This – Dramatello

Based on comments that other netizens left, it appears that there are still glitches that Grab and its partners may need to work on for the service to work smoothly to travellers’ satisfaction.

Screenshot 2023 08 03 at 10.48.48 AM

Screenshot 2023 08 03 at 10.48.59 AM

Screenshot 2023 08 03 at 10.49.07 AM

Screenshot 2023 08 03 at 10.49.15 AMWhen The Independent Singapore reached out to Grab for further comment, a spokesman told us via email: “We launched our bus and ferry ticketing service in July 2022, in partnership with EasyBook. The partnership lets consumers easily purchase bus and ferry tickets offered via EasyBook’s ticketing platform through the Grab app for routes between Singapore and Malaysia. All buses and ferries offered under this partnership are fully operated and managed by respective transport operators.”

The spokesman also added the following points for further clarification:

  • Grab is not the cross-border travel service provider and does not operate the buses and ferries. We offer a convenient and affordable way for consumers to buy tickets on our app through the integration of Easybook’s services on our platform.
  • Therefore, we kindly request the team not to refer to the service as “Grab bus” but rather as “cross-border bus services booked via Grab” to accurately reflect the nature of the service provided.

/TISG

How to go JB without long queues & traffic jam? Take the ferry!

- Advertisement -

Hot this week

‘Inconsiderate driver’: Vehicle blocks sheltered pick-up point during heavy rain that caused congestion and stranded passengers

On Facebook, a netizen claimed: "Inconsiderate driver. During the heavy rain, many vehicles and passengers were waiting to use the sheltered pick-up point. However, the driver occupied the designat...

Bride-to-be torn over inviting estranged mum who kicked her out, asks Singaporeans: ‘Part of me is longing for the motherly love I’ve never had’

SINGAPORE: A Singaporean bride-to-be is facing a heartbreaking dilemma years before she even walks down the aisle: Should she invite the mother who kicked her out and hasn't spoken to her in years....

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