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.