There are 7 ways to get from John O' Groats to Perth by bus, train, car, ferry, or plane
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus, train
best- Take the bus from Caithness General Hospital to Inverness Union Streetbus Ember
- Take the train from Inverness to Perthtrain Inverness - Glasgow Queen Street / ...
7h 34m£38–92Bus
cheapest- Take the bus from Caithness General Hospital to Inverness Union Streetbus Ember
- Take the bus from Inverness Union Street to Perth stationbus Ember
7h 55m£24–35Train
- Take the train from Wick to Invernesstrain Wick - Inverness
- Take the train from Inverness to Perthtrain Inverness - Glasgow Queen Street / ...
9h 6m£92–182Drive 228.2 mi
- Drive from John O' Groats to Perthcar 228.2 mi
4h 45m£57–82Ferry, fly to Edinburgh Airport, bus
- Take the ferry from Gills Bay Ferry Terminal to St Margarets Hope Ferry Terminalferry
- Fly from Kirkwall (KOI) to Edinburgh Airport (EDI)plane KOI - EDI
- Take the bus from Edinburgh Airport to Perth stationbus
7h 28m£223–480Bus via Park and Ride
- Take the bus from Caithness General Hospital to Inverness Union Streetbus Ember
- Take the bus from Bus Station Stance 3 to Park and Ridebus Uk093 / ...
7h 52m£27–40Ferry, fly to Glasgow Airport, train
- Take the ferry from Gills Bay Ferry Terminal to St Margarets Hope Ferry Terminalferry
- Fly from Kirkwall (KOI) to Glasgow Airport (GLA)plane KOI - GLA
- Take the train from Glasgow Queen Street to Perthtrain
7h 38m£293–585
John O' Groats to Perth by bus and train
Comparing Your Travel Options
The cheapest way to get from John O' Groats to Perth is to bus which costs £24 - £35 and takes 7h 55m.
The fastest way to get from John O' Groats to Perth is to drive which takes 4h 45m and costs £55 - £85.
No, there is no direct bus from John O' Groats to Perth. However, there are services departing from Post Office and arriving at South Street via Caithness General Hospital, Bus Station Stance 3 and Park and Ride. The journey, including transfers, takes approximately 7h 52m.
No, there is no direct train from John O' Groats to Perth. However, there are services departing from Wick and arriving at Perth via Inverness. The journey, including transfers, takes approximately 9h 6m.
The distance between John O' Groats and Perth is 245 miles. The road distance is 229.6 miles.
The best way to get from John O' Groats to Perth without a car is to bus and train which takes 7h 34m and costs £35 - £95.
It takes approximately 7h 34m to get from John O' Groats to Perth, including transfers.
John O' Groats to Perth bus services, operated by Ember, depart from Caithness General Hospital station.
John O' Groats to Perth train services, operated by ScotRail, depart from Wick station.
The best way to get from John O' Groats to Perth is to train which takes 9h 6m and costs £90 - £190. Alternatively, you can bus via Park and Ride, which costs £27 - £40 and takes 7h 52m.
What companies run services between John O' Groats, Scotland and Perth, Scotland?
You can take a bus from Post Office to Perth via Town Hall, Wick, and Inverness in around 9h 6m. Alternatively, you can take a bus from Post Office to South Street via Town Hall, Caithness General Hospital, Inverness Union Street, Bus Station Stance 3, and Park and Ride in around 7h 52m.
- Website
- loganair.co.uk
Flights from Kirkwall to Edinburgh Airport
- Ave. Duration
- 1h 12m
- When
- Every day
- Estimated price
- £160–410
Flights from Kirkwall to Glasgow Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- £240–470
Flights from Kirkwall to Glasgow Airport via Lerwick
- Ave. Duration
- 3h 5m
- When
- Monday to Friday
- Estimated price
- £240–470
- Phone
- +44 (0)344 811 0141
- Website
- ScotRail
Train from Inverness to Perth
- Ave. Duration
- 2h 13m
- Frequency
- Every 3 hours
- Estimated price
- £45–75
- Website
- ScotRail
Train from Wick to Inverness
- Ave. Duration
- 4h 25m
- Frequency
- 4 times a day
- Estimated price
- £65–110
- Website
- ScotRail
Train from Inverness to Perth
- Ave. Duration
- 2h 13m
- Frequency
- Every 3 hours
- Estimated price
- £45–75
- Website
- ScotRail
Train from Glasgow Queen Street to Perth
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- £24–40
- Website
- ScotRail
Train from Inverness to Perth
- Ave. Duration
- 2h 2m
- Frequency
- Once daily
- Estimated price
- £35–55
- Website
- London North Eastern Railway Limited (LNER)
Train from Inverness to Perth
- Ave. Duration
- 2h 2m
- Frequency
- Once daily
- Estimated price
- £35–55
- Website
- London North Eastern Railway Limited (LNER)
- Phone
- +44 330 060 0500
- Website
- Caledonian Sleeper
Train from Inverness to Perth
- Ave. Duration
- 2h 38m
- Frequency
- 6 times a week
- Estimated price
- £26–40
- Website
- Caledonian Sleeper
Train from Inverness to Perth
- Ave. Duration
- 2h 38m
- Frequency
- 6 times a week
- Estimated price
- £26–40
- Website
- Caledonian Sleeper
- Phone
- +44 (0)131 510 4007
- [email protected]
- Website
- Ember
Bus from Caithness General Hospital to Inverness Union Street
- Ave. Duration
- 2h 53m
- Frequency
- Every 4 hours
- Estimated price
- £12–17
- Website
- Ember
Bus from Edinburgh Airport to Perth station
- Ave. Duration
- 58 min
- Frequency
- Hourly
- Estimated price
- £7–10
- Website
- Ember
Bus from Caithness General Hospital to Inverness Union Street
- Ave. Duration
- 2h 53m
- Frequency
- Every 4 hours
- Estimated price
- £12–17
- Website
- Ember
Bus from Caithness General Hospital to Inverness Union Street
- Ave. Duration
- 2h 53m
- Frequency
- Every 4 hours
- Estimated price
- £12–17
- Website
- Ember
Bus from Inverness Union Street to Perth station
- Ave. Duration
- 2h 49m
- Frequency
- Hourly
- Estimated price
- £12–18
- Website
- Ember
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Bus Station Stance 3 to Park and Ride
- Ave. Duration
- 2h 25m
- Frequency
- Hourly
- Estimated price
- £13–20
- Website
- Flixbus
- Phone
- +44 (0)800 688 8998
- [email protected]
- Website
- Pentland Ferries
Ferry from Gills Bay Ferry Terminal to St Margarets Hope Ferry Terminal
- Ave. Duration
- 1h 10m
- Frequency
- 3 times a day
- Estimated price
- £28
- Website
- Pentland Ferries
Ferry from Gills Bay Ferry Terminal to St Margarets Hope Ferry Terminal
- Ave. Duration
- 1h 10m
- Frequency
- 3 times a day
- Estimated price
- £28
- Website
- Pentland Ferries
Want to know more about travelling around United Kingdom
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Travelling to the UK: What do I need to know?
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
Booking & Getting There
John O' Groats to Perth bus services, operated by Ember, arrive at Inverness Union Street station.
John O' Groats to Perth train services, operated by ScotRail, arrive at Inverness station.
Yes, the driving distance between John O' Groats to Perth is 230 miles. It takes approximately 4h 45m to drive from John O' Groats to Perth.
There are 564+ hotels available in Perth.

















