German Present Perfect (Perfekt)
Form the Perfekt with haben or sein, place the participle correctly and tell people about your weekend.
The Perfekt is the everyday spoken past in German. 'Ich habe gegessen' can mean 'I ate', 'I have eaten' or 'I did eat'.
It has two parts: haben or sein, conjugated, in position 2, and the past participle at the very end.
haben or sein + participle at the end
The helper verb takes its normal present-tense form. The participle never changes.
Perfekt of kaufen
- ichhabe gekauft
- duhast gekauft
- er/sie/eshat gekauft
- wirhaben gekauft
- ihrhabt gekauft
- sie/Siehaben gekauft
Perfekt of fahren
- ichbin gefahren
- dubist gefahren
- er/sie/esist gefahren
- wirsind gefahren
- ihrseid gefahren
- sie/Siesind gefahren
Ich habe gestern einen Film gesehen.
I watched a film yesterday.
Wir sind am Wochenende nach Hamburg gefahren.
We went to Hamburg at the weekend.
Word order: the sentence bracket
Everything else sits between the helper verb and the participle. In a subordinate clause the helper verb moves to the very end.
- Main clause: helper in position 2, participle last
- Yes/no question: helper first
- After weil or dass: participle, then helper
Hast du die Mail schon gelesen?
Have you read the email yet?
Ich bin müde, weil ich schlecht geschlafen habe.
I'm tired because I slept badly.
haben or sein?
Most verbs use haben. Verbs of movement from A to B, changes of state, and sein, bleiben and passieren use sein.
Common verbs with sein
- gehenist gegangengo, walk
- kommenist gekommencome
- fliegenist geflogenfly
- aufstehenist aufgestandenget up
- einschlafenist eingeschlafenfall asleep
- bleibenist gebliebenstay
- seinist gewesenbe
- passierenist passierthappen
Sie ist um sechs aufgestanden.
She got up at six.
Was ist passiert?
What happened?
Perfekt or Präteritum when speaking
In conversation, use the Perfekt for almost every verb. Only sein, haben and the modal verbs usually stay in the Präteritum: ich war, ich hatte, ich musste.
Ich war krank und habe den ganzen Tag geschlafen.
I was ill and slept all day.
Wir hatten keine Zeit, deshalb haben wir Pizza bestellt.
We had no time, so we ordered pizza.
Common mistakes
✗
Ich habe nach Berlin gefahren.✓ Ich bin nach Berlin gefahren.
Movement to a place takes sein.
✗
Ich habe gegessen eine Pizza.✓ Ich habe eine Pizza gegessen.
The participle goes to the end.
✗
Er hat gebleibt.✓ Er ist geblieben.
bleiben is strong and takes sein.
✗
Gestern ich habe gearbeitet.✓ Gestern habe ich gearbeitet.
The helper verb stays in position 2.
Questions learners ask
Is the German Perfekt the same as the English present perfect?
No. German uses it for finished past events too, so 'Ich habe ihn gestern gesehen' is correct, while English needs 'I saw him yesterday'.
How do I know if a verb takes haben or sein?
Most take haben. Use sein for movement from A to B, changes of state like einschlafen, and for sein, bleiben and passieren.
Do Germans speak in the Perfekt or the Präteritum?
Mostly the Perfekt, especially in the south. The exceptions are war, hatte and modal verbs like konnte and musste, which are normal in speech.