唔 m4 — the general "not"

唔 (m4) negates states, descriptions, and general/habitual actions — anything that isn't about possession or a completed event. It sits directly before the verb or adjective:

我唔知

Pronunciation ngo5 m4 zi1

I don't know

佢唔係學生

Pronunciation keoi5 m4 hai6 hok6 saang1

he/she isn't a student

我唔食辣

Pronunciation ngo5 m4 sik6 laat6

I don't eat spicy food

今日唔凍

Pronunciation gam1 jat6 m4 dung3

it's not cold today

唔好

Pronunciation m4 hou2

don't (literally "not good")

唔好 + verb = "don't X": 唔好走 = don't go

冇 mou5 — "don't have / didn't"

冇 (mou5) does two jobs:

  • Negates 有 — "don't have / there isn't": 我冇錢 (ngo5 mou5 cin2) = "I have no money".
  • Negates completed actions — "didn't": 我冇去 (ngo5 mou5 heoi3) = "I didn't go". It stands opposite the completion marker 咗.

我冇時間

Pronunciation ngo5 mou5 si4 gaan1

I don't have time

佢冇嚟

Pronunciation keoi5 mou5 lai4

he/she didn't come

我冇見過佢

Pronunciation ngo5 mou5 gin3 gwo3 keoi5

I've never met him/her

冇問題

Pronunciation mou5 man6 tai4

no problem

咗 zo2 — completed

咗 (zo2) after the verb marks a finished action — the closest thing to English past/perfect. If the action is done, add 咗:

我食咗飯

Pronunciation ngo5 sik6 zo2 faan6

I've eaten (the meal is done)

佢走咗

Pronunciation keoi5 zau2 zo2

he/she has left

我買咗飛

Pronunciation ngo5 maai5 zo2 fei1

I bought the tickets

我沖咗涼喇

Pronunciation ngo5 cung1 zo2 loeng4 laa3

I've showered now

完 is a result complement (finish doing), not a 1:1 swap for 咗 — 沖完涼 = finish showering.

緊 gan2 (in progress) and 過 gwo3 (experienced)

緊 (gan2) = the action is happening right now — like English "-ing". 過 (gwo3) = the action has been experienced at least once — "have (ever) done":

我食緊飯

Pronunciation ngo5 sik6 gan2 faan6

I'm eating right now

佢瞓緊覺

Pronunciation keoi5 fan3 gan2 gaau3

he/she is sleeping

我去過日本

Pronunciation ngo5 heoi3 gwo3 jat6 bun2

I've been to Japan

你食過點心未?

Pronunciation nei5 sik6 gwo3 dim2 sam1 mei6

have you tried dim sum? (未 = not yet)

未 mei6 = "not yet" — answers: 食過 (yes) / 未食 (not yet)

Negation and aspect together

EnglishCantoneseJyutpingPattern
I ate我食咗ngo5 sik6 zo2verb + 咗
I didn't eat我冇食ngo5 mou5 sik6冇 replaces 咗 in the negative
I'm eating我食緊ngo5 sik6 gan2verb + 緊
I'm not eating我冇食緊ngo5 mou5 sik6 gan2冇 + verb + 緊
I've eaten before我食過ngo5 sik6 gwo3verb + 過
I've never eaten it我冇食過ngo5 mou5 sik6 gwo3冇 + verb + 過

Mini practice

"I don't know" — 唔 or 冇?

唔: 我唔知 (ngo5 m4 zi1). 唔 negates states and general verbs; 冇 is for possession or completed events.

How do you say "I didn't go"?

我冇去 (ngo5 mou5 heoi3). 冇 is the negator for completed actions — 冇 + verb, no 咗 needed.

What does 緊 (gan2) after a verb mean?

The action is in progress: 我食緊飯 = "I'm eating right now".

How do you ask "have you (ever) tried dim sum?"

你食過點心未? (nei5 sik6 gwo3 dim2 sam1 mei6) — 過 for experience + 未 "not yet" for the question.

咗, 緊, 過 — which goes where?

All attach after the verb: 食咗 (ate/done), 食緊 (eating now), 食過 (have eaten before).