Rome2Rio

How to get fromShanghai to Changduby train, bus, car, taxi, subway or plane

Find Transport to Changdu

See all options

There are 5 ways to get from Shanghai to Changdu by train, bus, car, taxi, subway, 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.

  1. Train

    best
    1. Take the train from Shanghai Hongqiao to Yiwutrain train Shanghai Hongqiao / ...
    2h 38m
    ¥194–224
  2. Bus

    cheapest
    1. Take the bus from Shanghai Hutie to Zhujibus bus
    3h 25m
    ¥164–237
  3. Drive 252.9 km

    1. Drive from Shanghai to Changducar car 252.9 km
    2h 40m
    ¥223–321
  4. Taxi

    1. Take the taxi from Shanghai to Changdutaxi taxi 252.9 km
    2h 40m
    ¥750–950
  5. Line 2 subway, Maglev, fly

    1. Take the subway from West Nanjing Road to Longyang Roadsubway subway
    2. Take the train from Longyang Road to Pudong International Airporttrain train
    3. Fly from Shanghai Pudong International Airport (PVG) to Yiwu Airport (YIW)plane plane PVG - YIW
    3h 26m
    ¥1,629–2,249

Shanghai Pudong International Airport (PVG) to Yiwu Airport (YIW) flights

Calendar7Weekly Planes
Duration1h 10mAverage Duration
Ticket¥1,593Cheapest Price
See schedules

Questions & Answers

What companies run services between Shanghai, China and Changdu, China?

China Railways G-Class operates a train from Shanghai Hongqiao to Yiwu hourly. Tickets cost ¥120–135 and the journey takes 1h 23m. Alternatively, China Bus Guide operates a bus from Shanghai Hutie to Zhuji once daily. Tickets cost ¥79–130 and the journey takes 3h.

Airlines
Train operators
Bus operators
Other operators

Want to know more about travelling around the world?

Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Getting around the Cyclades, Travelling by boat in Italy, and The London Underground: Essential tips to navigate the Tube - to help you get the most out of your next trip.