Every German Perfekt sentence needs a helper verb (an auxiliary): either haben or sein. English has only one option here — "have" — so the very existence of a choice is a hurdle for English speakers. This page gives you a reliable decision procedure for picking the right auxiliary, the small set of verbs that take sein, and the regional wrinkle that most textbooks leave out.
The default is haben
The overwhelming majority of German verbs form the Perfekt with haben. Any verb that takes a direct object (a transitive verb) uses haben with no exceptions, and so do most verbs that don't take an object.
Ich habe gestern den ganzen Tag gearbeitet.
I worked all day yesterday.
Hast du schon gegessen?
Have you eaten yet?
Wir haben uns lange nicht gesehen.
We haven't seen each other in a long time.
If you are ever unsure and the verb is not in the sein group below, haben is the safe bet. That is why the decision tree starts there.
When to use sein
Sein is the marked, special case. A verb takes sein in the Perfekt only when it meets both of these conditions:
- It is intransitive (no direct accusative object), and
- It expresses either motion from one place to another or a change of state.
There is also a tiny closed group of "being" verbs that take sein for historical reasons.
Group 1: Intransitive verbs of motion (change of location)
These describe getting from A to B: going, coming, driving, flying, traveling.
Wir sind mit dem Zug nach Hamburg gefahren.
We took the train to Hamburg.
Er ist heute Morgen sehr früh aufgestanden und ist joggen gegangen.
He got up very early this morning and went jogging.
Das Flugzeug ist pünktlich in Frankfurt gelandet.
The plane landed on time in Frankfurt.
Common members: gehen (ist gegangen), kommen (ist gekommen), fahren (ist gefahren), fliegen (ist geflogen), reisen (ist gereist), laufen (ist gelaufen), schwimmen (ist geschwommen, when directional), springen (ist gesprungen), steigen (ist gestiegen).
Group 2: Verbs of change of state
These describe a transition from one condition into another: waking, falling asleep, growing, dying, becoming.
Ich bin um sechs Uhr aufgewacht und gleich wieder eingeschlafen.
I woke up at six and immediately fell asleep again.
Der kleine Baum ist in nur einem Jahr enorm gewachsen.
The little tree grew enormously in just one year.
Seine Großmutter ist letzten Winter gestorben.
His grandmother died last winter.
Common members: aufwachen, einschlafen, aufstehen, sterben, wachsen, werden (ist geworden), erfrieren, ertrinken.
Group 3: The special "being" verbs
Three high-frequency verbs take sein even though they express neither motion nor a clear change of state. You simply memorize them: sein (ist gewesen), bleiben (ist geblieben), and the impersonal passieren / geschehen (ist passiert / ist geschehen), plus gelingen (ist gelungen).
Wo bist du gestern Abend gewesen?
Where were you last night?
Trotz des Regens sind wir den ganzen Tag zu Hause geblieben.
Despite the rain, we stayed home all day.
Was ist denn hier passiert?
What happened here?
The transitivity flip — the case that catches everyone
The single most important nuance is that some motion verbs can be either transitive or intransitive, and the auxiliary flips accordingly. The classic example is fahren.
When fahren is intransitive ("to travel, to go"), it takes sein. When it is transitive — when it has a direct object, "to drive something" — it suddenly takes haben, because the rule "transitive → haben" overrides everything.
Ich bin nach München gefahren.
I went/travelled to Munich.
Ich habe meinen Bruder zum Bahnhof gefahren.
I drove my brother to the station.
Wir sind über den See geschwommen.
We swam across the lake.
Sie hat eine neue Bestzeit geschwommen.
She swam a new personal best.
In Ich habe meinen Bruder gefahren, "my brother" is the direct object, so the verb is transitive and haben wins. The mental check is: Is there an accusative object? If yes, use haben, no matter how much movement is involved.
The decision flowchart
Run any verb through these three questions in order:
| Step | Question | If yes |
|---|---|---|
| 1 | Does the verb have a direct (accusative) object? Is it transitive? | → haben (stop here) |
| 2 | Is it an intransitive verb of motion A→B or change of state? | → sein |
| 3 | Is it sein, bleiben, passieren, geschehen, or gelingen? | → sein |
| — | Otherwise | → haben |
A quick paradigm comparison shows the two patterns side by side:
| Auxiliary | Infinitive | Perfekt (3rd sg.) | Why |
|---|---|---|---|
| haben | machen | hat gemacht | transitive / no motion |
| haben | essen | hat gegessen | transitive |
| haben | schlafen | hat geschlafen | intransitive, but a state, not a change |
| sein | gehen | ist gegangen | intransitive motion |
| sein | werden | ist geworden | change of state |
| sein | bleiben | ist geblieben | special "being" verb |
Regional variation: the part competitors skip
The "rule" above describes standard written German and northern usage. In southern Germany, Austria, and Switzerland, the verbs of position — stehen, sitzen, liegen — regularly take sein, whereas the north uses haben. Both are accepted; which one sounds natural depends on where the speaker is from. (regional: southern German / Austrian)
Ich bin gestern lange am Fenster gestanden.
I stood at the window for a long time yesterday. (southern / Austrian)
Ich habe gestern lange am Fenster gestanden.
I stood at the window for a long time yesterday. (northern / standard written)
So when a southern speaker says Ich bin gesessen or Ich bin gelegen, it is not an error — it is a living regional norm. For exams and formal writing, the north-based standard with haben (hat gestanden, hat gesessen, hat gelegen) is the safe choice.
Common Mistakes
1. Defaulting to haben for motion verbs (the big one). English has only "have," so English speakers naturally say Ich habe gegangen. German requires sein for intransitive motion.
❌ Ich habe nach Hause gegangen.
Incorrect — gehen is intransitive motion, so it needs sein.
✅ Ich bin nach Hause gegangen.
I went home.
2. Forgetting the transitivity flip with fahren/fliegen. Once there is a direct object, the verb takes haben.
❌ Ich bin das Auto in die Garage gefahren.
Incorrect — das Auto is a direct object, so haben is required.
✅ Ich habe das Auto in die Garage gefahren.
I drove the car into the garage.
3. Using sein for a state verb that only looks like motion/change. Schlafen and sitzen (in the standard) are states, not changes.
❌ Ich bin acht Stunden geschlafen.
Incorrect — schlafen is a state verb, so it takes haben.
✅ Ich habe acht Stunden geschlafen.
I slept for eight hours.
4. Using haben with bleiben. Because "stay" feels stative, learners reach for haben — but bleiben is a fixed sein-verb.
❌ Ich habe zu Hause geblieben.
Incorrect — bleiben always takes sein.
✅ Ich bin zu Hause geblieben.
I stayed home.
Key Takeaways
- Default to haben; switch to sein only for intransitive motion (gehen, fahren, kommen, fliegen), change of state (aufstehen, einschlafen, sterben, werden, wachsen), and the special trio sein, bleiben, passieren.
- A direct object always forces haben, even with otherwise sein-verbs (Ich habe das Auto gefahren).
- A state you stay in (schlafen) takes haben; a change into a new state (einschlafen) takes sein.
- Southern German and Austrian use sein with stehen, sitzen, and liegen — correct in those regions, but use haben for standard written German.
Now practice German
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning German→Related Topics
- Perfekt Auxiliary: haben vs seinA2 — How to choose between haben and sein in the German Perfekt — motion and change of state take sein, and a direct object flips it to haben.
- The Perfekt: Germany's Everyday Past TenseA2 — How the Perfekt is formed (haben/sein + past participle) and why it — not the Präteritum — is the normal spoken past in German.
- Transitive and Intransitive Verbs (and Valency)B1 — How a verb's valency — the case and prepositional frame it requires — determines its object, and how it links to the haben/sein auxiliary choice in the Perfekt.
- Verb Government: Cases and Prepositions a Verb RequiresB2 — A deep look at German verb government (Rektion): the case and preposition frames verbs dictate — ditransitive dative+accusative, prepositional objects, and the formal genitive verbs.
- ich bin kalt and Other Sein/Haben State ErrorsA2 — Why 'Ich bin kalt' means 'I'm cold-hearted' (not 'I feel cold') and 'Ich bin Hunger' is impossible — the German split between sein, haben, and the dative experiencer for sensations and states.
- Regional Grammatical VariationC1 — Grammar that genuinely changes by region: the haben/sein split with position verbs, the southern Perfekt, the colloquial possessive dative (dem Vater sein Auto), article + first name, wegen + dative, tun-periphrasis, the double Perfekt, and als vs wie.