Skip to content

Perfekt (Past Tense) ​

The everyday past tense in German — how to say what happened.

What is the Perfekt? ​

The Perfekt is the tense Germans use to talk about the past in spoken language and informal writing (messages, emails). For almost everything you did yesterday, you use the Perfekt.

It is built from two parts:

1. a helper verb — haben or sein, conjugated in the present
2. the past participle (Partizip II) — which goes to the end of the sentence

Ich habe Pizza gegessen. = I ate / have eaten pizza.
The helper (habe) is in position 2; the participle (gegessen) is at the very end. This "bracket" around the sentence is a core feature of German.

Building the Partizip II — regular (weak) verbs ​

Most verbs are regular (weak). Their participle follows one pattern:

ge- + verb stem + -t

Take the infinitive, remove -en to get the stem, then wrap it in ge-…-t: machen → mach → gemacht.
InfinitivePartizip IIEnglish
machengemachtdone/made
lernengelerntlearned
kaufengekauftbought
spielengespieltplayed
arbeitengearbeitetworked
Ich habe gestern Fußball gespielt.
I played football yesterday.
haben = helper (habe) · spielen → gespielt · gestern = yesterday. Helper in position 2, participle at the end.
Wir haben viel gelernt.
We learned a lot.
lernen → gelernt. Stems ending in -t/-d add an extra -e-: arbeiten → gearbeitet.

Building the Partizip II — irregular (strong) verbs ​

Many common verbs are irregular (strong). Their participle ends in -en (not -t) and the stem vowel often changes. There is no shortcut — you memorize these, and they are worth it because they are the verbs you use most.

ge- + (changed) stem + -en
InfinitivePartizip IIEnglish
essengegesseneaten
trinkengetrunkendrunk
sehengesehenseen
lesengelesenread
schreibengeschriebenwritten
sprechengesprochenspoken
nehmengenommentaken
Ich habe einen Kaffee getrunken.
I drank a coffee.
trinken → getrunken (vowel change i → u, ending -en).
Hast du den Film gesehen?
Have you seen the film?
sehen → gesehen. In a question the helper (hast) comes first.

haben or sein? ​

Most verbs use haben as the helper. But some verbs use sein. Use sein when the verb shows:

1. movement from A to B — gehen, kommen, fahren, fliegen, laufen, reisen
2. a change of state — aufstehen, einschlafen, aufwachen, sterben, werden
3. the three special verbs — sein (gewesen), bleiben (geblieben), werden (geworden)

A memory hook: if you moved somewhere or changed into a new state, use sein. Otherwise, haben.
Ich bin nach Berlin gefahren.
I went (drove) to Berlin.
fahren → gefahren, with sein because it is movement A → B. "Ich bin gefahren," never "ich habe gefahren."
Er ist um sieben Uhr aufgestanden.
He got up at seven o'clock.
aufstehen → aufgestanden, with sein (change of state: lying → standing). Separable: ge- goes in the middle.
Wir haben einen Kuchen gebacken.
We baked a cake.
backen → gebacken, with haben — no movement, no change of state.
Ich bin zu Hause geblieben.
I stayed at home.
bleiben → geblieben takes sein even though nothing moves — it is one of the three special verbs (sein, bleiben, werden).

Verbs without ge-: separable, inseparable, and -ieren ​

Three groups form the participle a little differently:

Separable verbs put ge- between the prefix and the stem: aufstehen → aufgestanden, einkaufen → eingekauft.

Inseparable verbs (prefixes be-, ver-, er-, ent-, ge-, zer-) take no ge-: verstehen → verstanden, bezahlen → bezahlt, erklären → erklärt.

Verbs ending in -ieren take no ge-: studieren → studiert, telefonieren → telefoniert, funktionieren → funktioniert.
Wir haben im Supermarkt eingekauft.
We shopped at the supermarket.
einkaufen (separable) → eingekauft — ge- sits between "ein" and "kauft".
Ich habe die Rechnung bezahlt.
I paid the bill.
bezahlen (inseparable be-) → bezahlt — no ge-.
Sie hat in Berlin studiert.
She studied in Berlin.
studieren → studiert — verbs in -ieren never take ge-.

war and hatte — the simple past of sein and haben ​

Two verbs are almost always used in the Präteritum (simple past), not the Perfekt: sein and haben. Saying "ich bin gewesen" / "ich habe gehabt" is possible but sounds heavy — Germans say war and hatte instead. The same is true for modal verbs (konnte, musste, wollte).
Personsein → warhaben → hatte
ichwarhatte
duwarsthattest
er/sie/eswarhatte
wirwarenhatten
ihrwarthattet
sie/Siewarenhatten
Gestern war ich krank.
Yesterday I was ill.
war = was (sein). Preferred over "bin gewesen" in everyday speech.
Wir hatten keine Zeit.
We had no time.
hatten = had (haben, wir-form). Preferred over "haben gehabt".
The Perfekt in one line

haben or sein (position 2) + Partizip II (at the end).
Regular: ge-…-t (gemacht). Irregular: ge-…-en (gegessen).
Use sein for movement or change of state (plus sein, bleiben, werden); otherwise haben.
For "was" and "had," use war and hatte, not the Perfekt.