A2Reviewed 2026-07-024 examples3 exercises4 checks

German Perfect Tense (Perfekt): haben or sein + Past Participle

How to build the everyday spoken past in German with haben or sein plus the past participle at the end of the sentence.

The Perfekt is the normal way Germans talk about the past in conversation. You build it with two pieces:

auxiliary (haben or sein) in position 2 + past participle (Partizip II) at the END.

Ich habe ein Buch gekauft. — I bought a book. Ich bin nach Hause gegangen. — I went home.

Which auxiliary? Most verbs take haben. Use sein for verbs of movement or change of state: gehen, kommen, fahren, and also bleiben and sein.

Building the participle:

Type Pattern Example
regular (weak) ge-…-t machen → gemacht
regular ge-…-t arbeiten → gearbeitet
strong ge-…-en gehen → gegangen
strong ge-…-en fahren → gefahren

Contrast for English speakers: English uses one auxiliary (have) for everything; German splits it between haben and sein. And unlike English, the participle jumps to the very end of the clause — the auxiliary stays in second position.

Examples

Grammatical analysisBase form derCaseNominativ (nominative)Gendermaskulin (masculine)NumberSingular (singular)Checked deterministically before build Grammatical analysisBase form MannCaseNominativ (nominative)Gendermaskulin (masculine)NumberSingular (singular)Checked deterministically before build Grammatical analysisBase form habenPerson3rd person singular (er/sie/es)TensePräsens (present)Checked deterministically before build ein Auto Grammatical analysisBase form kaufenTensePartizip II (past participle)Checked deterministically before build.

The man bought a car. (haben — buying is not movement)

Das Kind Grammatical analysisBase form seinPerson3rd person singular (er/sie/es)TensePräsens (present)Checked deterministically before build in die Schule Grammatical analysisBase form gehenTensePartizip II (past participle)Checked deterministically before build.

The child went to school. (sein — gehen is movement)

Grammatical analysisBase form meinenPerson1st person singular (ich)TensePräsens (present)Checked deterministically before build Mutter Grammatical analysisBase form habenPerson3rd person singular (er/sie/es)TensePräsens (present)Checked deterministically before build den ganzen Tag Grammatical analysisBase form arbeitenTensePartizip II (past participle)Checked deterministically before build.

My mother worked all day. (haben + regular participle gearbeitet)

Mein Vater Grammatical analysisBase form seinPerson3rd person singular (er/sie/es)TensePräsens (present)Checked deterministically before build mit Grammatical analysisBase form derCaseDativ (dative)Gendermaskulin (masculine)NumberSingular (singular)Checked deterministically before build Grammatical analysisBase form ZugCaseDativ (dative)Gendermaskulin (masculine)NumberSingular (singular)Checked deterministically before build nach Berlin Grammatical analysisBase form fahrenTensePartizip II (past participle)Checked deterministically before build.

My father travelled to Berlin by train. (sein — fahren is movement; strong participle gefahren)

Common mistakes

Not quite: Ich habe nach Hause gegangen.Correct: Ich bin nach Hause gegangen.

gehen is a verb of movement, so it takes sein, not haben. Movement/change-of-state verbs (gehen, kommen, fahren, bleiben, sein) use sein.

Not quite: Der Mann hat gekauft ein Auto.Correct: Der Mann hat ein Auto gekauft.

The past participle must go to the very END of the clause; the auxiliary haben/sein stays in position 2. Don't keep the participle next to the auxiliary as in English.

Not quite: Meine Mutter hat gearbeit.Correct: Meine Mutter hat gearbeitet.

Verbs whose stem ends in -t (arbeiten) insert an -e- before the participle ending: ge-arbeit-et, not gearbeit. The full ending is -et here.

Related topics

Practice

  1. Gestern ___ ich meine Hausaufgaben gemacht.

  2. Am Wochenende ___ wir nach Berlin gefahren.

  3. Meine Schwester ist heute früh ___.