Ferry routes across Asia
Find your ferry, and the right port to catch it.
Sanur or Padang Bai? Nathon or Maenam? Most ferry sites stop at the city and tell you Bali to the Gilis. The port you leave from is what decides your morning, and it can double the crossing. We map every route down to the port, and say plainly when a pair is not covered yet.
Indonesia, Singapore and Thailand so far. Malaysia and Vietnam next. We publish the gaps because a coverage claim you cannot check is worth nothing.
Popular searches
Which port should you leave from?
These pages compare every port serving a crossing, because the port is usually the decision. Bali to the Gilis takes 1h 30m from Padang Bai and 3 to 4 hours from Serangan.
Coverage
Every port pair we know about
Ports are grouped into the sea networks they actually belong to. Rows are where you leave from, columns where you land. A filled dot is a crossing with a page behind it. A dash is a pair we have not covered yet. A blank cell means the two ports sit on the same landmass, so no ferry runs between them and it is not a gap we are counting.
See the same crossings on a map →
Bali and the Nusa Islands
13 of 25 port pairs in this network have a crossing on the site.
| Departure port | Bangsal | Gili Air | Gili T | Lembongan | Penida | Padang Bai | Sanur | Serangan |
|---|---|---|---|---|---|---|---|---|
| Bangsal | · | Bangsal to Gili Air | Bangsal to Gili Trawangan | Bangsal to Nusa Lembongan: not covered yet | Bangsal to Nusa Penida: not covered yet | Bangsal to Padang Bai | Bangsal to Sanur: not covered yet | Bangsal to Serangan |
| Gili Air | Gili Air to Bangsal | · | Gili Air to Gili Trawangan: not covered yet | Gili Air to Nusa Lembongan: not covered yet | Gili Air to Nusa Penida: not covered yet | Gili Air to Padang Bai | Gili Air to Sanur: not covered yet | Gili Air to Serangan |
| Gili T | Gili Trawangan to Bangsal | Gili Trawangan to Gili Air: not covered yet | · | Gili Trawangan to Nusa Lembongan: not covered yet | Gili Trawangan to Nusa Penida: not covered yet | Gili Trawangan to Padang Bai | Gili Trawangan to Sanur: not covered yet | Gili Trawangan to Serangan |
| Lembongan | Nusa Lembongan to Bangsal: not covered yet | Nusa Lembongan to Gili Air: not covered yet | Nusa Lembongan to Gili Trawangan: not covered yet | · | Nusa Lembongan to Nusa Penida | Nusa Lembongan to Padang Bai: not covered yet | Nusa Lembongan to Sanur | Nusa Lembongan to Serangan |
| Penida | Nusa Penida to Bangsal: not covered yet | Nusa Penida to Gili Air: not covered yet | Nusa Penida to Gili Trawangan: not covered yet | Nusa Penida to Nusa Lembongan | · | Nusa Penida to Padang Bai: not covered yet | Nusa Penida to Sanur | Nusa Penida to Serangan |
| Padang Bai | Padang Bai to Bangsal | Padang Bai to Gili Air | Padang Bai to Gili Trawangan | Padang Bai to Nusa Lembongan: not covered yet | Padang Bai to Nusa Penida: not covered yet | · | Padang Bai to Sanur: no ferry, same landmass | Padang Bai to Serangan: no ferry, same landmass |
| Sanur | Sanur to Bangsal: not covered yet | Sanur to Gili Air: not covered yet | Sanur to Gili Trawangan: not covered yet | Sanur to Nusa Lembongan | Sanur to Nusa Penida | Sanur to Padang Bai: no ferry, same landmass | · | Sanur to Serangan: no ferry, same landmass |
| Serangan | Serangan to Bangsal | Serangan to Gili Air | Serangan to Gili Trawangan | Serangan to Nusa Lembongan | Serangan to Nusa Penida | Serangan to Padang Bai: no ferry, same landmass | Serangan to Sanur: no ferry, same landmass | · |
Koh Lanta, Koh Lipe, Koh Phi Phi, Krabi, Kuala Perlis, Langkawi, Phuket
12 of 21 port pairs in this network have a crossing on the site.
| Departure port | Lanta | Lipe | Phi Phi | Krabi | Kuala Perlis | Langkawi | Phuket |
|---|---|---|---|---|---|---|---|
| Lanta | · | Koh Lanta to Koh Lipe | Koh Lanta to Koh Phi Phi | Koh Lanta to Krabi | Koh Lanta to Kuala Perlis: not covered yet | Koh Lanta to Langkawi: not covered yet | Koh Lanta to Phuket |
| Lipe | Koh Lipe to Koh Lanta | · | Koh Lipe to Koh Phi Phi | Koh Lipe to Krabi | Koh Lipe to Kuala Perlis: not covered yet | Koh Lipe to Langkawi | Koh Lipe to Phuket |
| Phi Phi | Koh Phi Phi to Koh Lanta | Koh Phi Phi to Koh Lipe | · | Koh Phi Phi to Krabi | Koh Phi Phi to Kuala Perlis: not covered yet | Koh Phi Phi to Langkawi: not covered yet | Koh Phi Phi to Phuket |
| Krabi | Krabi to Koh Lanta | Krabi to Koh Lipe | Krabi to Koh Phi Phi | · | Krabi to Kuala Perlis: not covered yet | Krabi to Langkawi: not covered yet | Krabi to Phuket |
| Kuala Perlis | Kuala Perlis to Koh Lanta: not covered yet | Kuala Perlis to Koh Lipe: not covered yet | Kuala Perlis to Koh Phi Phi: not covered yet | Kuala Perlis to Krabi: not covered yet | · | Kuala Perlis to Langkawi | Kuala Perlis to Phuket: not covered yet |
| Langkawi | Langkawi to Koh Lanta: not covered yet | Langkawi to Koh Lipe | Langkawi to Koh Phi Phi: not covered yet | Langkawi to Krabi: not covered yet | Langkawi to Kuala Perlis | · | Langkawi to Phuket: not covered yet |
| Phuket | Phuket to Koh Lanta | Phuket to Koh Lipe | Phuket to Koh Phi Phi | Phuket to Krabi | Phuket to Kuala Perlis: not covered yet | Phuket to Langkawi: not covered yet | · |
Gulf of Thailand
7 of 9 port pairs in this network have a crossing on the site.
| Departure port | Chumphon | Koh Phangan | Koh Samui | Koh Tao | Surat Thani |
|---|---|---|---|---|---|
| Chumphon | · | Chumphon to Koh Phangan | Chumphon to Koh Samui | Chumphon to Koh Tao | Chumphon to Surat Thani: no ferry, same landmass |
| Koh Phangan | Koh Phangan to Chumphon | · | Koh Phangan to Koh Samui | Koh Phangan to Koh Tao | Koh Phangan to Surat Thani: not covered yet |
| Koh Samui | Koh Samui to Chumphon | Koh Samui to Koh Phangan | · | Koh Samui to Koh Tao | Koh Samui to Surat Thani |
| Koh Tao | Koh Tao to Chumphon | Koh Tao to Koh Phangan | Koh Tao to Koh Samui | · | Koh Tao to Surat Thani: not covered yet |
| Surat Thani | Surat Thani to Chumphon: no ferry, same landmass | Surat Thani to Koh Phangan: not covered yet | Surat Thani to Koh Samui | Surat Thani to Koh Tao: not covered yet | · |
Singapore and the Riau Islands
3 of 6 port pairs in this network have a crossing on the site.
| Departure port | Bintan | Batam | Singapore | Karimun |
|---|---|---|---|---|
| Bintan | · | Bandar Bentan Telani to Batam: not covered yet | Bandar Bentan Telani to Singapore | Bandar Bentan Telani to Tanjung Balai Karimun: not covered yet |
| Batam | Batam to Bandar Bentan Telani: not covered yet | · | Batam to Singapore | Batam to Tanjung Balai Karimun: not covered yet |
| Singapore | Singapore to Bandar Bentan Telani | Singapore to Batam | · | Singapore to Tanjung Balai Karimun |
| Karimun | Tanjung Balai Karimun to Bandar Bentan Telani: not covered yet | Tanjung Balai Karimun to Batam: not covered yet | Tanjung Balai Karimun to Singapore | · |
Piers
Start from a port
Crossings
Every crossing we cover
Bali and the Nusa Islands
Koh Lanta, Koh Lipe, Koh Phi Phi, Krabi, Kuala Perlis, Langkawi, Phuket
Gulf of Thailand
Singapore and the Riau Islands
Operators