Cantonese negation: m4, mou5, mei6, and mai5

Cantonese has four main negation words: m4, mou5, mei6, and mai5. Each one negates a different kind of statement, and choosing the wrong one is a common beginner mistake. This guide breaks down when to use each.

The short versionUse m4 唔 to negate verbs, adjectives, and present or future actions. Use mou5 冇 to say there is no something, or that an action did not happen. Use mei6 未 to say not yet. Use mai5 咪 for don't (a soft negative imperative). Beginners get the most mileage from m4 and mou5.

The four negation words at a glance

WordUseRough English equivalent
m4
Negates verbs and adjectives in present or futurenot, don't
mou5
Negates have, possession, or completed actionhave no, didn't
mei6
Negates yet, an unfinished or unfulfilled actionnot yet, haven't
mai5
Soft negative imperativedon't (please)

m4 唔: the everyday no

"m4" is the most common negation. It goes directly before a verb or adjective and negates it. Think of it as the all purpose"not".

ngo5 m4 sik6 jyu4
I don't eat fish
m4 negates the verb sik6
keoi5 m4 sik1 jau4 seoi2
She can't swim
m4 negates the auxiliary sik1 (knows how to)
gam1 jat6 m4 jit6
Today is not hot
m4 negates the adjective jit6
ngo5 m4 heoi3
I'm not going / I won't go

mou5 冇: not have, didn't

"mou5" is the negative of "jau5 有" (to have, there is). It is also used to negate completed actions, replacing the aspect marker "zo2 咗" in the negative.

ngo5 mou5 cin2
I have no money
Possession: not having money
mou5 man6 tai4
No problem
A common phrase, literally there is no problem
ngo5 mou5 heoi3
I didn't go
Negating a past action
keoi5 mou5 sik6 zou2 caan1
He didn't eat breakfast
Note: there is no zo2 in the negative form
The zo2 trap

In a positive sentence about completed action, you use the aspect marker "zo2 咗": "ngo5 sik6 zo2 (I ate)". The negative is not "m4 sik6 zo2", it is"mou5 sik6 (I didn't eat)". The aspect marker drops entirely. This is one of the most common beginner mistakes.

mei6 未: not yet

"mei6" means "not yet". It implies that the action will or might happen later, but has not happened up to now. It is also the question form for "have you done X yet".

ngo5 mei6 sik6 faan6
I haven't eaten yet
The eating is expected to happen, but has not yet
keoi5 mei6 dou3
She hasn't arrived yet
nei5 sik6 zo2 faan6 mei6 aa3?
Have you eaten yet?
A very common greeting in Cantonese culture

mai5 咪: don't

"mai5" is the soft negative imperative, used for telling someone not to do something. It is gentler than commanding and is common in everyday speech.

mai5 gong2 laa1
Don't say it / Stop talking about it
mai5 haang4 gam3 faai3
Don't walk so fast
mai5 haam3
Don't cry
A gentle, comforting tone

m4 hai6 唔係: not (a noun)

To say "is not" you combine "m4" with the verb"hai6 係" (to be). This is how you negate noun statements and identities.

keoi5 m4 hai6 lou5 si1
He is not a teacher
ni1 go3 m4 hai6 ngo5 ge3
This is not mine
gam1 jat6 m4 hai6 sing1 kei4 jat1
Today is not Monday

Choosing the right negation

Quick decision guide:

  • Negating a verb in the present or future? Use m4 唔.
  • Saying you don't have something? Use mou5 冇.
  • Negating a past action? Use mou5 冇 (drop the zo2).
  • Saying not yet? Use mei6 未.
  • Telling someone not to do something? Use mai5 咪.
  • Negating a noun (X is not Y)? Use m4 hai6 唔係.

Common mistakes

Using m4 with completed actions

Saying "ngo5 m4 sik6 zo2" to mean "I didn't eat" is wrong. The correct form is "ngo5 mou5 sik6 我冇食"."m4" negates non past actions, not completed ones.

Confusing mou5 and mei6

"mou5 sik6" means "didn't eat" (a flat statement). "mei6 sik6" means "haven't eaten yet" (the eating is still expected). The difference matters in conversation.

Using m4 hai6 for verbs

"m4 hai6" is for negating noun statements. For verbs you use plain "m4". Saying "ngo5 m4 hai6 sik6 jyu4" is wrong. The correct form is "ngo5 m4 sik6 jyu4".

Continue reading on the blog