German · grammar

German Perfect Tense: Haben or Sein, Plus the Past Participle

The German perfect tense combines conjugated haben or sein with a past participle: Ich habe gelernt, Ich bin gekommen. It is common for talking about past events in conversation. Most verbs use haben; many intransitive changes of place or state use sein, as do sein and bleiben. Learn the auxiliary and participle with each common verb, including exceptions.

By Gora Academy · Editorial policy

To say what happened yesterday, German often needs two verb parts. Ich habe gestern gearbeitet means I worked yesterday. The helping verb tells you about the subject; the participle gives you the past action.

Four useful pairs

InfinitivePerfect form with er / sieMeaning
lernenhat gelerntlearned / studied
essenhat gegessenate / has eaten
gehenist gegangenwent / has gone
bleibenist gebliebenstayed / has stayed

A participle is a verb form used here with an auxiliary, a helping verb, to build the tense. German perfect does not map exactly to English present perfect. Ich habe gestern gelernt naturally translates as I studied yesterday, although English “I have studied yesterday” is normally wrong.

Build the regular participle

For many regular verbs, use ge + stem + t: machen → gemacht, lernen → gelernt. Some need an extra e: arbeiten → gearbeitet. Strong verbs often have -en and a changed stem: trinken → getrunken, schreiben → geschrieben. Learn those forms rather than deriving every participle from the present.

Verbs ending in -ieren omit ge: studieren → studiert. Inseparable-prefix verbs do too: besuchen → besucht. With a separable prefix, ge often sits inside: einkaufen → eingekauft. The prefix pattern matters as much as the ending.

Choose haben or sein

Haben covers many activities and verbs with accusative objects: Ich habe ein Buch gelesen — I read a book. Sein appears with many intransitive verbs expressing a change of location or state: Ich bin angekommen — I arrived; Ich bin eingeschlafen — I fell asleep. Intransitive means the construction has no direct accusative object.

Sein and bleiben also use sein: Ich bin hier gewesen, Ich bin zu Hause geblieben. “Movement” alone is too rough a rule. For example, Ich habe getanzt uses haben. Fahren can use sein for travelling and haben in transitive uses such as driving a vehicle. Check the construction, not just the image in your head.

There is regional variation with certain verbs, including sitzen and stehen. Standard teaching for Germany commonly uses haben for these; Austrian and southern usage can use sein. Recognising the variation is more useful than calling every different auxiliary an error.

Put the verb parts in place

Gestern habe ich Kaffee getrunken — Yesterday I drank coffee. Habe stays second and getrunken comes later. For a question: Hast du Kaffee getrunken? For a standard weil clause: … weil ich Kaffee getrunken habe. The auxiliary now goes to the end.

A short past account

Ich bin nach Hause gegangen. Dann habe ich gekocht. Ich habe gut geschlafen.
I went home. Then I cooked. I slept well.

Complete Ich ___ gekommen and Wir ___ gearbeitet. Answers: bin and haben. Learn the full pairs kommen–ist gekommen and arbeiten–hat gearbeitet; they save you a fresh decision every time you tell a story.

Continue learning

Browse all 25 German guides