A2

Perfect Tense with *haben* in German

Perfekt mit haben

This article is part of the German grammar tree on Settemila Lingue.

In Brief

German commonly talks about completed past events with the Perfekt: a present-tense form of haben plus a past participle (a verb form such as gemacht or gesehen). Conjugate haben for the subject and normally put the participle at the end: Ich habe gestern gearbeitet. This can mean “I worked yesterday,” not only “I have worked.”

Overview

The Perfekt is the everyday past tense for most verbs in spoken German. It also appears frequently in informal messages, emails, and conversations reproduced in writing. At A2, the essential pattern is straightforward: choose the correct form of haben, then place the past participle at the end of the clause.

English has a similar-looking construction in “I have eaten,” but the two languages do not use it in exactly the same way. English usually rejects the present perfect with a finished time such as “yesterday”: you say “I ate yesterday.” German readily says Ich habe gestern gegessen. The German Perfekt can therefore correspond to either the English simple past or the English present perfect, depending on context.

Most German verbs form the Perfekt with haben. A smaller, important group uses sein, especially verbs expressing movement from one place to another or a change of state. Learn the basic haben pattern first, but remember that the auxiliary is part of each verb’s past-tense behavior.

How It Works

The basic pattern

A normal statement follows this structure:

subject + conjugated haben + other information + past participle

Wir haben am Samstag Fußball gespielt.
We played soccer on Saturday.

The conjugated auxiliary occupies the usual verb position. The past participle closes the clause, creating a sentence bracket: the two verb parts surround the middle of the sentence.

Subject Form of haben Example
ich habe Ich habe gekocht.
du hast Du hast gekocht.
er / sie / es hat Er hat gekocht.
wir haben Wir haben gekocht.
ihr habt Ihr habt gekocht.
sie / Sie haben Sie haben gekocht.

Only haben changes for person and number. The participle remains the same: ich habe gespielt, du hast gespielt, wir haben gespielt.

Forming the past participle

The past participle, called Partizip II in German, is the form used with haben or sein. These are the main patterns:

Verb type Pattern Examples
Regular verbs ge- + stem + -t machen → gemacht, spielen → gespielt
Many irregular verbs often ge- + changed stem + -en sehen → gesehen, schreiben → geschrieben
Mixed verbs vowel/stem change + -t bringen → gebracht, denken → gedacht
Inseparable-prefix verbs no ge- verkaufen → verkauft, verstehen → verstanden
Verbs ending in -ieren no ge- studieren → studiert, telefonieren → telefoniert
Separable-prefix verbs ge- between prefix and stem einkaufen → eingekauft, anrufen → angerufen

Participle formation is a separate skill, and irregular forms must often be learned with the infinitive (the dictionary form of a verb). A useful vocabulary entry is therefore not just schreiben, but schreiben – hat geschrieben.

Which verbs use haben?

Use haben with most verbs, including:

  • verbs with a direct object (the person or thing directly affected): Ich habe den Film gesehen.
  • reflexive verbs, which use a pronoun such as mich or sich: Sie hat sich entschuldigt.
  • verbs describing an activity without a change of place or state: Wir haben gearbeitet.
  • modal verbs in simple uses: Das habe ich nicht gewollt. Advanced infinitive combinations need a special pattern discussed below.
  • impersonal and weather verbs: Es hat geregnet.

The beginner shortcut “most verbs use haben” is reliable. However, do not decide only from the English meaning. Some common German verbs require sein: gehen → ist gegangen, kommen → ist gekommen, einschlafen → ist eingeschlafen, and bleiben → ist geblieben.

Statements, questions, and subordinate clauses

In a statement, the conjugated auxiliary is in the second position and the participle is at the end:

Heute habe ich lange gearbeitet.
I worked for a long time today.

A yes/no question begins with the auxiliary:

Hast du die E-Mail gelesen?
Did you read the email? / Have you read the email?

A question-word question places the question word first and the auxiliary second:

Warum habt ihr so lange gewartet?
Why did you wait so long?

In a subordinate clause (a dependent part introduced by words such as weil “because”), both verb parts move to the end, with the participle before the auxiliary:

Ich bin müde, weil ich wenig geschlafen habe.
I am tired because I slept very little.

Negation and objects

Words such as nicht, nie, and noch nicht stay inside the sentence bracket. Their exact position depends on what is being negated:

  • Ich habe den Film nicht gesehen. — I did not see the film.
  • Ich habe noch nicht gegessen. — I have not eaten yet.
  • Wir haben nicht im Hotel übernachtet. — We did not stay at the hotel.

Object pronouns also appear in the middle, before the final participle: Ich habe ihn gestern angerufen. (“I called him yesterday.”)

Examples in Context

German English Note
Ich habe gegessen. I ate. / I have eaten. Basic haben + participle pattern
Er hat den ganzen Vormittag gearbeitet. He worked all morning. An activity uses haben
Wir haben nach dem Essen Karten gespielt. We played cards after the meal. The participle closes the clause
Hast du meine Nachricht gelesen? Did you read my message? / Have you read my message? Yes/no question
Wann habt ihr das Museum besucht? When did you visit the museum? Question-word question
Meine Schwester hat eine neue Wohnung gefunden. My sister found a new apartment. Irregular finden → gefunden
Ich habe meine Schlüssel zu Hause vergessen. I left my keys at home. vergessen has no ge- prefix added
Sie hat gestern ihre Großeltern angerufen. She called her grandparents yesterday. Separable anrufen → angerufen
Wir haben im Supermarkt eingekauft. We shopped at the supermarket. Separable einkaufen → eingekauft
Es hat die ganze Nacht geregnet. It rained all night. Impersonal weather verb
Warum hast du dich nicht entschuldigt? Why didn’t you apologize? Reflexive verb and negation
Ich weiß, dass er in Berlin studiert hat. I know that he studied in Berlin. Both verb parts at the end of a subordinate clause
Nachdem wir gegessen haben, gehen wir spazieren. After we have eaten, we’ll go for a walk. A completed event before a present/future action
Sie hat schon dreimal in Deutschland gearbeitet. She has worked in Germany three times. Experience relevant to the present

Common Mistakes

Using the infinitive instead of the participle

  • Wrong: Ich habe gestern arbeiten.
  • Right: Ich habe gestern gearbeitet.
  • Why: The ordinary Perfekt needs a past participle, not the infinitive arbeiten.

Leaving the participle beside haben

  • Wrong: Ich habe gesehen den Film.
  • Right: Ich habe den Film gesehen.
  • Why: In a main clause, the participle normally goes at the end. English keeps “have seen” together; German usually splits the two parts.

Copying the English present-perfect restriction

  • Wrong assumption: “I cannot use the Perfekt with gestern because English says ‘I went yesterday.’”
  • Right: Ich habe gestern einen Film gesehen.
  • Why: German commonly combines the Perfekt with finished past times. Translate according to meaning, not word for word.

Adding ge- to every participle

  • Wrong: Ich habe geverkauft. / Wir haben gestudiert.
  • Right: Ich habe verkauft. / Wir haben studiert.
  • Why: Inseparable prefixes such as ver- and verbs ending in -ieren do not take ge-.

Choosing haben for every verb

  • Wrong: Sie hat nach Hause gegangen.
  • Right: Sie ist nach Hause gegangen.
  • Why: Many verbs of directed movement and change of state form the Perfekt with sein. The haben rule covers most verbs, not all verbs.

Conjugating the participle

  • Wrong: Du hast gegesst.
  • Right: Du hast gegessen.
  • Why: Conjugate haben (habe, hast, hat); do not add a personal ending to the participle. Irregular gegessen stays unchanged.

Usage Notes

The usual past tense in conversation

In much of everyday German, the Perfekt is the default way to recount events: Was hast du gestern gemacht? In narratives, news reports, and formal written prose, the Präteritum (simple past) is more common: Er öffnete die Tür und ging hinaus. The choice is partly about register and region, not a difference identical to English “I did” versus “I have done.”

Even in conversation, Germans often use the Präteritum of a few frequent verbs, especially sein, haben, and modal verbs: Ich war müde, Ich hatte keine Zeit, Ich konnte nicht kommen. Forms such as ich bin müde gewesen and ich habe keine Zeit gehabt are grammatical, but the shorter simple-past forms are often more natural.

When the present result matters

The same Perfekt can emphasize a result that matters now:

Ich habe meinen Schlüssel verloren.
I have lost my key. (I do not have it now.)

Context can instead place the event in a finished story: Ich habe letztes Jahr meinen Schlüssel verloren. (“I lost my key last year.”) German does not require a separate form for these two readings.

Verbs that can switch auxiliary

A few verbs can use sein or haben depending on meaning, grammar, or regional usage. For a clear beginner example, fahren generally uses sein when the subject travels—Wir sind nach Köln gefahren—but can use haben when someone operates or drives something as a direct object: Er hat den Bus gefahren. Learn such cases with complete example sentences rather than relying on the vague rule “all movement uses sein.”

Beyond the Basics / Advanced Use

You do not need to master the following patterns at A2, but they explain forms you will meet later.

Perfect forms with modal verbs

When a modal verb accompanies another infinitive, German normally uses a double infinitive (two dictionary forms) instead of the modal’s usual participle. This is called the Ersatzinfinitiv:

Ich habe länger arbeiten müssen.
I had to work longer.

Sie hat nicht kommen können.
She could not come.

The familiar sentence bracket remains, but arbeiten müssen or kommen können stands at the end. This is different from the standalone participle in Das habe ich nicht gewollt (“I didn’t want that”).

Word order in advanced subordinate clauses

With an ordinary participle, subordinate-clause order is participle + auxiliary: weil ich lange gearbeitet habe. With a double infinitive, standard word order often places the finite auxiliary before the two infinitives: weil ich länger habe arbeiten müssen. This exception belongs to advanced German; at A2, focus on ordinary clauses such as weil ich gearbeitet habe.

The past perfect

To describe an event completed before another past event, German uses the Plusquamperfekt (past perfect). Replace present-tense haben with its simple-past form hatte while keeping the participle:

Ich hatte schon gegessen, als sie anrief.
I had already eaten when she called.

This grows directly from the pattern learned here: habe gegessen → hatte gegessen.

Passive forms that look similar

Do not confuse haben + participle with passive constructions using werden or sein. Der Mechaniker hat das Auto repariert means “The mechanic repaired the car” and is active. Das Auto wurde repariert means “The car was repaired” and is passive: the subject receives the action.

Practice Tips

  1. Learn three pieces together. Record each new verb as infinitive, auxiliary, and participle: sehen – hat gesehen; gehen – ist gegangen. This prevents both participle and auxiliary errors.
  2. Build the sentence bracket aloud. Start with Ich habe … gemacht, then insert details: Ich habe gestern mit meiner Schwester einen Kuchen gemacht. Keep the final participle in place.
  3. Retell one day in five sentences. Use a time phrase and a different verb in each sentence, then turn two statements into questions and one into a weil clause. This practices meaning and word order together.

Related Concepts

Prerequisite

German “haben” in the Present TenseA1

Concepts that build on this

More A2 concepts

This concept in other languages

Compare across all languages

Practice Perfect Tense with haben in German with a free Settemila Lingue account. We will set up German · A2 and generate cards for this exact grammar concept.

Practice this concept