The pattern
To guess about the past, use a modal (a verb like moeten or kunnen) in the present and put the participle with hebben or zijn at the end. For a missed chance, put had (singular) or hadden (plural) in second place, with moeten or kunnen plus an infinitive at the end.
- Must have (a confident guess): Ze moet de bus gemist hebben. Use the helper verb the main verb takes in the perfect tense (ik heb gewerkt): gemist hebben, but vertrokken zijn. See hebben or zijn.
- May have (a cautious guess): Ze kan de bus gemist hebben, or more tentatively Ze zou de bus gemist kunnen hebben. Negative: Dat kan ze niet gezegd hebben (She can't have said that).
- Should have (regret or criticism): Je had het eerder moeten zeggen. With a plural subject: We hadden het eerder moeten zeggen.
- Could have (an unrealized possibility): Het had erger kunnen zijn.
- Word order: in a guess, participle and helper can swap (gemist hebben or hebben gemist). After had or hadden, the modal normally comes first (moeten zeggen). In a subordinate clause (after dat, omdat and the like), the finite verb (the one that agrees with the subject) joins the group at the end: dat ze de bus gemist moet hebben, dat je het had moeten zeggen.
Examples
| Sanne reageert niet in de groepsapp, dus ze moet het bericht gemist hebben. | Sanne isn't reacting in the group chat, so she must have missed the message. |
| Joris komt niet opdagen. Hij moet het vergeten zijn. | Joris isn't turning up. He must have forgotten. |
| De straat is kletsnat, dus het moet vannacht flink geregend hebben. | The street is soaking wet, so it must have rained hard last night. |
| Je had het eerder moeten zeggen, dan hadden we iets anders gepland. | You should have said so sooner, then we would have planned something else. |
| Carlos en Mei hadden hun fietsen bij het station op slot moeten zetten: nu zijn ze allebei gestolen. | Carlos and Mei should have locked their bikes at the station: now both have been stolen. |
| Je had me ook even kunnen appen. | You could at least have sent me a message. |
| Ahmed is van zijn fiets gevallen, maar het had veel erger kunnen aflopen. | Ahmed fell off his bike, but it could have ended much worse. |
| Heeft de bezorger het pakketje bij de buren afgegeven? Dat zou kunnen. | Did the courier leave the parcel with the neighbours? Could be. |
| Fatima vindt dat de huisarts haar veel eerder had moeten doorverwijzen. | Fatima thinks the GP should have referred her much sooner. |
| Je had het moeten zien: op Yara's verjaardag stond Bas op tafel te dansen. | You should have seen it: at Yara's birthday, Bas was dancing on the table. |
Why it works this way
Ask when the thinking happens. You stand on the platform now and draw a conclusion about earlier, so the modal stays in the present and the past sits at the end (gemist hebben). English "must have" works the same way, so this half tends to feel friendly.
A missed chance is different: the moment of choice lies in the past, and it went the other way. Dutch marks that with had or hadden, the same unreal past as in Als ik het had geweten (see If only). The modal then stays an infinitive instead of becoming a participle, so two infinitives stand in a row: a double infinitive. The ordinary perfect does this too: Ik heb moeten werken, never Ik heb gemoeten werken (more in verb clusters).
On their own, these two differ by one small verb:
- Ik heb moeten werken. I had to work, and I did.
- Ik had moeten werken. On its own, this normally means: I should have worked, but I didn't.
In a story told in the past, context can turn had moeten into a plain past perfect: Hij was kapot, want hij had de hele dag moeten werken (he had had to work all day, and did).
Remember: find where the past sits. At the end (gemist hebben), you are a detective reading clues. Up front on had or hadden, you are looking back at a road not taken.
Watch out
错误Ze moet hebben de bus gemist.
正确Ze moet de bus gemist hebben.
the object comes before the verbs at the end, unlike English
错误Hij moet al naar huis gegaan hebben.
正确Hij moet al naar huis gegaan zijn.
English always says have, but gaan takes zijn in the perfect
错误Je had moeten het eerder zeggen.
正确Je had het eerder moeten zeggen.
only had stays in second place; both infinitives close the sentence
错误Ik had het gemoeten zeggen.
正确Ik had het moeten zeggen.
next to another verb, the modal stays moeten, with no ge-
错误Dat had ik moeten geweten.
正确Dat had ik moeten weten.
English says known, but Dutch needs the infinitive weten
Quick check
- Choose hebben or zijn: Het is zo stil bij de buren. Ze moeten al op vakantie ... vertrokken.
- Choose heeft or had: Emma kwam te laat bij de huisarts, want ze vertrok pas om half negen. Ze ... eigenlijk om acht uur moeten vertrekken.
- Fix the sentence: Je had moeten mij waarschuwen.
- Sanne asks: Is de vergadering naar donderdag verplaatst? You are not sure, but it is possible. Choose kunnen or moeten: Dat zou ...
显示答案
- zijn: vertrekken takes zijn in the perfect (ze zijn vertrokken); here the helper simply comes before the participle.
- had: leaving at eight never happened; heeft moeten would mean she really had to leave then and did.
- Je had mij moeten waarschuwen. Only had stays in second place; the object goes before the verbs at the end.
- kunnen: Dat zou kunnen means "that's possible"; Dat zou moeten means "that's supposed to be the case".
Use it today
Pick one small thing that went wrong this week, like a forgotten umbrella or a missed bus. Say one detective guess (Ik moet hem in de trein hebben laten liggen), one regret (Ik had eerder moeten vertrekken) and one honest maybe (Het zou kunnen dat ...) out loud.