You can take a train from Strasbourg to Heidelberg via Karlsruhe Hbf in around 1 hour 36 minutes. Alternatively, FlixBus operates a bus from Strasbourg to Heidelberg 4 times a day. Tickets cost $8 - $14 and the journey takes 2 hours 10 minutes. Eurolines FR also services this route twice a week.
No, there is no direct train from Strasbourg to Heidelberg. However, there are services departing from Strasbourg and arriving at Heidelberg Hbf via Karlsruhe Hbf. The journey, including transfers, takes approximately 1 hour 36 minutes.
Yes, there is a direct bus departing from Strasbourg and arriving at Heidelberg. Services depart four times a day, and operate every day. The journey takes approximately 2 hours 10 minutes.