Bangladesh is a country of rivers, and water transport is one of the most practical — and pleasant — ways to travel. The BIWTC (Bangladesh Inland Water Transport Corporation) runs passenger ferries and larger "launches" on many routes, especially to the south and southwest. An overnight ferry from Dhaka to Khulna (the gateway to the Sundarbans) takes about 20 hours and is a genuine experience: you sleep on the deck under the stars, passing fishing villages and rice paddies. Buying a cabin berth is worth it for a comfortable night.
Trains are the best option for longer overland routes. Bangladesh Railway connects Dhaka to Chittagong, Sylhet, Rajshahi, and other major cities. Intercity express trains are comfortable and relatively punctual by regional standards. Book tickets in advance if possible — busy routes sell out. Nearly all rail routes radiate from Dhaka, so traveling between two cities without going through the capital usually means a change.
Buses cover most of the country and are cheap. Air-conditioned coaches on major routes (Dhaka–Chittagong, Dhaka–Sylhet) are reasonable. On rural routes, buses are often crowded and schedules are loose. Allow extra time and a degree of flexibility.
Within cities, cycle rickshaws are the default for short trips — cheap, slow, and good for navigating narrow lanes. Auto-rickshaws (CNG-powered three-wheelers) are faster and better for longer urban distances. Ride-hailing apps (Pathao and Shohoz) now operate in Dhaka and Chittagong and are considerably less stressful than negotiating a fare. In Dhaka, the new Metro Rail line is a revelation — fast, clean, air-conditioned, and genuinely useful for crossing the city.
Road travel in Bangladesh requires patience. Traffic in Dhaka ranks among the worst in Asia, and intercity roads can be unpredictable. For multi-day trips into the hill tracts or the countryside, hiring a car and driver is worth considering.