The distance between Shanghai and Guilin is 955 miles (1537 km), which is equivalent to 20 hours’ driving time. Given that private car rental is not a feasible option for foreign visitors to China, this leaves travel by air or high-speed train as the most practical and pleasant ways to make the journey. You can combine both destinations in this 14-day winter tour

By Plane 

Duration: 3 hours
There are at least 7 flights a day from Shanghai Airport (PVG) to Guilin (KWL).At under 3 hours, this is by far the quickest option in terms of the core journey time. However, bear in mind that delays and general airport chaos are very common on Chinese domestic flights-especially a route as popular as this one.

By Train

Duration: : 9-9.5 hours
There is one high-speed train each day from Shanghai to Guilin, leaving in the morning and getting to Guilin in the early evening. This departs from Shanghai Hongqiao Railway Station and arrives into the centrally-located Guilin Railway Station. Be sure to book your seat well in advance, remember that you will need to buy tickets in person at a train station and allow plenty of time to clear security and passport checks at Shanghai Hongqiao station.
The bullet train is 2-3 times faster than the normal ones, which all involve an overnight journey and take 17.5-26.5 hours. Also, these trains arrive into Guilin North, which is further out of town. However, there are several departures of the slower train to choose from, spread across the day. If you do need to take a normal speed train, bear in mind that the T trains are faster than the K ones on this route.