Use _zodat_ to say "so that": it gives the purpose of an action or its result, while _opdat_ is a formal word for purpose only. _Zo_ plus an adjective plus _dat_ means "so ... that" (_zo moe dat_). After _zodat_, _opdat_ and that _dat_, the verb goes to the end of its clause.
The pattern
_Zodat_, _opdat_ and _dat_ start a subordinate clause (a part of the sentence that cannot stand on its own), so its verbs go to the end. In _zo ... dat_, the _zo_ and the adjective or adverb belong to the main clause: _Ik was zo moe_ | _dat ik meteen sliep_.
- _zodat_: "so that". Purpose (what you want to happen) or result (what actually happened).
- _opdat_: "so that, in order that". Purpose only, formal.
- _zo_ + adjective or adverb + _dat_: "so ... that". Something is strong enough to have a consequence.
- With a singular count noun, use _zo'n_ + noun + _dat_: _zo'n lange rij dat_. With plural nouns, use _zulke_ (_zulke lange rijen dat_); for quantity, use _zoveel_ (_zoveel mensen dat_, _zoveel water dat_). See [Zo'n, zulk and zulke](#/lesson/zon-zulk-zulke).
- Several verbs gather at the end together: _zodat iedereen het kan zien_. See [The order of verbs at the end](#/lesson/end-verb-order).
Examples
| Ik zet twee wekkers, zodat ik mijn trein niet mis. | I set two alarms so that I don't miss my train. |
|---|---|
| Sanne spreekt langzaam, zodat de nieuwe collega's alles kunnen volgen. | Sanne speaks slowly so that the new colleagues can follow everything. |
| De trein had twintig minuten vertraging, zodat Priya te laat bij de huisarts kwam. | The train was twenty minutes late, so Priya was late for the GP. |
| Het was erg glad op straat, zodat veel mensen de fiets lieten staan. | The streets were very slippery, so lots of people left their bikes at home. |
| De gemeente zet de regels online, opdat iedere inwoner ze kan nalezen. | The municipality puts the rules online so that every resident can read them. |
| Ik was gisteravond zo moe dat ik om negen uur al sliep. | Last night I was so tired that I was asleep by nine. |
| De soep was zo heet dat Yara tien minuten moest wachten. | The soup was so hot that Yara had to wait ten minutes. |
| Joris fietst zo hard dat de rest van de groep achterblijft. | Joris cycles so fast that the rest of the group falls behind. |
| Er stond zo'n lange rij bij de kassa dat Ahmed zonder boodschappen weer vertrok. | There was such a long queue at the checkout that Ahmed left again without any shopping. |
Why it works this way
English already makes this split: "so that" for a goal, "so tired that" for degree. Dutch follows it closely, with two twists. The conjunction _zodat_ is written as one word, while in _zo moe dat_ the adjective keeps _zo_ and _dat_ apart. And just like _omdat_ and _hoewel_, the words _zodat_, _opdat_ and _dat_ each open a subordinate clause, so the verb waits at the end (see [Subordinate clauses](#/lesson/subordinate-clauses)).
Think of _zo_ as a volume knob: _moe_ is tired, _zo moe_ is tired turned all the way up, and the _dat_ clause tells you what that volume caused.
You will also see _zo_ and _dat_ side by side as two separate words. Then _zo_ belongs to the main clause and is not part of a conjunction: _Het is nu eenmaal zo dat veel winkels om zes uur sluiten_ ("The fact is that many shops close at six"). So two words next to each other are not automatically _zodat_; only the conjunction for "so that" is glued.
Context decides whether _zodat_ means purpose or result. Purpose clauses often contain _kan_ or _kunnen_ (_zodat iedereen het kan zien_), while result clauses usually report what really happened (_zodat ik de bus miste_). German speakers: Dutch _zodat_ does the work of both sodass and damit.
With the same subject in both parts, _om ... te_ is often shorter: _Ik vertrek vroeg om op tijd te zijn._ When the subject changes, you need a full clause: _Ik vertrek vroeg, zodat de kinderen op tijd op school zijn._ More in [Om te: in order to](#/lesson/om-te).
_Opdat_ sounds like an official letter, and that is where you meet it: letters from the _gemeente_, policy texts, speeches. In conversation, people say _zodat_. If your language uses a special verb form after "so that", as Spanish and French do, relax: Dutch uses the normal present or past.
Remember: "so that" is one glued word, _zodat_. When _zo_ turns up an adjective or adverb, that word stands between _zo_ and _dat_: _zo moe dat_.
Watch out
- Not: _De trein had vertraging, zodat ik kwam te laat._ Say: _De trein had vertraging, zodat ik te laat kwam._ (the verb goes to the end after _zodat_)
- Not: _Ik was zo moe zodat ik meteen sliep._ Say: _Ik was zo moe dat ik meteen sliep._ (after _zo_ plus an adjective, use plain _dat_)
- Not: _Ik leg het nog een keer uit om jij het te begrijpen._ Say: _Ik leg het nog een keer uit, zodat jij het begrijpt._ (_om ... te_ cannot have its own subject)
- Not: _Het regende, zo ik bleef thuis._ Say: _Het regende, zodat ik thuisbleef._ (English "so" here is _zodat_ or _dus_, not _zo_)
- Not: _Er was een storing, opdat alle treinen stilstonden._ Say: _Er was een storing, zodat alle treinen stilstonden._ (_opdat_ only expresses purpose, never a result)
Quick check
- Choose _zodat_ or _dat_: _Ik was zo zenuwachtig voor het examen ... ik die nacht slecht sliep._
- Fix the sentence: _Neem een paraplu mee, zodat je wordt niet nat._
- Choose _zodat_ or _opdat_: _Er was een storing in het systeem, ... niemand kon inloggen._
- Choose _zodat_ or _om_: _Ik bel de huisarts morgen vroeg, ... ik nog een afspraak kan krijgen._
Answers
- _dat_ (after _zo_ plus an adjective you use _dat_)
- _Neem een paraplu mee, zodat je niet nat wordt._ (the verb goes to the end of the _zodat_ clause)
- _zodat_ (this is a result, and _opdat_ only expresses purpose)
- _zodat_ (a full clause with its own subject follows; _om_ needs _te_ plus an infinitive)
Use it today
Write three sentences about your week: one with _zodat_ for something you did on purpose, one with _zodat_ for something that went wrong, and one with _zo_ plus an adjective plus _dat_ about the weather. Read them aloud on your way to work and check that every verb after _zodat_ or _dat_ sits at the end.