Travel guides11 min read
There are four different kinds of code in play, and each was invented to solve a different problem.
1. The three-letter IATA code — the one you actually use
This is the code IATA assigns to an individual airport, and it is the only one you see while travelling: on your ticket, on your boarding pass, and most importantly on the bag tag attached at check-in.
One small habit worth having: when you drop a bag, glance at the three letters on the stub you are handed back. If they are not your final destination, ask at the desk immediately. It is the fastest way to catch a bag tagged to the wrong place, while the aircraft is still on the ground.
IATA codes follow no geographic logic. They were issued gradually over a century, so two neighbouring airports can have codes with nothing in common. Of the 222 airports TripWise.vn sells to, 75 have a code that does not begin with the first letter of the city's name — more than a third.
The code usually comes from the airport, not the city
This is the source of most of the confusion:
| Code | City | Where the code comes from |
|---|---|---|
| UIH | Quy Nhon | Phu Cat airport — nothing to do with the city's name |
| HUI | Hue | Phu Bai airport |
| HPH | Hai Phong | Cat Bi airport |
| DLI | Da Lat | Lien Khuong airport |
| THD | Thanh Hoa | Tho Xuan airport |
| TBB | Tuy Hoa | Dong Tac airport |
| CXR | Nha Trang | Cam Ranh airport |
| CDG | Paris | Charles de Gaulle airport |
| JFK | New York | John F. Kennedy airport |
| FCO | Rome | Fiumicino airport |
Why Ho Chi Minh City is still SGN
The city was renamed in 1976. The code was not.
Airport codes are almost never changed, because the code is already embedded in millions of records: tickets sold, contracts of carriage, schedules, baggage systems, and the software of thousands of agencies worldwide. Changing one means re-synchronising an entire global industry for a purely cosmetic gain.
So SGN remains SGN — just as Mumbai is still BOM (Bombay) and Chennai is still MAA (Madras), long after both cities were renamed.

2. The four-letter ICAO code — the one operations people use
Unlike IATA codes, ICAO codes are geographically ordered. The first two letters identify the country or region:
- VV — Vietnam. Every Vietnamese airport begins VV.
- VT — Thailand · WS — Singapore · WM — Malaysia · RK — South Korea · RJ — Japan
Because of that order, a controller can tell the region from the code alone. ICAO codes appear in flight plans, radar systems and operating documents — and never on your ticket.
| Airport | City | IATA | ICAO |
|---|---|---|---|
| Noi Bai | Hanoi | HAN | VVNB |
| Tan Son Nhat | Ho Chi Minh City | SGN | VVTS |
| Da Nang | Da Nang | DAD | VVDN |
| Cam Ranh | Nha Trang | CXR | VVCR |
| Phu Quoc | Phu Quoc | PQC | VVPQ |
| Cat Bi | Hai Phong | HPH | VVCI |
| Phu Bai | Hue | HUI | VVPB |
| Can Tho | Can Tho | VCA | VVCT |
| Lien Khuong | Da Lat | DLI | VVDL |
ICAO also issues airline codes, three letters instead of two: Vietnam Airlines is HVN, Vietjet is VJC. That is the code a pilot uses on the radio, alongside a spoken callsign.
3. City codes — when one city has several airports
Where a metropolitan area has more than one airport, IATA issues a city code covering all of them. Search on that code and you see every airport in the area:
| City code | City | Airports covered |
|---|---|---|
| TYO | Tokyo | HND (Haneda), NRT (Narita) |
| SEL | Seoul | ICN (Incheon), GMP (Gimpo) |
| LON | London | LHR, LGW, STN, LTN, LCY… |
| PAR | Paris | CDG, ORY, BVA |
| NYC | New York | JFK, EWR, LGA |
| MOW | Moscow | SVO, DME, VKO |
This directly affects the fare you find. Flying to Tokyo and searching only NRT hides every flight to Haneda — much the closer airport to the centre. For any multi-airport city, search the city code first and choose the airport afterwards.
No Vietnamese city needs one yet: each still has a single airport in commercial service.
4. Codes for places that are not airports
This is the part that surprised us, and we found it in our own point-of-sale data.
Of the 222 points TripWise.vn sells to, 14 are not airports at all — they are railway stations:
| Code | What it actually is |
|---|---|
| XDB | Lille-Europe station, France |
| XYD | Lyon Part-Dieu station, France |
| XRF | Marseille St-Charles station, France |
| ZFQ | Bordeaux St-Jean station, France |
| XZN | Avignon TGV station, France |
| QXB | Aix-en-Provence TGV station, France |
| QYG | Frankfurt and the German domestic rail network |
The reason is air–rail through ticketing. You fly to Paris and continue by high-speed train, all on one ticket, with one bag drop and protection if you misconnect. For a booking system to handle that train leg, the station needs a three-letter code just like an airport.
There is a visible pattern in that list: almost all of them start with X, Z or Q. Those are the letters IATA keeps for points that are not airports. If you meet a code beginning with X or Z, it is probably not somewhere an aircraft lands.
All 22 Vietnamese airports
Every Vietnamese airport our system sells, alphabetically by city:
| Code | City / province | Code | City / province |
|---|---|---|---|
| BMV | Buon Ma Thuot | HUI | Hue |
| CAH | Ca Mau | CXR | Nha Trang |
| VCA | Can Tho | PQC | Phu Quoc |
| VCL | Chu Lai | PXU | Pleiku |
| VCS | Con Dao | UIH | Quy Nhon |
| DLI | Da Lat | VKG | Rach Gia |
| DAD | Da Nang | THD | Thanh Hoa |
| DIN | Dien Bien | SGN | Ho Chi Minh City |
| VDH | Dong Hoi | TBB | Tuy Hoa |
| HAN | Hanoi | VDO | Van Don |
| HPH | Hai Phong | VII | Vinh |
Common questions
Why does Ho Chi Minh City still use SGN?
Because airport codes are almost never changed — the code is embedded in millions of tickets, contracts and baggage records worldwide. Mumbai is still BOM and Chennai still MAA for exactly the same reason.
What is the difference between IATA and ICAO codes?
IATA codes are three letters, used in selling, with no geographic logic. ICAO codes are four letters, used in operations, and the first two give the country — VV for Vietnam. See the article on ICAO and IATA.
Why is Quy Nhon UIH?
Because the code was issued for Phu Cat airport, not for the city. Several Vietnamese airports work the same way: Hue is HUI (Phu Bai), Hai Phong is HPH (Cat Bi), Da Lat is DLI (Lien Khuong).
Which code should I search for Tokyo?
TYO, which returns both Haneda (HND) and Narita (NRT). Searching only NRT hides every Haneda flight — and Haneda is far closer to central Tokyo.
What does a code beginning with X or Z mean?
Usually a point that is not an airport — a railway station, a bus terminal, an intermodal connection. XDB, for example, is Lille-Europe station in France.
What does the code on my bag tag mean?
It is the IATA code of the bag's final destination airport. Check it at the desk: if it does not match where you are going, the bag has been tagged to the wrong place.
Read on
The codes on your ticket · What ICAO and IATA are · A history of commercial aviation · Vietnam's airports
Sources and dates
The list of 222 points of sale, 22 Vietnamese airports and 14 railway stations is TripWise.vn's own system data, recorded at publication, 15 September 2026. ICAO codes follow the aviation authority's published assignments.




