OverlandSEA

Rail-first journey planning across Southeast Asia

Singapore ↔ Batam: the Singapore to Indonesia border crossing

About 60 minutes of formalities between Singapore and Indonesia, and this is one of the frontiers you can cross without abandoning your seat.

Singapore ↔ Indonesia · about 60 minutes · 1 service · 2 written-up journeys

How the crossing works

Singapore ↔ Batam

Singapore ↔ Indonesia
Where
Ferry terminal — immigration at the terminal, not on the boat
On the train?
n/a
Luggage
Yes
Visa
Indonesian visa-on-arrival or e-VOA is available to many nationalities at the main Batam terminals. Confirm the specific terminal is an international checkpoint.
Cash on the far side
Indonesian rupiah.
Time cost
About 60 minutes of formalities

The trap. Some Riau ferry terminals are domestic-only. Arriving at the wrong one wastes a day.

What crosses here

ServiceOperator TimeFare
Singapore (HarbourFront)Batam Centre HarbourFront or Tanah Merah fast ferry Riau / Straits ferries 1h $18

Typical scheduled running time for the crossing leg itself, which does not include the 60 minutes of formalities above. Allow for both when you are working out whether a connection holds. Fares are indicative.

Riau / Straits ferries. Operators on the Straits routes change often. Check what is currently sailing before you commit to a date. Punctuality: weather.

Getting to each side

The frontier is rarely the problem. Reaching it on a day when something onward is still running usually is.

Singapore (HarbourFront)

Singapore

Worth knowing. Rail dead end. Everything onward from here is a boat.

Reached byOperator TimeFare
Woodlands CIQSingapore (HarbourFront) MRT Thomson–East Coast Line Urban metro 30m $1.5

Batam Centre

Indonesia
Reached byOperator TimeFare
Batam CentreDumai Riau inter-island ferry Riau / Straits ferries 6h $30

Journeys through Singapore ↔ Batam

Written up in full, each with this crossing in its proper place in the itinerary rather than as a footnote.

Plan a journey through it Pick two places and the crossing appears in the itinerary, with the buffer it needs.