To travel from London to Edinburgh by train, you can take a direct train from London Kings Cross or London Euston to Edinburgh (Waverley). The journey takes approximately 4h 50m, although the fastest services can complete it in about 4h 16m. There are around 79 direct trains per day on this route. Train tickets can be purchased from around £47.60 when booked in advance.
Here's a more detailed breakdown:

Photo by Mike McBey
Direct Trains
Lumo
You can find direct train services from London Kings Cross to Edinburgh (Waverley), operated by Lumo.
LNER
You can find direct train services from London Kings Cross to Edinburgh (Waverley), operated by LNER.
Avanti West Coast
You can find direct train services from London Euston to Edinburgh (Waverley), operated by Avanti West Coast.
Caledonian Sleeper:
You can also travel overnight on the Caledonian Sleeper, departing from London Euston in the evening and arriving in Edinburgh the next morning.
Train Stations
Trains depart from London Kings Cross and London Euston, arriving at Edinburgh (Waverley).
Journey Time
The average journey time is around 4h 50m, but the fastest services can reach in just 4h 16m.
First and Last Trains
The first train usually departs around 05:48, and the last train departs around 23:30.
Train Frequency
There are approximately 79 direct trains per day travelling this route.
Distance
The distance between London and Edinburgh by train is about 333.
Operators
Lumo, LNER, Avanti West Coast, and Caledonian Sleeper are the primary train operators.
Tickets/Cost/Fares
Train tickets can be found from £47.60 when booked in advance, but prices may vary depending on the time of day and whether you book on the day of travel.
Booking
Trip.com is a good resource for checking train times, operators, and booking tickets.
Payment and Ticketing
Oyster cards and contactless payments are not accepted on these trains.
Journey Planning
To plan your specific journey, check the timetables and availability on Trip.com or the respective train operator websites.