The average bus between Salem and Charlestown takes 1h 35m and the fastest bus takes 58 min. There is a bus service every few hours from Salem to Charlestown. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run hourly between Salem and Charlestown. The earliest departure is at 5:31 AM in the morning, and the last departure from Salem is at 11:17 PM which arrives into Charlestown at 12:15 AM. All services require a transfer, and take on average 1h 35m. The schedules shown below are for the next available departures.

1h 42m • 1 change

1h 15m • 1 change

1h 39m • 1 change

1h 54m • 1 change

1h 32m • 1 change

1h 38m • 1 change

1h 47m • 1 change

1h 37m • 1 change

1h 32m • 1 change

1h 38m • 1 change

1h 47m • 1 change

1h 37m • 1 change
Want to know about travelling from Salem to Charlestown? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct bus from Salem to Charlestown. However, there are services departing from Salem station and arriving at Charlestown station via Congress St @ Haymarket Sta. The journey, including transfers, takes approximately 1h 35m.
Salem to Charlestown bus services, operated by MBTA, depart from North St @ Essex St station.
Salem to Charlestown bus services, operated by MBTA, arrive at Congress St @ Haymarket Sta station.
The distance between Salem and Charlestown is 20.8 km. The road distance is 29 km.
MBTA operates a bus from North St @ Essex St to Congress St @ Haymarket Sta hourly. Tickets cost $1–5 and the journey takes 1h 2m.