The average train between Bucks County and Princeton takes 3h 6m and the fastest train takes 2h 34m. The train service runs several times per day from Bucks County to Princeton. 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 twice daily between Bucks County and Princeton. The earliest departure is at 6:57 AM in the morning, and the last departure from Bucks County is at 6:05 PM which arrives into Princeton at 9:59 PM. All services require a transfer at Jefferson Station and take an average of 3h 6m. The schedules shown below are for the next available departures.



3h 10m • 3 changes



3h 31m • 3 changes



2h 34m • 3 changes



3h 16m • 3 changes
Want to know about travelling from Bucks County to Princeton? 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 Bucks County to Princeton. However, there are services departing from Bucks County station and arriving at Princeton station via Jefferson Station station. The journey, including transfers, takes approximately 3h 6m.
Bucks County to Princeton train services, operated by SEPTA, depart from Doylestown station.
Bucks County to Princeton train services, operated by SEPTA, arrive at Princeton Junction Amtrak Station.
The distance between Bucks County and Princeton is 39.6 km. The road distance is 130 km.
You can take a train from Doylestown to Princeton via Jefferson Station, 11th St, Drexel Station at 30th St, 30th Street Station, Princeton Junction Amtrak Station, and Princeton Jct. in around 3h 25m.