Taking a taxi or ride-hailing vehicle from Singapore into Malaysia incurs a set of surcharges and fees that many passengers do not expect. The Land Transport Authority (LTA) and the respective ride-hailing apps impose specific cross-border charges, tolls, and administrative fees. These apply whether you are heading to Johor Bahru, Senai Airport, or further north to Kuala Lumpur International Airport (KLIA). This article breaks down every surcharge, explains the rules for street-hail taxis versus app bookings, and provides concrete numbers for budgeting your trip.
LTA Cross-Border Surcharge for Street-Hail Taxis
For street-hail taxis (ComfortDelGro, SMRT, Premier, Prime, Trans-Cab, HDT, and others) the LTA mandates a flat cross-border surcharge of SGD 45.00 for trips from Singapore to Malaysia. This surcharge is added on top of the regular metered fare. It applies regardless of the destination in Malaysia: Johor Bahru, Senai, Melaka, or Kuala Lumpur. The surcharge is per trip, not per passenger. If you take a taxi from Singapore to Johor Bahru, the meter may show SGD 25.00, but the total payable is SGD 25.00 plus SGD 45.00 equals SGD 70.00. This surcharge does not apply for trips from Malaysia into Singapore. For return trips, the Malaysian taxi or ride-hailing app will have its own pricing structure.
The SGD 45.00 surcharge is set by the LTA and is uniform across all street-hail taxi companies. It was introduced to compensate drivers for the time spent clearing immigration and the empty return leg if they cannot find a passenger back to Singapore. The surcharge is clearly displayed on the taxi's fare table, usually on the back of the front seat or on the door panel.
Cross-Border Surcharges on Ride-Hailing Apps (Grab, Gojek, Tada, Zig)
Ride-hailing apps do not use the LTA's SGD 45.00 surcharge. Instead, each app has its own cross-border fee structure. The app calculates the fare based on estimated distance and time, then adds a cross-border fee. These fees vary by app and by destination. Below is a breakdown for the major apps operating in Singapore.
Grab Cross-Border Fees
Grab applies a flat cross-border fee of SGD 6.00 for trips from Singapore to Johor Bahru. This is in addition to the base fare, distance charge, and time charge. For trips to Senai Airport, the cross-border fee is SGD 10.00. For trips to KLIA or Kuala Lumpur city, the fee is SGD 20.00. These fees are non-negotiable and are displayed in the fare breakdown before you confirm the booking. Grab also adds the Malaysia toll charges (see toll section below) and the Singapore ERP charges if applicable. The total fare for a Grab from Singapore to Johor Bahru typically ranges from SGD 45.00 to SGD 70.00 depending on the time of day and demand.
Gojek Cross-Border Fees
Gojek charges a flat cross-border fee of SGD 8.00 for trips to Johor Bahru. For Senai Airport, the fee is SGD 12.00. For KLIA or Kuala Lumpur, the fee is SGD 25.00. Gojek also includes tolls and ERP in the final fare. Gojek's base fare is often slightly lower than Grab's, but the cross-border fee is higher. A typical Gojek trip from Singapore to Johor Bahru costs between SGD 42.00 and SGD 65.00.
Tada Cross-Border Fees
Tada, a newer entrant, charges a cross-border fee of SGD 5.00 for Johor Bahru. For Senai Airport, the fee is SGD 8.00. For KLIA or Kuala Lumpur, the fee is SGD 15.00. Tada does not charge a booking fee, so the total fare can be lower. A Tada trip from Singapore to Johor Bahru usually falls between SGD 38.00 and SGD 55.00. However, Tada's driver availability for cross-border trips is lower than Grab and Gojek. You may face longer wait times or no available driver.
Zig Cross-Border Fees
Zig (formerly Ryde) charges a flat cross-border fee of SGD 7.00 for Johor Bahru. For Senai Airport, the fee is SGD 10.00. For KLIA or Kuala Lumpur, the fee is SGD 18.00. Zig also applies a booking fee of SGD 0.50 per trip. Total cost for a Zig trip to Johor Bahru is typically SGD 40.00 to SGD 60.00.
For a full comparison of ride-hailing app surcharges, see Surcharge Comparison All Apps.
Toll Charges for Cross-Border Trips
Both street-hail taxis and ride-hailing vehicles must pay tolls when crossing the Causeway or Second Link. These tolls are passed on to the passenger. There are two border crossings between Singapore and Malaysia: the Woodlands Causeway and the Tuas Second Link.
Woodlands Causeway Tolls
For the Woodlands Causeway, the Singapore-side toll is SGD 1.20 for passenger cars (including taxis and ride-hailing vehicles). The Malaysia-side toll is RM 2.90 (approximately SGD 0.90 as of 2025 exchange rates). Total toll for one-way crossing: about SGD 2.10. Most street-hail taxis and ride-hailing apps include these tolls in the final fare. Some taxis may ask for cash for the Malaysia toll if the meter does not calculate it automatically. Always confirm with the driver.
Tuas Second Link Tolls
The Tuas Second Link is more expensive. The Singapore-side toll is SGD 4.00 for passenger cars. The Malaysia-side toll is RM 7.50 (approximately SGD 2.30). Total toll for one-way crossing: about SGD 6.30. Many drivers prefer the Tuas Second Link for trips to Senai Airport or further north because it is less congested. However, the higher toll is passed to the passenger.
For trips to KLIA or Kuala Lumpur, drivers will almost always use the Tuas Second Link, and you will pay the SGD 6.30 toll. Some ride-hailing apps show tolls as a separate line item. Others include them in the total fare. Always check the fare breakdown in the app.
ERP Surcharges and Their Impact on Cross-Border Trips
Electronic Road Pricing (ERP) gantries operate on certain roads in Singapore. If your cross-border trip passes through an ERP gantry during operating hours, the ERP charge is added to the fare. For street-hail taxis, the ERP charge is added to the meter. For ride-hailing apps, the ERP charge is included in the fare estimate. Common ERP gantries on routes to the Causeway or Tuas include the Ayer Rajah Expressway (AYE), Pan Island Expressway (PIE), and Bukit Timah Expressway (BKE). ERP rates vary from SGD 0.50 to SGD 6.00 depending on the time and location. For a detailed explanation of ERP charges on taxis, see ERP Surcharges Taxis.
Peak Period and Airport Surcharges for Cross-Border Trips
If your cross-border trip starts from a location in Singapore that triggers a peak period surcharge or an airport surcharge, those charges apply in addition to the cross-border fee. For example, if you book a taxi from Changi Airport to Johor Bahru, you will pay the airport surcharge (SGD 3.00 for street-hail taxis from Changi, SGD 5.00 for ride-hailing apps) plus the cross-border surcharge. Similarly, if you start your trip during peak hours (6:00 AM to 9:29 AM Monday to Friday, or 6:00 PM to 11:59 PM daily for street-hail taxis), the peak period surcharge of 25% of the metered fare applies. For ride-hailing apps, dynamic pricing may increase the fare during peak hours. For more on peak period surcharges, see Peak Period Surcharges.
If your trip ends at Senai Airport or KLIA, the Malaysia-side airport surcharge is not applied by Singapore taxis or ride-hailing apps. However, if you take a Malaysia-registered taxi from Senai Airport to Singapore, there is a Malaysia airport surcharge of RM 5.00 to RM 10.00.
Additional Fees: Booking Fees, Administrative Fees, and Waiting Time
Street-hail taxis do not charge a booking fee if you hail the taxi on the street. If you book a street-hail taxi via phone or app (e.g., ComfortDelGro's app), there is a booking fee of SGD 2.30 to SGD 3.50 depending on the time and method. Ride-hailing apps charge a booking fee or platform fee. Grab charges a booking fee of SGD 0.70 to SGD 1.50 per trip. Gojek charges SGD 0.50 to SGD 1.00. Tada charges no booking fee. Zig charges SGD 0.50. These fees are added to the total fare.
Waiting time charges may also apply. For street-hail taxis, if the driver waits for you at the pickup point for more than 2 minutes, a waiting time charge of SGD 0.15 per 30 seconds applies. For ride-hailing apps, waiting time charges start after 3 to 5 minutes and vary by app. Grab charges SGD 0.10 per minute after 3 minutes. Gojek charges SGD 0.12 per minute after 5 minutes.
For cross-border trips, waiting time at immigration checkpoints is a major factor. If you are stuck in a jam at the Causeway for 30 minutes, the meter will keep running for street-hail taxis. For ride-hailing apps, the fare is usually fixed at the time of booking, so waiting time at immigration does not increase the fare. However, some apps have a clause that if the trip takes significantly longer than estimated, the driver may request a fare adjustment. This is rare but possible.
Money-Saving Tips for Cross-Border Trips
Cross-border trips are expensive, but there are ways to reduce costs. Consider these strategies:
- Use a ride-hailing app instead of a street-hail taxi. The LTA surcharge of SGD 45.00 for street-hail taxis is much higher than the app cross-border fees of SGD 5.00 to SGD 8.00. Even with app booking fees and dynamic pricing, the total fare is usually lower.
- Compare prices across apps before booking. Open Grab, Gojek, Tada, and Zig and compare the fare estimates. Tada often has the lowest cross-border fee, but availability may be limited. For a detailed comparison of app pricing, see Grab vs Gojek Pricing and Tada vs Zig Review.
- Travel during off-peak hours. Avoid Friday evenings, Sunday afternoons, and public holidays. The Causeway and Second Link can have multi-hour jams. For street-hail taxis, the meter runs during the jam. For ride-hailing apps, the fare is fixed, but drivers may cancel if the jam is too long. Off-peak travel also means lower ERP charges and no peak period surcharge. See Off-Peak Ride Hacks for more tips.
- Consider taking a bus to the border and then a taxi on the Malaysia side. Take Causeway Link bus CW1 or CW2 from Kranji MRT to Johor Bahru for SGD 2.60. Then take a Malaysia-registered taxi or ride-hailing app from Johor Bahru to your final destination. This can save SGD 30.00 to SGD 50.00 compared to a direct taxi from Singapore.
- Use promo codes and referral credits. Ride-hailing apps often offer discounts for first-time users or referral programs. Stack these with existing credits. See Promo Codes and Referrals for current offers.
- Book a shared ride if available. GrabShare and Gojek's GoCar Share allow you to split the fare with other passengers going in the same direction. However, shared rides are rare for cross-border trips because few people book the same route at the same time. Check the app for availability. For more on shared rides, see Shared Ride Options.
Real Examples: Total Cost for Common Cross-Border Routes
Below are estimated total costs for a one-way trip from City Hall (Singapore) to various destinations in Malaysia. These estimates are based on typical fares in 2025 and include all surcharges, tolls, and booking fees. Actual fares may vary due to demand, time of day, and traffic.
- City Hall to Johor Bahru City Square (via Woodlands Causeway): Street-hail taxi: SGD 70.00 to SGD 85.00 (meter fare SGD 25.00 to SGD 40.00 plus SGD 45.00 surcharge plus tolls). Grab: SGD 48.00 to SGD 65.00. Gojek: SGD 45.00 to SGD 60.00. Tada: SGD 40.00 to SGD 55.00. Zig: SGD 43.00 to SGD 58.00.
- City Hall to Senai Airport (via Tuas Second Link): Street-hail taxi: SGD 90.00 to SGD 120.00 (meter fare SGD 45.00 to SGD 75.00 plus SGD 45.00 surcharge plus tolls). Grab: SGD 70.00 to SGD 95.00. Gojek: SGD 68.00 to SGD 90.00. Tada: SGD 60.00 to SGD 80.00. Zig: SGD 65.00 to SGD 85.00.
- City Hall to KLIA (via Tuas Second Link): Street-hail taxi: SGD 250.00 to SGD 350.00 (meter fare SGD 200.00 to SGD 300.00 plus SGD 45.00 surcharge plus tolls). Grab: SGD 180.00 to SGD 250.00. Gojek: SGD 175.00 to SGD 240.00. Tada: SGD 160.00 to SGD 220.00. Zig: SGD 170.00 to SGD 230.00.
These estimates show that ride-hailing apps are significantly cheaper than street-hail taxis for cross-border trips, especially to Johor Bahru. For longer trips to KLIA, the difference narrows because the distance charge dominates the fare.
Rules for Street-Hail Taxis Crossing the Border
Street-hail taxis are allowed to cross the border, but there are specific rules. The taxi must have a valid road tax and insurance that covers Malaysia. All Singapore taxis are required to have third-party insurance coverage for Malaysia. The driver must possess a valid passport and ensure the passenger has valid travel documents. The taxi driver is not allowed to pick up passengers in Malaysia for a return trip to Singapore unless they have a special permit. Most taxi drivers will return empty or use a ride-hailing app to find a passenger back. This is why the LTA surcharge is high: it compensates for the empty return leg.
If you take a street-hail taxi from Singapore to Malaysia, the driver will drop you off at your destination and then likely drive back empty. Some drivers may negotiate a lower fare if you agree to a round trip. For example, if you need to go to Johor Bahru and return to Singapore within a few hours, you can negotiate a flat fee of SGD 100.00 to SGD 120.00 for the round trip. This is cheaper than two one-way trips because the driver avoids the empty return. Always negotiate before the trip starts.
Rules for Ride-Hailing App Vehicles Crossing the Border
Ride-hailing app vehicles (private cars registered with Grab, Gojek, Tada, Zig) are allowed to cross the border as long as the driver has the necessary insurance and permits. The driver must inform the app that they are crossing the border. The app will then apply the cross-border fee. The driver is not allowed to pick up passengers in Malaysia for a return trip to Singapore unless they have a commercial vehicle license in Malaysia. Most drivers will return empty or use the app in Malaysia if they have a Malaysian license. This is less common.
For ride-hailing apps, the fare is fixed at the time of booking. If there is a traffic jam at the Causeway, the driver still gets the same fare. This can lead to drivers cancelling trips if they expect a long jam. To avoid cancellations, consider booking a ride-hailing app during off-peak hours. See Street Hail Taxi vs App for more on the trade-offs.
What to Do If You Are Charged Incorrectly
If you believe you have been overcharged for a cross-border trip, you can take the following steps:
- For street-hail taxis: Ask the driver for a receipt. The receipt must show the meter fare, surcharges, and total. If the surcharge is more than SGD 45.00, you can dispute it with the LTA via their hotline 1800-2255-663 or online feedback form. If the driver refuses to give a receipt, note the taxi license plate number and report it.
- For ride-hailing apps: Use the app's help feature to report a fare discrepancy. Grab, Gojek, Tada, and Zig all have a fare review process. If the app charged a cross-border fee that is higher than the published rate, you can request a refund. Keep screenshots of the fare breakdown.