Most Dutch verbs are weak: they form the simple past not by changing the vowel, but by adding a dental ending — -te or -de — to the stem. The only real decision is which of the two you add, and Dutch settles it with one of the most famous mnemonics in the language: 't kofschip. Get the stem right (you already learned how in the infinitive and the stem), test its final consonant, and the ending falls out automatically. This page is about the simple past; the very same rule decides the -t / -d of the past participle, which is covered separately in participle formation.
How the weak past is built
Take the stem (infinitive minus -en, re-spelled), add -te or -de for the singular, and add an extra -n for the plural. That's it — there is no separate ending for ik, jij, and hij in the past tense; the singular form is shared across all three persons. Dutch has no third-person -t in the past.
| Person | werken (stem werk) | horen (stem hoor) |
|---|---|---|
| ik | werkte | hoorde |
| jij / je | werkte | hoorde |
| hij / zij / het | werkte | hoorde |
| wij / jullie / zij | werkten | hoorden |
So the singular is ik/jij/hij werkte and the plural is wij/jullie/zij werkten — pronounced almost identically (the final -n is usually swallowed in speech), but spelled with the extra n. This is a relief compared to English, where the past of to work is worked for every person; Dutch is just as regular, only with two possible endings instead of one.
Ik werkte vroeger bij een bank in Utrecht.
I used to work at a bank in Utrecht. — werk is voiceless (k), so -te.
We hoorden gisteren een vreemd geluid op zolder.
We heard a strange noise in the attic yesterday. — hoor ends in a vowel-like r (voiced), so -de, plural -den.
The rule: 't kofschip
The mnemonic word 't kofschip (an old type of sailing ship) gathers all the voiceless consonants that trigger -te. If the stem ends in one of these sounds, you add -te(n):
t – k – f – s – ch – p
(the consonants in 't kofschip). For every other ending — any voiced consonant like b, d, g, l, m, n, r, v, z, or a vowel — you add -de(n). A modern variant of the mnemonic, 't fokschaap ("the breeding sheep"), adds nothing new; it's the same six consonants in a different order, easier for some people to remember.
| Stem ends in (voiceless: 't kofschip) | → -te | Stem ends in (anything else) | → -de |
|---|---|---|---|
| werk (k) | werkte | hoor (r) | hoorde |
| maak (k) | maakte | speel (l) | speelde |
| stop (p) | stopte | leef (f → underlying v!) | leefde |
Hij maakte zijn huiswerk pas om middernacht af.
He didn't finish his homework until midnight. — maak ends in k → -te.
De bus stopte precies voor onze deur.
The bus stopped right in front of our door. — stop ends in p → -te.
Ze speelde als kind altijd in de tuin.
As a child she always played in the garden. — speel ends in l (voiced) → -de.
The subtlety that decides everything: test the stem, not the infinitive
Here is the trap that the mnemonic alone won't save you from. You must apply 't kofschip to the final consonant of the stem, and — crucially — you must check that consonant's underlying (voiced or voiceless) identity, the one that surfaces when a vowel follows it. The infinitive's spelling can lie to you in two ways.
The classic example is leven ("to live"). Its stem is leef — the v of leven devoices to f at the end of the word (see final devoicing in spelling). If you naively look at leef and see an f (a 't kofschip consonant), you'll wrongly pick -te and write the non-word leefte. But the f is only a disguise: extend the stem and the real sound returns — leven, ik leef / wij leven — revealing an underlying v, which is voiced. Voiced → -de. So the past is leefde.
Mijn opa leefde nog toen ik geboren werd.
My grandfather was still alive when I was born. — stem leef hides an underlying v (leven), which is voiced → leefde.
The same disguise hits stems with a hidden z. Verven ("to paint") has the stem verf, but the f is a devoiced v (the wij-form is verven), so the past is verfde, never verfte.
We verfden het hek vorige zomer helemaal opnieuw.
We repainted the fence completely last summer. — verf hides an underlying v → verfde, not verfte.
The mirror case is razen ("to race / to rage"), stem raas. The s you see is a devoiced z (the wij-form is razen), which is voiced, so the past is raasde. Compare it to a stem with a genuine s — like blussen ("to extinguish"), stem blus — whose s is a real, underlying s (wij blussen, but with double s; the singular s is voiceless), giving bluste.
De storm raasde de hele nacht over het land.
The storm raged across the country all night. — raas hides an underlying z (razen) → raasde.
Why the rule exists at all
This isn't an arbitrary spelling convention — it mirrors what your mouth actually does. A voiceless consonant (k, p, s…) blends naturally into a voiceless -te; a voiced consonant or vowel blends into a voiced -de. Try saying werkde or speelte out loud and you'll feel the mismatch: your vocal cords would have to switch on and off awkwardly. The 't kofschip rule is just voicing assimilation written down. English does exactly the same thing in speech, even though the spelling hides it: worked ends in a "t" sound (after voiceless k), but played ends in a "d" sound (after voiced l) — you've been doing the Dutch rule in English your whole life without noticing. Dutch simply spells the difference out.
Toen ik klein was, woonde ik vlak bij zee.
When I was little, I lived right by the sea. — woon ends in n (voiced) → woonde.
De docent legde het nog een keer rustig uit.
The teacher explained it calmly one more time. — leg ends in g (voiced) → legde.
Common Mistakes
Every error below comes from one of two things: choosing the wrong suffix, or testing the wrong consonant.
❌ Ik leefte daar drie jaar.
Wrong — leef hides an underlying voiced v (leven); a voiced stem takes -de.
✅ Ik leefde daar drie jaar.
I lived there for three years.
❌ We verften de muur wit.
Wrong — the f in verf is a devoiced v (verven), so the stem is voiced → -de.
✅ We verfden de muur wit.
We painted the wall white.
❌ Hij werkde de hele zomer door.
Wrong — werk ends in voiceless k, a 't kofschip consonant → -te.
✅ Hij werkte de hele zomer door.
He worked all summer long.
❌ Zij speelte heel mooi piano.
Wrong — speel ends in voiced l, which is not in 't kofschip → -de.
✅ Zij speelde heel mooi piano.
She played the piano beautifully.
❌ Wij hoorde het nieuws op de radio.
Wrong — the plural needs the extra -n: hoorden, not hoorde.
✅ Wij hoorden het nieuws op de radio.
We heard the news on the radio.
Key Takeaways
- Weak past = stem + -te(n) or stem + -de(n); the singular is shared by ik/jij/hij, the plural adds -n.
- 't kofschip (t, k, f, s, ch, p) lists the voiceless consonants that take -te; everything else (voiced consonants and vowels) takes -de.
- Apply the rule to the stem's underlying final consonant, recovered from the wij-form: leven → leef → leefde, verven → verf → verfde, razen → raas → raasde — all -de, because the f/s hide a voiced v/z.
- The rule is real phonetics, not arbitrary: voiceless blends with -te, voiced with -de — exactly what English does in speech with worked vs played.
- The same 't kofschip logic chooses the -t / -d of the past participle; see participle formation.
Now practice Dutch
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Dutch→Related Topics
- Weak vs Strong Verbs: The Big DivideA2 — Every Dutch verb is either weak (regular: add a -te/-de suffix and a ge-...-t/-d participle) or strong (it changes its stem vowel, like zingen → zong → gezongen) — the same ablaut split English has in sing/sang/sung.
- Strong Verbs: Vowel Change in the PastB1 — How Dutch strong verbs form the simple past by changing the stem vowel, and how their past participle ends in -en — including the singular/plural vowel split that most resources leave out.
- Forming the Past Participle (ge-...-t/-d/-en)A2 — How to build the Dutch past participle: weak verbs take ge-...-t/-d (decided by 't kofschip), strong verbs take ge-...-en with a vowel change, and verbs with an unstressed prefix drop the ge- altogether.
- The Infinitive and the StemA1 — How to derive a Dutch verb's stem from its infinitive — not just dropping -en, but re-spelling for closed syllables and final devoicing.
- Spelling D/T and V/F, Z/SA2 — Why you write hond (not hont), hij wordt (with a silent t), and brief (not brieve) — Dutch spells the underlying consonant recovered from a related form, even when you can't hear it.