Bus to Ivangorod
Saint Petersburg → Ivangorod · about 2h · ~€3–10
Train to Tallinn
Ivangorod → Tallinn · about ~2h 50m · ~€9–30
Saint Petersburg → Tallinn
Russia to Estonia · 1 border · Where else can you go from Saint Petersburg?
Your route
RecommendedChoose a line to change transport
Scroll for the full route →Your itinerary
About the trip from Saint Petersburg to Tallinn
Saint Petersburg (Russia) and Tallinn (Estonia) are 317 km (197 mi) apart in a straight line. The way we suggest is by bus and train, via Ivangorod: ~5h 5m door to door with 1 change, for ~€12–40 per person. No flight is needed. The trip crosses one border, so check what papers you need.
Step by step
- Bus from Saint Petersburg to Ivangorod: about 2h, 134 km, ~€3–10
- Train from Ivangorod to Tallinn: ~2h 50m, 196 km, ~€9–30
Every route we know
- Bus + Train, via Ivangorod: ~5h 5m, 1 change, ~€12–40
- Bus, direct: about 7h, no changes, ~€15–35
- Train + Bus + Train, via Kingisepp and Ivangorod: ~6h, 2 changes, ~€15–53
- Bus + Train + Bus + Train, via Narva, Jõhvi and Rakvere: ~6h 35m, 3 changes, ~€27–79
Questions
How long does it take to get from Saint Petersburg to Tallinn?
~5h 5m door to door by bus and train, via Ivangorod, including time for changes.
How much does it cost to travel from Saint Petersburg to Tallinn?
~€12–40 per person for the route we suggest. These are estimates from travel-guide prices and published tariffs, not quotes: check the operator for today's fare.
Is there a direct bus from Saint Petersburg to Tallinn?
Yes, a direct bus takes about 7h and costs ~€15–35.
Times are rough door-to-door times, with time to change included. A "~" marks a rough time worked out from the distance. We don't have timetables, and fares are rough estimates, not quotes: check Google Maps or the operator before you travel.