Phone Numbers, Addresses, and Codes

A phone number is not a quantity: it is a sequence of labels. The same is true of a verification code, postal code, room number, and much of an address. Vietnamese therefore switches between two reading strategies. A value is read as a cardinal number with place values and forms such as mốt, tư, and lăm; an identifier can be read one digit at a time so that every symbol is recoverable.

This page develops that value-versus-label distinction. Full calendar dates, weekday names, months, and years are left to Dates, Weekdays, Months, and Years.

Digit-by-digit reading

For a phone number or security code, the safest pattern is to read each digit separately. Use the basic digit names, not the positional forms used after tens.

DigitIsolated readingContrast in a quantity
0khôngkhông phẩy năm — 0.5
1mộthai mươi mốt — 21
2haihai mươi — 20
3baba mươi — 30
4bốnba mươi tư — 34
5nămmười lăm — 15
6sáu—
7bảy—
8tám—
9chín—

Số điện thoại của tôi là không chín không, bốn hai một, năm tám ba sáu.

My phone number is 090 421 5836.

Mã xác nhận của chị là tám không bốn hai một năm.

Your verification code is 804215.

Anh đọc lại từng số giúp tôi được không?

Could you read each digit back to me?

The commas in the first example represent pauses, not decimal punctuation. Speakers group phone digits rhythmically to make them easier to remember, but the digits retain their identity: final 1 is một, final 4 is bốn, and final 5 is năm when each is dictated separately.

💡
Ask what the listener must reconstruct. If the answer is an exact string, read digits separately. If the answer is a numerical value, read place values and use the normal positional variants.

Grouped reading is possible—but agree on the task

Vietnamese speakers may group familiar phone-number chunks instead of reading every digit separately. That is normal (informal), especially when rhythm and context make the boundaries clear. For a new code, a noisy call, or a number containing leading zeroes, digit-by-digit reading is safer.

Đuôi số của chị là hai một hay hai mươi mốt?

Are the last digits of your number two-one, or are you saying twenty-one as a group?

Là hai một nhé: số hai rồi đến số một.

It is two-one: the digit two followed by the digit one.

Hai một identifies two consecutive digits. Hai mươi mốt names the value 21. They can encode the same visible ending 21, but the first style exposes the string while the second treats it as a number. For codes, reading 01 as không một preserves the leading zero; reading it as một destroys information.

Numbered labels: rooms, routes, and pages

Labels lie between pure digit strings and quantities. Small house numbers, bus routes, pages, and rooms are often read as whole cardinals:

Cuộc họp ở phòng hai mươi mốt, tầng ba.

The meeting is in room 21 on the third floor.

Chúng ta xuống ở trạm của tuyến xe buýt số mười lăm.

We get off at the stop for bus route 15.

Bài tập nằm ở trang ba mươi tư.

The exercise is on page 34.

For a room written 205, speakers may say the cardinal hai trăm linh năm (regional: Northern) or hai trăm lẻ năm (regional: Southern). In settings where room labels are routinely dictated as digits, hai không năm is also clear. The physical label and local convention determine the most useful reading.

The positional variants belong to whole-cardinal readings: room 21 is phòng hai mươi mốt, route 34 is tuyến ba mươi tư, and page 15 is trang mười lăm. They do not belong to one-digit-at-a-time spelling.

Street addresses

A basic urban address uses số + house number + đường/phố + street name. More detailed addresses can add an alley level before the street.

Văn phòng ở số hai mươi mốt đường Trần Hưng Đạo.

The office is at number 21 Trần Hưng Đạo Street.

Nhà tôi ở số mười lăm, ngõ ba mươi tư, phố Huế.

My house is at number 15, alley 34, Huế Street. (Northern wording)

Quán nằm trong hẻm mười lăm, đường Nguyễn Trãi.

The café is in alley 15 on Nguyễn Trãi Street. (Southern wording)

Ngõ is characteristic (regional: Northern), while hẻm is characteristic (regional: Southern). Local systems can be much more deeply nested, so copy all written components rather than “simplifying” an unfamiliar address.

A slash in a written sub-address can be called gạch chéo in careful dictation. Xẹt is also heard (regional: Southern, informal). Letter suffixes follow the number: số 12A is số mười hai A. In a delivery or emergency context, showing the written address is safer than assuming that every region verbalizes complex separators identically.

Codes with letters and punctuation

Spell out an alphanumeric code in its printed order. If the listener must reconstruct punctuation too, name it: gạch ngang is a hyphen and gạch chéo is a slash. Letter names depend on the professional context and may reflect Vietnamese or international spelling practices, so confirm ambiguous letters explicitly.

Mã đơn hàng là A, gạch ngang, hai một năm, gạch ngang, B.

The order code is A-215-B.

Mã bưu chính gồm sáu chữ số; xin chị đọc từng số một.

The postal code has six digits; please read them one at a time.

Biển số xe bắt đầu bằng ba mươi A.

The license plate begins with 30A.

In the order code example, hai một năm preserves the printed digit string 215, while gạch ngang preserves each hyphen. On a price tag, by contrast, 215,000 đồng is hai trăm mười lăm nghìn đồng. Communicative purpose, not the shape of the digits alone, selects the reading.

Where classifiers still matter

An identifier can modify one item, but counting the physical objects that carry identifiers still requires ordinary noun-phrase grammar.

Tôi đã gọi ba số điện thoại nhưng không ai nghe máy.

I called three phone numbers, but no one answered.

Lễ tân đưa cho tôi hai tấm thẻ có mã khác nhau.

The receptionist gave me two cards with different codes.

Ba số điện thoại uses số as the countable unit “number.” Hai tấm thẻ uses the classifier tấm for two physical cards; the codes on them remain identifiers. The abstract noun mã itself can be counted directly in a phrase such as hai mã khác nhau. Inside each phone number or code, its digits are labels rather than counted objects.

A compact system map

FormInterpretationReading strategy
hai mươi mốtthe value 21whole cardinal with mốt
ba mươi tưthe value 34whole cardinal with tư
mười lămthe value 15whole cardinal with lăm
thứ haisecond; Monday in calendar contextordinal or fixed weekday
ngày 7 tháng 107 Octoberdate labels in day–month order
tám giờ rưỡi8:30clock unit + half

Large quantities use nghìn, triệu, and tỷ; money adds đồng; decimals add phẩy; duration adds units such as giờ or ngày; calendar cycles add labels such as tháng and năm. Codes are different because they preserve symbols rather than calculate a value.

When one written number gets two readings

Linh: Phòng họp là phòng hai một phải không?

Linh: The meeting room is room two-one, right?

Huy: Phòng hai mươi mốt. Còn hai một là hai số cuối trong mã cửa.

Huy: Room twenty-one. Two-one is the last two digits of the door code.

Linh: Hiểu rồi: phòng hai mươi mốt, mã cửa kết thúc bằng hai một.

Linh: Got it: room twenty-one, and the door code ends in two-one.

The visible digits 21 are a whole numbered label in phòng hai mươi mốt but a recoverable digit sequence in mã ... hai một. The contrast is not cosmetic: using the wrong interpretation can send someone to the wrong room or make a code fail.

Common Mistakes

1. Applying positional forms to isolated code digits

❌ Mã ba chữ số là hai mốt lăm.

Incorrect for a digit-by-digit code — mốt and lăm require a cardinal tens structure.

✅ Mã ba chữ số là hai một năm.

The three-digit code is 215.

When spelling a code, say each basic digit. When naming the value 215, say hai trăm mười lăm.

2. Failing to use positional forms in a whole value

❌ Văn phòng ở số hai mươi một.

Incorrect when the label is read as the neutral whole number 21 — final 1 must be mốt.

✅ Văn phòng ở số hai mươi mốt.

The office is at number 21.

The same rule gives số ba mươi tư and tuyến mười lăm when these labels are read as whole cardinals.

3. Dropping the classifier when counting ordinary objects

❌ Tôi cần hai điện thoại cho văn phòng.

Unnatural in the ordinary object-counting reading — a classifier is missing.

✅ Tôi cần hai cái điện thoại cho văn phòng.

I need two phones for the office.

Digit strings do not take classifiers internally, but physical devices are ordinary count nouns.

4. Losing a leading zero

❌ Mã 05 được đọc là năm.

Incorrect for an exact code — this erases the leading zero.

✅ Mã 05 được đọc là không năm.

The code 05 is read as zero-five.

Preserve every symbol in an identifier, even when it would have no effect on a mathematical value.

5. Importing American date and time order

❌ Lịch hẹn ghi tháng 10 ngày 7, rưỡi tám giờ.

Incorrect — the date and half-hour follow English ordering.

✅ Lịch hẹn ghi ngày 7 tháng 10, tám giờ rưỡi.

The appointment says 7 October, 8:30.

A date and a clock time are structured unit expressions, not arbitrary digit codes. Use day–month order and place rưỡi after giờ.

Key Takeaways

  • Read exact identifiers digit by digit: 804215 can be tám không bốn hai một năm.
  • Read whole values and many numbered labels with place values: 21 is hai mươi mốt.
  • Preserve leading zeroes and clarify grouping when accuracy matters.
  • Keep local address vocabulary visible: ngõ (regional: Northern) and hẻm (regional: Southern).
  • The correct reading follows communicative purpose: quantities measure, while identifiers preserve symbols.

Now practice Vietnamese

Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.

Start learning Vietnamese →

Related Topics