TOPIC · Tenses (Zeitformen)
Present perfect tense with sein or haben
After this lesson you can reliably choose between sein and haben in the Perfekt and form common example sentences correctly.
In this lesson you learn when to use the auxiliary verb sein and when to use haben in the German present perfect (Perfekt). You need the Perfekt all the time to talk about past events in everyday life.
Basic structure of the Perfekt
The Perfekt is made of two parts:
- a finite form of haben or sein
- the Partizip II (past participle) of the main verb (often „ge-“ + verb stem + „-t“ or „-en“)
Examples:
- Ich habe Kaffee gekocht. (I made coffee.)
- Er ist gestern spät nach Hause gekommen. (He came home late yesterday.)
When do we use haben?
Most German verbs use haben in the Perfekt.
Typical with haben:
- transitive verbs (with an accusative object): Ich habe das Buch gelesen. (I read the book.)
- many verbs without a change of direction: Ich habe geschlafen. (I slept.)
- reflexive verbs: Ich habe mich geduscht. (I took a shower.)
| Verb in infinitive | Sentence in Perfekt | Meaning in English |
|---|---|---|
| lesen | Vor einer Woche hat sie das Buch gelesen. | A week ago she read the book. |
| finden | Wir haben einen neuen Freund gefunden. | We have found a new friend. |
| vorbereiten | Sie haben das Essen vorbereitet. | They have prepared the food. |
| arbeiten | Er hat gestern bis 18 Uhr gearbeitet. | He worked until 6 p.m. yesterday. |
| telefonieren | Ich habe lange mit meiner Mutter telefoniert. | I was on the phone with my mother for a long time. |
Tip: If you are unsure, haben is often correct – except for the typical sein-verbs below.
When do we use sein?
sein is used mainly with three groups of verbs:
- motion verbs with a change of direction (kommen, gehen, fahren, fliegen, laufen, reisen, umziehen …)
- verbs of change of state (aufwachen, einschlafen, sterben, wachsen …)
- the verbs sein, bleiben, werden
| Verb in infinitive | Sentence in Perfekt | Meaning in English |
|---|---|---|
| fahren | Er ist nach Berlin gefahren. | He went / drove to Berlin. |
| gehen | Sie ist gestern früh ins Bett gegangen. | She went to bed early yesterday. |
| kommen | Wir sind spät nach Hause gekommen. | We came home late. |
| aufwachen | Wir sind um sieben Uhr aufgewacht. | We woke up at seven o’clock. |
| passieren | Was ist passiert? | What happened? |
| bleiben | Er ist den ganzen Tag zu Hause geblieben. | He stayed at home all day. |
Special verbs: sein, haben, modal verbs
In everyday German, speakers very often use the Präteritum (simple past) instead of the Perfekt for sein, haben and most modal verbs (können, müssen, wollen, dürfen, sollen, mögen).
| Sentence in Präteritum | Meaning in English |
|---|---|
| Letzte Woche waren wir im Urlaub. | Last week we were on vacation. |
| Er musste gestern arbeiten. | He had to work yesterday. |
Perfekt is possible (Er hat gestern arbeiten müssen.), but often sounds more colloquial or more emphatic.
Verbs with both auxiliaries
Some verbs can take either sein or haben. The meaning often changes slightly.
Basic rule:
- with sein: focus on movement / change of place
- with haben: focus on the activity itself
| Verb | Example with sein | Example with haben | Meaning in English |
|---|---|---|---|
| tanzen | Wir sind die ganze Nacht auf der Party getanzt. | Wir haben die ganze Nacht auf der Party getanzt. | In colloquial German sein is possible, in standard German haben is usual. |
| schwimmen | Ich bin im See geschwommen. | Ich habe zwei Kilometer geschwommen. | sein = movement in the water, haben = emphasised distance / performance |
For A1/A2 it is safe to remember: with tanzen and schwimmen, haben is always correct.
Knowledge test
Present perfect tense with sein or haben
- 1.
__________ Sie einen Tisch im Restaurant reserviert?
- 2.
Wie lange ______der Zug nach China gefahren?
- 3.
Was ____ du schon gekauft?
- 4.
Herr Halen ______ am Montag zu Hause geblieben.

