Het perfectum: hebben of zijn?
Past tense: hebben or zijn
A1 · Beginner · ≈ 22 min · setting: Amersfoort, Utrecht, Utrecht
When talking about the past, Dutch speakers almost always use the perfect tense: an auxiliary verb + a past participle. We already know how to form the past participle – now there's just one choice left: hebben or zijn. The list of verbs that take zijn is short, and it's worth learning it completely.
Ik heb gisteren in Amersfoort gewerkt.
Yesterday I worked in Amersfoort.
1Ik2. hebben / zijnheb3. Restgisteren in Amersfoort4. Deelwoordgewerkt.We zijn zaterdag naar Utrecht gefietst.
On Saturday we cycled to Utrecht.
1We2. hebben / zijnzijn3. Restzaterdag naar Utrecht4. Deelwoordgefietst.Gisteren heb ik de huisarts gebeld.
Yesterday I called the doctor.
1Gisteren2. hebben / zijnheb3. Restik de huisarts4. Deelwoordgebeld.Wat heb je in het weekend gedaan?
What did you do at the weekend?
1Wat2. hebben / zijnheb3. Restje in het weekend4. Deelwoordgedaan?
Yesterday I worked in Amersfoort.
On Saturday we cycled to Utrecht.
Yesterday I called the doctor.
What did you do at the weekend?
1. By default — hebben
Ik heb gisteren twee uur Nederlands geleerd.
Yesterday I studied Dutch for two hours.
We hebben op de markt kaas gekocht.
We bought cheese at the market.
Heb je de buren al ontmoet?
Have you already met the neighbours?
Zij heeft het formulier gisteren ingevuld.
She filled in the form yesterday.
2. When zijn is needed
zijn is used with verbs of movement from point A to point B and verbs of change of state, as well as a few individual words that you need to memorise.
| Werkwoord | Deelwoord | Voorbeeld |
|---|---|---|
| gaan | gegaan | Ik ben naar de markt gegaan. |
| komen | gekomen | Zij is te laat gekomen. |
| zijn | geweest | Ik ben in Nijmegen geweest. |
| blijven | gebleven | We zijn thuisgebleven. |
| worden | geworden | Hij is dertig geworden. |
| beginnen | begonnen | De cursus is al begonnen. |
| stoppen | gestopt | De bus is gestopt. |
| vertrekken | vertrokken | De trein is vertrokken. |
| aankomen | aangekomen | We zijn om acht uur aangekomen. |
| verhuizen | verhuisd | Ze zijn naar Utrecht verhuisd. |
| gebeuren | gebeurd | Er is iets gebeurd. |
| opstaan | opgestaan | Ik ben vroeg opgestaan. |
| Werkwoord | Deelwoord | Voorbeeld |
|---|---|---|
| gaan | gegaan | Ik ben naar de markt gegaan. |
| komen | gekomen | Zij is te laat gekomen. |
| zijn | geweest | Ik ben in Nijmegen geweest. |
| blijven | gebleven | We zijn thuisgebleven. |
| worden | geworden | Hij is dertig geworden. |
| beginnen | begonnen | De cursus is al begonnen. |
| stoppen | gestopt | De bus is gestopt. |
| vertrekken | vertrokken | De trein is vertrokken. |
| aankomen | aangekomen | We zijn om acht uur aangekomen. |
| verhuizen | verhuisd | Ze zijn naar Utrecht verhuisd. |
| gebeuren | gebeurd | Er is iets gebeurd. |
| opstaan | opgestaan | Ik ben vroeg opgestaan. |
Note: zijn and blijven themselves take zijn — ik ben geweest, we zijn gebleven.
Compare
Ik heb gisteren twee uur gelopen.
Yesterday I walked for two hours.
The activity itself — hebben.
Ik ben naar het station gelopen.
I walked to the station.
There's a direction — zijn.
We hebben in de Rijn gezwommen.
We swam in the Rhine.
Activity.
Hij is naar de overkant gezwommen.
He swam to the other side.
Movement from point to point.
3. Word order in questions and subordinate clauses
| Sentence type | Voorbeeld |
|---|---|
| Statement | Ik heb gisteren gewerkt. |
| Inversion | Gisteren heb ik gewerkt. |
| Yes/no question | Heb je gisteren gewerkt? |
| W-question | Wat heb je gisteren gedaan? |
| With omdat | …omdat ik gisteren heb gewerkt. |
| Negation | Ik heb gisteren niet gewerkt. |
| Sentence type | Voorbeeld |
|---|---|
| Statement | Ik heb gisteren gewerkt. |
| Inversion | Gisteren heb ik gewerkt. |
| Yes/no question | Heb je gisteren gewerkt? |
| W-question | Wat heb je gisteren gedaan? |
| With omdat | …omdat ik gisteren heb gewerkt. |
| Negation | Ik heb gisteren niet gewerkt. |
In a subordinate clause with omdat, both verb parts go to the end. Both orders are possible: heb gewerkt and gewerkt heb — in speech the second is even more common.
Dialoog — Maandagochtend op kantoor
Exchanging news after the weekend.
- Sanne
Wat heb je zaterdag gedaan?
What did you do on Saturday?
- Alex
We zijn naar de Veluwe gefietst en daarna hebben we in het dorp gegeten.
We cycled to the Veluwe, and then ate in the village.
gefietst with a direction → zijn; gegeten → hebben.
- Sanne
Leuk! Zijn jullie ook bij het theehuis geweest?
Great! And did you go to the tea house?
zijn geweest — “have been”.
- Alex
Ja, maar het was druk, dus we zijn snel weer vertrokken.
Yes, but it was crowded, so we left quickly.
- Sanne
En zondag?
And on Sunday?
- Alex
Zondag zijn we thuisgebleven. Ik heb eindelijk die kast opgeruimd.
On Sunday, we stayed home. I finally tidied up that cupboard.
blijven → zijn; opruimen → hebben.
- Sanne
Goed bezig! Ik ben vrijdag pas om elf uur thuisgekomen, dus ik heb het hele weekend uitgeslapen.
Well done! I only got home at eleven on Friday, so I spent the whole weekend catching up on sleep.
Goed bezig! — “well done”, a very common compliment.
4. Veelgemaakte fouten
✕ Not like this
Ik heb naar Utrecht gegaan.
✓ Correct
Ik ben naar Utrecht gegaan.
I went to Utrecht.
Why: gaan always takes zijn.
✕ Not like this
Ik ben gisteren gewerkt.
✓ Correct
Ik heb gisteren gewerkt.
I worked yesterday.
Why: werken is a regular verb, takes hebben.
✕ Not like this
Ik heb gebleven thuis.
✓ Correct
Ik ben thuisgebleven.
I stayed at home.
Why: blijven (“to stay”) takes ben, not heb. And gebleven goes at the end: thuisgebleven.
✕ Not like this
Heb je geweest in Nijmegen?
✓ Correct
Ben je in Nijmegen geweest?
Have you been to Nijmegen?
Why: “Been” is ben … geweest, not heb. And geweest goes right at the end.
✕ Not like this
Wij hebben opgestaan om zes uur.
✓ Correct
Wij zijn om zes uur opgestaan.
We got up at six o'clock.
Why: opstaan — change of state, takes zijn.
✕ Not like this
Ik heb gisteren de mail gelezen niet.
✓ Correct
Ik heb de mail gisteren niet gelezen.
I didn't read the email yesterday.
Why: niet goes before gelezen: the past form always stays last.
Woordenlijst
gisteren
yesterday
Gisteren heb ik gewerkt.
vorige week
last week
Vorige week zijn we verhuisd.
net
just nowspreektaal
Ik heb hem net gesproken.
eindelijk
finally
Ik heb de kast eindelijk opgeruimd.
Goed bezig!
Well done!spreektaal
Goed bezig, zeg!
het theehuispl. theehuizen
tea house (in the Veluwe)
We zijn bij het theehuis geweest.
| gisteren | yesterday Gisteren heb ik gewerkt. |
| vorige week | last week Vorige week zijn we verhuisd. |
| net | just nowspreektaal Ik heb hem net gesproken. |
| eindelijk | finally Ik heb de kast eindelijk opgeruimd. |
| Goed bezig! | Well done!spreektaal Goed bezig, zeg! |
| het theehuispl. theehuizen | tea house (in the Veluwe) We zijn bij het theehuis geweest. |
Oefening 1
Kies hebben of zijn in de juiste vorm.
Choose hebben or zijn in the correct form.
- 1Ik gisteren de hele dag gewerkt.
Yesterday I worked all day.
- 2We zaterdag naar Utrecht gefietst.
On Saturday we cycled to Utrecht.
- 3je ooit in Nijmegen geweest?
Have you ever been to Nijmegen?
- 4Zij het formulier al ingevuld.
She has already filled in the form.
- 5De trein om tien over acht vertrokken.
The train departed at 8:10.
- 6Wij zondag gewoon thuisgebleven.
On Sunday we just stayed home.
- 7jullie de buren al ontmoet?
Have you met the neighbours yet?
- 8Mijn zoon vorige maand achttien geworden.
My son turned eighteen last month.
Found a mistake or something unclear in this lesson? Send me a note →