Indonesia's main container ports follow its industrial and consumer centres: Tanjung Priok (Jakarta) and Tanjung Perak (Surabaya) on Java, Belawan and Kuala Tanjung in North Sumatra, Tanjung Emas (Semarang), Makassar as the gateway to eastern Indonesia, and newer ports such as Patimban. Each port has a UN/LOCODE used in bookings and bills of lading. This guide describes each port qualitatively, without statistics, and explains the hub-and-feeder pattern that shapes your container's routing.
The main container ports
| Port | City/province | UN/LOCODE | Notable container terminals |
|---|---|---|---|
| Tanjung Priok | Jakarta | IDTPP | JICT, TPK Koja, NPCT1 (Kalibaru) |
| Tanjung Perak | Surabaya, East Java | IDSUB | Terminal Petikemas Surabaya (TPS), Teluk Lamong Terminal |
| Belawan | Medan, North Sumatra | IDBLW | Belawan International Container Terminal (BICT) |
| Tanjung Emas | Semarang, Central Java | IDSRG | Terminal Petikemas Semarang (TPKS) |
| Makassar | Makassar, South Sulawesi | IDMAK | Makassar New Port |
| Patimban | Subang, West Java | check tool | New port |
| Kuala Tanjung | Batu Bara, North Sumatra | check tool | Multipurpose terminal |
| Bitung | North Sulawesi | check tool | Bitung container terminal |
| Batam (Batu Ampar) | Riau Islands | check tool | Managed by BP Batam |
| Panjang | Lampung | check tool | Panjang container terminal |
| Pontianak/Kijing | West Kalimantan | check tool | Kijing (new terminal) |
| Balikpapan | East Kalimantan | check tool | Kariangau Terminal |
| Banjarmasin | South Kalimantan | check tool | Trisakti Terminal |
Look up the UN/LOCODEs not listed here with the port search tool or on the ports page. Channel depth, berth length and terminal services change as ports develop, so always check Pelindo or the terminal operator's website for current data.
Port profiles
Tanjung Priok (IDTPP)
Indonesia's most important container gateway, serving the industrial belt of Greater Jakarta, Karawang and beyond. Several terminals operate side by side, so you need to know which one your vessel uses: closing time, gate location and empty depots can all differ. NPCT1 at Kalibaru is part of the port's northern expansion.
Tanjung Perak (IDSUB)
Serves East Java's industry and is a key node for domestic flows to Kalimantan, Sulawesi, Bali, Nusa Tenggara and Papua. Teluk Lamong was designed as a semi-automated terminal to complement TPS capacity.
Belawan (IDBLW) and Kuala Tanjung
Belawan is North Sumatra's main port, handling plantation commodities, rubber and derived products. Kuala Tanjung in Batu Bara regency has been developed as a port with access to the Strait of Malacca.
Tanjung Emas (IDSRG) and Patimban
Tanjung Emas serves Central Java industries such as textiles, garments and furniture. Patimban in Subang is a new port intended to relieve Tanjung Priok and bring port access closer to industrial estates in eastern West Java, including the automotive sector.
Makassar (IDMAK) and eastern Indonesia
Makassar is the gateway and distribution node for eastern Indonesia, with Makassar New Port as its latest development. Bitung in North Sulawesi sits close to Pacific shipping lanes and handles fishery and plantation cargo.
Kalimantan, Batam and Lampung
Balikpapan (Kariangau Terminal), Banjarmasin (Trisakti Terminal) and Pontianak with the Kijing terminal handle domestic and some international flows in Kalimantan. Batam (Batu Ampar) is managed by BP Batam and lies close to Singapore. Panjang in Lampung is the export gateway for southern Sumatra's commodities.
Pelindo, terminal operators and regulators
Law No. 17 of 2008 on Shipping separates the regulator from the operator. On the government side is the Ministry of Transportation through the Directorate General of Sea Transportation, with port authorities and harbour masters at each port. On the business side are port enterprises that run the berths and terminals.
On 1 October 2021, the four state-owned port companies (Pelindo I, II, III and IV) were merged into PT Pelabuhan Indonesia (Persero), now simply Pelindo. Container services are run by, among others, the subholding PT Pelindo Terminal Petikemas, while several large terminals are operated by other companies or joint ventures. For shippers, this means tariffs, gate systems, storage rules and closing schedules may differ between terminals in the same port. The glossary entries for container yard and dwelling time explain why the time containers spend in terminals gets so much attention.
Reading a UN/LOCODE
A UN/LOCODE has five characters: the two-letter ISO country code (ID for Indonesia) and a three-character location code. IDTPP therefore means Indonesia, Tanjung Priok, and IDSUB means Indonesia, Surabaya. The same code appears on the booking confirmation, shipping instruction, B/L, the BAPLIE file behind the stowage plan and carrier tracking. A single wrong letter can route data to another location or get a booking rejected. A city may have more than one code when several ports or terminals are registered separately, so make sure the code matches the port the vessel actually uses.
Hub and feeder patterns in Indonesia
Long-haul mother vessels usually call at large regional hubs, while feeder vessels shuttle containers between smaller ports and those hubs. For Indonesia, many services to Europe, the Middle East and the Americas still involve transshipment at regional hubs such as Singapore or Malaysia, while a number of intra-Asia services and some long-haul loops call directly at Tanjung Priok or Tanjung Perak. Domestically, Jakarta and Surabaya act as hubs for inter-island cargo, including the government's sea toll (tol laut) services to the east.
Worked example: comparing routings (illustrative)
An exporter in Makassar ships six 40-foot and four 20-foot containers to Europe. That is 6 × 2 + 4 × 1 = 16 TEU. The day counts below are hypothetical and only show how to add up a routing.
| Routing option | Legs | Time (days, illustrative) |
|---|---|---|
| A: domestic feeder | Makassar → Surabaya 3, wait 4, Surabaya → regional hub 4, wait 3, mother vessel 22 | 36 |
| B: direct feeder to hub | Makassar → regional hub 5, wait 3, mother vessel 22 | 30 |
Every transshipment point adds waiting time and the risk of a container being rolled to a later vessel. Compare real schedules from carriers and estimate sea distance with the port distance calculator.
Common mistakes
- Writing the port name without a code. "Jakarta" can be ambiguous in systems; use IDTPP on bookings and B/Ls.
- Ignoring the terminal. One port can have several terminals with different closing times and depots.
- Relying on old data. Depths, services and routes change; check Pelindo and terminal websites.
- Assuming a direct service exists. Many destinations still involve transshipment.
- Choosing a port from the map alone. The nearest port may lack a service to your destination, adequate empty depots or reefer facilities; compare trucking cost and sailing frequency too.
- Forgetting domestic transshipment time. Cargo from eastern Indonesia often calls at Surabaya or Jakarta first, so total transit is longer than expected.
Continue planning
Choose your port of loading with the guide on how to choose a port of loading, understand demurrage and detention, then lay out your container in the 3D planner. Stowage.id is not affiliated with Pelindo, any terminal operator or any shipping line; this information is general.