Cantonese aspect markers: zo2, gwo3, gan2, and hai2

Cantonese has no past, present, or future tenses. Verbs do not change form. Instead, Cantonese uses aspect markers to show whether an action is completed, ongoing, or has been experienced. This is a smaller system than English tenses, and surprisingly intuitive once you see it.

The short versionzo2 咗 marks completion. gwo3 過 marks an action you have experienced at some point. gan2 緊 marks an action in progress right now. hai2 dou6 喺度 also marks ongoing action and emphasises the present moment. Time comes from context words like "yesterday" or "tomorrow", not from the verb.

How aspect differs from tense

English has tense. "I ate", "I am eating", and"I will eat" all use different verb forms to point to a time. Cantonese verbs do not change at all. "sik6 食" (to eat) is the same word in every situation.

Cantonese expresses time in two ways. First, with time words like"gam1 jat6 (today)", "cam4 jat6 (yesterday)","ting1 jat6 (tomorrow)". Second, with aspect markers that attach to the verb to show whether the action is finished, ongoing, or once experienced.

That is the key insight: Cantonese cares less about when something happened and more about whether it is complete, in progress, or part of life experience. Once you stop trying to translate English tenses, the system feels lighter.

zo2 咗: completion

"zo2" is placed right after the verb and means the action has been completed. It is the closest thing Cantonese has to a past tense, but it really marks completion, not time. You can use it for past actions, near future actions that will be done, or anytime the point is that something is finished.

ngo5 sik6 zo2 faan6
I ate / I have eaten
Completed action
keoi5 maai5 zo2 bun2 syu1
She bought the book
ngo5 zou6 jyun4 zo2 gung1 fo3
I finished my homework
zo2 plus the resultative jyun4 (to finish)
The mou5 trap, again

The negative of "sik6 zo2 (ate)" is not "m4 sik6 zo2". It is "mou5 sik6 (didn't eat)". The aspect marker disappears in the negative. See the negation guide for more.

gwo3 過: experience

"gwo3" marks an action you have done at some point in your life, like English "have ever". The action does not have to be recent. It might have happened once, years ago, but the experience counts.

ngo5 heoi3 gwo3 jat6 bun2
I have been to Japan
nei5 sik6 gwo3 lau4 lin4 mei6?
Have you ever eaten durian?
ngo5 mou5 tai2 gwo3 tou3 hei3
I have never seen the movie
Negative of experience uses mou5
zo2 vs gwo3

"sik6 zo2 (ate)" talks about a specific completed eating."sik6 gwo3 (have eaten before)" talks about life experience."I ate sushi" = "sik6 zo2 syu6 si1". "I have eaten sushi (before)" = "sik6 gwo3 syu6 si1".

gan2 緊: in progress

"gan2" marks an action in progress, like English "am ing". It comes right after the verb.

ngo5 sik6 gan2 faan6
I'm eating
keoi5 zou6 gan2 gung1 fo3
He's doing homework
lok6 gan2 jyu5
It's raining

hai2 dou6 喺度: at this moment

"hai2 dou6" (literally "at this place") goes before the verb to emphasise that the action is happening right now. You can combine it with "gan2" for extra emphasis.

ngo5 hai2 dou6 zou6 je5
I'm working (right now)
keoi5 hai2 dou6 sik6 gan2 faan6
He's eating right now
Combined with gan2 for double emphasis on right now
nei5 hai2 dou6 zou6 gan2 me1?
What are you doing right now?

Putting time and aspect together

Time words go at the start of the sentence or right before the verb. The aspect marker stays on the verb. Together they paint a clear picture without changing the verb.

cam4 jat6 ngo5 heoi3 zo2 gaai1
Yesterday I went out
Time word cam4 jat6 plus completion zo2
ting1 jat6 ngo5 wui5 heoi3 hoeng1 gong2
Tomorrow I will go to Hong Kong
Future does not need an aspect marker, just the time word and the modal wui5
ji4 gaa1 ngo5 sik6 gan2 faan6
Right now I'm eating
ji4 gaa1 (now) plus gan2 (in progress)

Quick decision guide

  • Did the action finish? Use zo2 咗.
  • Have you done it at some point in life? Use gwo3 過.
  • Is it happening right now? Use gan2 緊, or combine with hai2 dou6 喺度.
  • Will it happen later? No aspect marker is needed. Use a future time word and the modal verb wui5 會 if you want to be explicit about future.

Common mistakes

Using zo2 in the negative

"m4 sik6 zo2" is not correct. The negative of completed action drops the aspect marker and uses "mou5":"mou5 sik6".

Mixing zo2 and gwo3

"I ate sushi yesterday" uses "zo2" because it is a specific completed action. "I have tried sushi before" uses"gwo3" because it is a life experience. They are not interchangeable.

Forgetting that future needs no marker

You do not need any aspect marker for the future. "ting1 jat6 ngo5 sik6 syu6 si1 (tomorrow I eat sushi)" works on its own. Add"wui5 (will)" only if you want to stress intention or certainty.

Trying to find a present tense

"I eat" as a habit does not need any aspect marker."ngo5 sik6 jyu4 (I eat fish)" is a complete habit statement. You only add an aspect marker when the action is completed, in progress, or experienced.

Continue reading on the blog