The rule: habit, wish or future → 唔 (m4); not-having or didn't (finished past) → 冇 (mou5). English uses one not for both — I don't eat peanuts and I didn't eat. Cantonese splits them: 我唔食花生 vs 我冇食嘢. Pick the wrong one and you produce grammar no native speaker would say.
| 唔 | 冇 | |
|---|---|---|
| Jyutping | m4 (tone 4, low falling) | mou5 (tone 5, low rising) |
| Job | General not — habits, wishes, future | Not have + didn't — the finished past |
| Pairs with | Any verb or adjective: 唔食, 唔係 | 有 (have) and done actions |
| Never | Never with 咗 in one clause | Never means "don't" for the future |
| Situation | Say | Why |
|---|---|---|
| "I don't eat peanuts" (habit) | 我唔食花生 | A general truth — 唔 |
| "I didn't eat" (finished) | 我冇食嘢 | A done action — 冇 |
| "I have no money" | 我冇錢 | Negating 有 — always 冇, never 唔有 |
| "Do you have money?" | 你有冇錢 | 有冇 is the have-or-not question form |
| "I didn't go to work yesterday" | 尋日我冇返工 | Yesterday is finished — 冇 |
| "Don't watch movies" (order) | 唔好睇戲 | Commands use 唔好, never 冇 |
Saying 唔 with 咗 — 我唔食咗嘢 for "I didn't eat" — is ungrammatical, full stop. Finished actions belong to 冇: 我冇食嘢. Drill the pair by time: 聽日唔食 (won't eat tomorrow — 唔) / 尋日冇食 (didn't eat yesterday — 冇).
More learner answers on the FAQ page; the finished-vs-doing pair: 咗 vs 緊; more classic mix-ups: 唔該 vs 多謝, 識 vs 知; head-to-head dictionary picks on best Cantonese dictionary.
My words · Word of the day · Pinyin converter · Korean romanizer · FAQ · About · Contact · Privacy