The average train between Harrisburg and Bucks County takes 3h 54m and the fastest train takes 3h 27m. There is a train service every few hours from Harrisburg to Bucks County. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Harrisburg and Bucks County. The earliest departure is at 5:00 AM in the morning, and the last departure from Harrisburg is at 9:15 PM which arrives into Bucks County at 12:48 AM. All services require a transfer at Gray 30th St Station and take an average of 3h 54m. The schedules shown below are for the next available departures.


4h 4m • 2 changes


4h 4m • 2 changes


3h 44m • 2 changes
Arrives next day


3h 33m • 2 changes


3h 44m • 2 changes


3h 49m • 2 changes


4h 4m • 2 changes


3h 49m • 2 changes


3h 44m • 2 changes


3h 49m • 2 changes


4h 4m • 2 changes


3h 49m • 2 changes


3h 43m • 2 changes


3h 38m • 2 changes


3h 33m • 2 changes


3h 43m • 2 changes


3h 43m • 2 changes


3h 33m • 2 changes


3h 43m • 2 changes


3h 58m • 2 changes
Want to know about travelling from Harrisburg to Bucks County? 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 train from Harrisburg to Bucks County. However, there are services departing from Harrisburg station and arriving at Bucks County station via 30th Street Station station. The journey, including transfers, takes approximately 3h 54m.
Harrisburg to Bucks County train services, operated by Amtrak, depart from Harrisburg station.
Harrisburg to Bucks County train services, operated by Amtrak, arrive at Doylestown station.
The distance between Harrisburg and Bucks County is 149.3 km. The road distance is 222 km.
You can take a train from Harrisburg to Doylestown via Gray 30th St Station and Suburban Station in around 3h 52m.