Haben vs Sein in German: When to Use Each (Especially in Perfekt)

8 min read
Share:

Haben vs Sein in German: When to Use Each (Especially in Perfekt)

If you are learning German, you have probably run into this question: do I use haben or sein to form the past tense? This is one of the most important grammar topics at the A2 level, and getting it right will make your spoken and written German sound much more natural.

In this guide, we will break down the conjugations of both verbs, explain exactly when to use haben and when to use sein in the Perfekt tense, and give you a clear list of common sein verbs to memorize.

How Do You Conjugate Haben and Sein?

Before we talk about when to use each verb, let us make sure you know how to conjugate them. Both haben (to have) and sein (to be) are irregular, so their forms must be memorized.

Haben — Present Tense

PronounConjugation
ichhabe
duhast
er/sie/eshat
wirhaben
ihrhabt
sie/Siehaben

Sein — Present Tense

PronounConjugation
ichbin
dubist
er/sie/esist
wirsind
ihrseid
sie/Siesind

Haben and Sein in the Perfekt

In the Perfekt tense, haben and sein serve as auxiliary verbs (Hilfsverben). They pair with a past participle to form the past tense. Here are their Perfekt forms:

  • haben: Ich habe gehabt (I have had)
  • sein: Ich bin gewesen (I have been)

Notice that haben uses itself as its own auxiliary, while sein also uses itself. This is a useful detail to remember.

For a deeper look at how the Perfekt tense works overall, check out our complete guide to the German past tense Perfekt.

When Do You Use Haben and When Sein in German?

This is the big question every German learner faces. Here is the core rule:

Use haben as the auxiliary verb for most verbs in the Perfekt tense. This is the default.

Use sein as the auxiliary verb when the verb describes:

  1. Movement from one place to another (a change of location)
  2. A change of state or condition
  3. The verbs sein, bleiben, and werden themselves

Let us look at each rule in detail.

Rule 1: Movement From A to B = Sein

If the verb describes physically moving from one location to another, use sein:

  • Ich bin nach Berlin gefahren. (I drove to Berlin.)
  • Wir sind ins Kino gegangen. (We went to the cinema.)
  • Sie ist nach Hause geflogen. (She flew home.)

The key idea is a change of location. The subject starts in one place and ends up in another.

Rule 2: Change of State = Sein

Verbs that describe a transformation or change of condition also take sein:

  • Er ist eingeschlafen. (He fell asleep.)
  • Die Blume ist gewachsen. (The flower grew.)
  • Der Hund ist gestorben. (The dog died.)

Rule 3: Sein, Bleiben, and Werden Always Use Sein

These three verbs always take sein as their auxiliary, even though bleiben (to stay) does not involve movement:

  • Ich bin müde gewesen. (I was tired.)
  • Er ist zu Hause geblieben. (He stayed at home.)
  • Sie ist Ärztin geworden. (She became a doctor.)

Everything Else = Haben

If the verb does not fit any of the rules above, use haben. This covers:

  • Transitive verbs (verbs with a direct object): Ich habe das Buch gelesen. (I read the book.)
  • Reflexive verbs: Er hat sich gewaschen. (He washed himself.)
  • Most other intransitive verbs: Ich habe geschlafen. (I slept.)

For a broader overview of verb conjugation patterns, see our German verb conjugation guide.

Is It "Ich Habe Gegangen" or "Ich Bin Gegangen"?

This is one of the most common mistakes German learners make. The correct form is:

Ich bin gegangen. (I went / I have gone.)

Why? Because gehen (to go) describes movement from one place to another. It is a classic sein verb. Saying ich habe gegangen is grammatically wrong and will immediately mark you as a beginner.

Here are more examples to compare:

Correct (sein)Why?
Ich bin gelaufen.laufen = movement
Ich bin gekommen.kommen = movement
Ich bin gefahren.fahren = movement
Ich bin aufgestanden.aufstehen = change of state
Correct (haben)Why?
Ich habe gegessen.essen = no movement
Ich habe getrunken.trinken = no movement
Ich habe gearbeitet.arbeiten = no movement
Ich habe gespielt.spielen = no movement

Common German Verbs That Use Sein

Here is a list of the most important verbs that take sein in the Perfekt. Memorize these and you will get it right most of the time:

VerbMeaningExample
gehento goIch bin gegangen.
kommento comeEr ist gekommen.
fahrento drive/travelWir sind gefahren.
fliegento flySie ist geflogen.
laufento run/walkIch bin gelaufen.
schwimmento swimEr ist geschwommen.*
sterbento dieDer Mann ist gestorben.
werdento becomeSie ist geworden.
seinto beIch bin gewesen.
bleibento stayEr ist geblieben.
aufstehento get upIch bin aufgestanden.
einschlafento fall asleepSie ist eingeschlafen.
wachsento growDie Pflanze ist gewachsen.
fallento fallDas Blatt ist gefallen.
passierento happenWas ist passiert?

Tricky Cases: Schwimmen, Tanzen, and Other Dual Verbs

Some verbs can use either haben or sein, depending on the meaning:

Schwimmen (to swim)

  • Ich bin geschwommen. — I swam (from one place to another, e.g., across a lake).
  • Ich habe geschwommen. — I swam (as an activity, without a specific destination).

Tanzen (to dance)

  • Ich bin durch den Saal getanzt. — I danced through the hall (movement from A to B).
  • Ich habe getanzt. — I danced (general activity, no movement to a destination).

The pattern is consistent: if the verb emphasizes a destination or change of location, use sein. If it emphasizes the activity itself, use haben.

This same logic applies to verbs like joggen, klettern, and reiten. When in doubt, ask yourself: is the sentence about getting somewhere, or about doing the activity?

How to Conjugate Haben and Sein?

We covered the present tense tables above, but let us also look at the simple past (Präteritum), since haben and sein are two of the few verbs where native speakers regularly use this form in everyday speech:

Haben — Präteritum

PronounConjugation
ichhatte
duhattest
er/sie/eshatte
wirhatten
ihrhattet
sie/Siehatten

Sein — Präteritum

PronounConjugation
ichwar
duwarst
er/sie/eswar
wirwaren
ihrwart
sie/Siewaren

These forms are essential for everyday German. You will hear ich war and ich hatte far more often than ich bin gewesen and ich habe gehabt.

Practice Makes Perfect

Understanding the rules is one thing — applying them quickly in conversation is another. Here are some ways to practice:

  1. Play Type Rush on Deutschwunder to build your verb vocabulary under time pressure: Play Type Rush
  2. Test your conjugation knowledge with our verb conjugation quizzes
  3. Practice broader grammar patterns with our grammar quiz collection
  4. Try Article Blitz to sharpen your overall German instincts: Play Article Blitz

Quick Summary

  • Haben is the default auxiliary for the Perfekt tense.
  • Sein is used with verbs of movement (A to B), change of state, and the verbs sein, bleiben, werden.
  • When a verb can go either way (like schwimmen), the destination rule decides: movement to somewhere = sein, activity = haben.
  • Memorize the common sein verbs list above, and you will handle 90% of cases correctly.

Ready to put your knowledge to the test? Take our grammar quiz now and see how well you know your haben vs sein!


Want to keep improving your German grammar? Explore more lessons and interactive games at Deutschwunder.