Sein vs. Haben — German Auxiliary Verbs Explained
Quick Rule
Did the subject move somewhere or change state? → sein. Everything else? → haben.
sein vs. haben — The Rules
sein
Use "sein" as the auxiliary verb for: (1) verbs of movement/change of location (gehen, fahren, fliegen), (2) verbs of state change (werden, sterben, aufwachen), and (3) sein, bleiben, passieren.
haben
Use "haben" as the auxiliary for: (1) all transitive verbs (verbs with a direct object), (2) reflexive verbs, and (3) most other verbs. When in doubt, "haben" is usually correct.
Examples — Side by Side
Ich bin nach Berlin gefahren.
I drove to Berlin.
Ich habe das Auto gefahren.
I drove the car.
Er ist gestern gestorben.
He died yesterday.
Er hat lange gelebt.
He lived for a long time.
Wir sind nach Hause gegangen.
We went home.
Wir haben Fußball gespielt.
We played football.
Sie ist schnell gelaufen.
She ran fast.
Sie hat ein Buch gelesen.
She read a book.
Common Mistakes
Ich habe nach Berlin gefahren.
Ich bin nach Berlin gefahren.
"fahren" with a destination = movement → use "sein".
Ich bin ein Buch gelesen.
Ich habe ein Buch gelesen.
"lesen" is transitive (has a direct object) → use "haben".
Er hat in Berlin geblieben.
Er ist in Berlin geblieben.
"bleiben" always takes "sein" — it's one of the exceptions.
Memory Trick
"Sein" = movement & change. "Haben" = having & doing. If you can answer "where to?" → sein.
Quick Quiz
1. Ich ___ gestern ins Kino gegangen.
2. Sie ___ einen Kuchen gebacken.
3. Das Kind ___ schnell gewachsen.