TripWise.vn

Travel guides

Airport and city codes: why Ho Chi Minh City is still SGN, and why some railway stations have one

Every time you book a flight you use a three-letter code that nobody ever explains. HAN is Hanoi, SGN is Ho Chi Minh City — but why is it still SGN nearly fifty years after the city was renamed? Why is Quy Nhon UIH? And why does our own booking system contain codes for railway stations in France?

Travel guides11 min read

There are four different kinds of code in play, and each was invented to solve a different problem.

IATA CODE — 3 LETTERS · USED WHEN YOU BOOK HAN Noi Bai Airport, Hanoi Tied to one specific airport. This is the code printed on your ticket, your boarding pass and your bag tag. ICAO CODE — 4 LETTERS · USED TO OPERATE THE FLIGHT VV NB Vietnam Noi Bai The first two letters give the country or region. Every airport in Vietnam begins VV — so ICAO codes are geographically ordered, and IATA codes are not. CITY CODE — WHEN ONE CITY HAS SEVERAL AIRPORTS TYO = HND + NRT Searching TYO returns both Tokyo airports. No Vietnamese city needs one of these yet.
The three kinds of code you will meet. Only the first appears on your ticket.

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:

CodeCityWhere the code comes from
UIHQuy NhonPhu Cat airport — nothing to do with the city's name
HUIHuePhu Bai airport
HPHHai PhongCat Bi airport
DLIDa LatLien Khuong airport
THDThanh HoaTho Xuan airport
TBBTuy HoaDong Tac airport
CXRNha TrangCam Ranh airport
CDGParisCharles de Gaulle airport
JFKNew YorkJohn F. Kennedy airport
FCORomeFiumicino 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.

An illuminated boarding gate sign in an airport at night
Every sign board, bag tag and information screen in the building runs on these three letters.

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.

AirportCityIATAICAO
Noi BaiHanoiHANVVNB
Tan Son NhatHo Chi Minh CitySGNVVTS
Da NangDa NangDADVVDN
Cam RanhNha TrangCXRVVCR
Phu QuocPhu QuocPQCVVPQ
Cat BiHai PhongHPHVVCI
Phu BaiHueHUIVVPB
Can ThoCan ThoVCAVVCT
Lien KhuongDa LatDLIVVDL

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 codeCityAirports covered
TYOTokyoHND (Haneda), NRT (Narita)
SELSeoulICN (Incheon), GMP (Gimpo)
LONLondonLHR, LGW, STN, LTN, LCY…
PARParisCDG, ORY, BVA
NYCNew YorkJFK, EWR, LGA
MOWMoscowSVO, 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:

CodeWhat it actually is
XDBLille-Europe station, France
XYDLyon Part-Dieu station, France
XRFMarseille St-Charles station, France
ZFQBordeaux St-Jean station, France
XZNAvignon TGV station, France
QXBAix-en-Provence TGV station, France
QYGFrankfurt 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:

CodeCity / provinceCodeCity / province
BMVBuon Ma ThuotHUIHue
CAHCa MauCXRNha Trang
VCACan ThoPQCPhu Quoc
VCLChu LaiPXUPleiku
VCSCon DaoUIHQuy Nhon
DLIDa LatVKGRach Gia
DADDa NangTHDThanh Hoa
DINDien BienSGNHo Chi Minh City
VDHDong HoiTBBTuy Hoa
HANHanoiVDOVan Don
HPHHai PhongVIIVinh

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.