Haben or Sein? German Perfect Tense (Perfekt) Rules + 30 Verbs

Most German verbs form the perfect tense (Perfekt) with haben. You only need sein for verbs of movement from A to B (gehen, fahren, kommen), verbs that describe a change of state (aufwachen, einschlafen, werden), and a few special verbs: sein, bleiben and passieren. So it's Ich habe gegessen (I ate), but Ich bin gegangen (I went).
Below: the logic behind the rule, the tricky verbs that can take both, how to build the participle, and 30 common verbs with their helper. For the full picture of the tense, see our complete German perfect tense (Perfekt) guide.
How the Perfekt Is Built
The Perfekt has two parts: a form of haben or sein in position 2, and the past participle (Partizip II) at the end of the clause. Everything else goes in between:
- Ich habe gestern einen Film gesehen. — I saw a film yesterday.
- Wir sind am Samstag nach Hamburg gefahren. — We went to Hamburg on Saturday.
The helper is conjugated as in the present tense; the participle never changes:
| Person | With haben | With sein |
|---|---|---|
| ich | habe gegessen | bin gegangen |
| du | hast gegessen | bist gegangen |
| er / sie / es | hat gegessen | ist gegangen |
| wir | haben gegessen | sind gegangen |
| ihr | habt gegessen | seid gegangen |
| sie / Sie | haben gegessen | sind gegangen |
English has two tenses here, "I ate" and "I have eaten". In conversation, German uses the Perfekt for both.
In a subordinate clause, for example after weil or dass, the helper moves to the very end: Ich bin müde, weil ich so früh aufgestanden bin. — I'm tired because I got up so early.
When to Use Sein: Movement and Change
Here's the logic: sein verbs describe something that happens to the subject itself. You end up in a new place or a new state, and there's no object that you act on. Older English worked the same way: "The Lord is come", "He is risen", and we still say "he is gone".
1. Movement From A to B
Verbs that take you from one place to another: gehen, fahren, fliegen, laufen, kommen, and also reisen, fallen, ankommen and umziehen (to move house).
- Ich bin zu Fuß nach Hause gegangen. — I walked home.
- Wir sind im Sommer nach Spanien geflogen. — We flew to Spain in the summer.
2. Change of State
Verbs where the subject itself changes: aufwachen (to wake up), einschlafen (to fall asleep), sterben (to die), werden (to become) and wachsen (to grow).
- Das Baby ist sofort eingeschlafen. — The baby fell asleep right away.
- Sie ist Ärztin geworden. — She became a doctor.
- Mein Opa ist letztes Jahr gestorben. — My grandpa died last year.
Compare schlafen (to sleep): a state with no change, so it takes haben. Ich habe gut geschlafen, aber ich bin spät eingeschlafen. — I slept well, but I fell asleep late.
3. The Special Verbs: Sein, Bleiben, Passieren
A few verbs take sein even though nothing moves or changes: sein (to be), bleiben (to stay), and passieren or geschehen (to happen). Learn them by heart.
- Ich bin noch nie in Wien gewesen. — I've never been to Vienna.
- Wir sind am Wochenende zu Hause geblieben. — We stayed home on the weekend.
- Was ist passiert? — What happened?
Everything Else Takes Haben
That's the vast majority of verbs. Three groups often catch learners out:
- Verbs with an accusative object. If you do something to someone or something, the helper is almost always haben: Ich habe einen Kuchen gebacken. — I baked a cake. (Refresher: the accusative case.)
- Reflexive verbs. Verbs with mich, dich, sich always take haben, even when you move: Ich habe mich aufs Sofa gesetzt. — I sat down on the sofa.
- States and activities. Sleeping, living, working, waiting and the weather don't take you anywhere: Es hat den ganzen Tag geregnet. — It rained all day.
Umziehen shows the reflexive rule perfectly:
- Wir sind nach Köln umgezogen. — We moved to Cologne. (movement)
- Ich habe mich schnell umgezogen. — I quickly got changed. (reflexive)
Tricky Cases: Verbs That Can Take Both
Fahren With an Object
Fahren normally takes sein, because you travel from A to B. Add a direct object and the sentence is about what you do to the car or the passenger, so it switches to haben:
- Ich bin mit dem Auto nach Köln gefahren. — I drove to Cologne.
- Ich habe das Auto gefahren. — I drove the car.
- Mein Bruder hat mich zum Flughafen gefahren. — My brother drove me to the airport.
Two things don't count as objects: mit dem Auto (dative) and fixed activities without an article, like Auto fahren and Ski fahren. Both stay with sein: Ich bin gestern zum ersten Mal Auto gefahren. — I drove a car for the first time yesterday.
Schwimmen, Tanzen, Laufen: Activity or Destination?
With some movement verbs, it matters whether you're just doing the activity or going somewhere. A destination always means sein:
| Verb | The activity | Going somewhere |
|---|---|---|
| tanzen | haben: Wir haben die ganze Nacht getanzt. (We danced all night.) | sein: Sie sind durch den Saal getanzt. (They danced across the hall.) |
| schwimmen | haben or sein: Ich habe / bin eine Stunde geschwommen. (I swam for an hour.) | sein: Er ist ans andere Ufer geschwommen. (He swam to the other bank.) |
| laufen | sein: Ich bin heute zehn Kilometer gelaufen. (I ran ten kilometers today.) | sein: Wir sind nach Hause gelaufen. (We walked home.) |
A distance like zehn Kilometer isn't an object, so laufen keeps sein.
Stehen, Sitzen, Liegen: It Depends Where You Are
Textbook German uses haben for these position verbs, since nothing moves or changes:
- Ich habe eine Stunde an der Haltestelle gestanden. — I stood at the stop for an hour.
- Wir haben den ganzen Abend im Garten gesessen. — We sat in the garden all evening.
In southern Germany, Austria and Switzerland, people say ich bin gestanden, ich bin gesessen, ich bin gelegen. That's not a mistake: it's correct standard German there, in speech and in writing. As a learner, haben is the safe choice; just don't be surprised to hear sein in Munich, Vienna or Zurich.
Getting into a position works differently: aufstehen takes sein everywhere (Ich bin aufgestanden. — I got up). For the pairs stellen/stehen, legen/liegen and setzen/sitzen, see our guide to German two-way prepositions.
How to Form the Partizip II
- Regular verbs: ge- + stem + -t. machen → gemacht, kaufen → gekauft. Stems ending in -t or -d add -et: arbeiten → gearbeitet.
- Irregular verbs: ge- + stem + -en, often with a vowel change: sehen → gesehen, trinken → getrunken, gehen → gegangen.
- Mixed verbs: ge- + changed stem + -t: bringen → gebracht, denken → gedacht, wissen → gewusst.
- No ge- with inseparable prefixes (be-, emp-, ent-, er-, ge-, miss-, ver-, zer-): besuchen → besucht, verstehen → verstanden, erzählen → erzählt.
- No ge- with -ieren verbs: studieren → studiert, telefonieren → telefoniert, passieren → passiert.
- Separable verbs put the prefix in front of the normal participle: aufstehen → aufgestanden, einkaufen → eingekauft, anrufen → angerufen.
Why no ge- in besucht and studiert? German only adds ge- when the verb starts with a stressed syllable, and in beSUchen and stuDIEren the stress comes later. Our guide to separable verbs explains which prefixes split off.
One more tip: the participle doesn't tell you the helper (hat gesungen, but ist gesprungen), so learn every new verb as a chunk with its helper.
30 Common Verbs With Haben or Sein
The first 14 verbs take sein, the other 16 take haben. Learn them in the er/sie/es form: ist gegangen, hat gegessen.
| Verb | English | Perfekt (er/sie/es) |
|---|---|---|
| sein | to be | ist gewesen |
| werden | to become | ist geworden |
| bleiben | to stay | ist geblieben |
| passieren | to happen | ist passiert |
| gehen | to go, to walk | ist gegangen |
| kommen | to come | ist gekommen |
| fahren | to go, to drive | ist gefahren (with an object: hat) |
| fliegen | to fly | ist geflogen |
| laufen | to run, to walk | ist gelaufen |
| ankommen | to arrive | ist angekommen |
| aufstehen | to get up | ist aufgestanden |
| aufwachen | to wake up | ist aufgewacht |
| einschlafen | to fall asleep | ist eingeschlafen |
| umziehen | to move house | ist umgezogen |
| haben | to have | hat gehabt |
| machen | to do, to make | hat gemacht |
| kaufen | to buy | hat gekauft |
| arbeiten | to work | hat gearbeitet |
| essen | to eat | hat gegessen |
| trinken | to drink | hat getrunken |
| sehen | to see | hat gesehen |
| schlafen | to sleep | hat geschlafen |
| stehen | to stand | hat gestanden (southern Germany, Austria, Switzerland: ist) |
| bringen | to bring | hat gebracht |
| anfangen | to start | hat angefangen |
| anrufen | to call (on the phone) | hat angerufen |
| einkaufen | to go shopping | hat eingekauft |
| besuchen | to visit | hat besucht |
| verstehen | to understand | hat verstanden |
| studieren | to study (at university) | hat studiert |
For more verbs with example sentences, see our list of the 100 most common German verbs.
Word Order With Modal Verbs
In the Perfekt, a modal verb like müssen or können doesn't become a participle when there's a second verb. It stays an infinitive and goes to the very end, after the main verb. The helper is always haben, because it belongs to the modal, not to the main verb.
- Ich muss heute lange arbeiten. — I have to work late today. (present)
- Ich habe heute lange arbeiten müssen. — I had to work late today. (Perfekt)
- Wir haben früh gehen müssen. — We had to leave early. (gehen alone would take sein)
In a subordinate clause, the helper jumps in front of the two infinitives instead of going to the end: …, weil ich heute lange habe arbeiten müssen. — … because I had to work late today.
The good news: in everyday speech, most Germans skip this and use the simple past for modal verbs: Ich musste heute lange arbeiten. Our guide to the German simple past (Präteritum) covers musste, konnte and wollte; German modal verbs explained covers the basics. Without a second verb, a modal takes a normal participle: Das habe ich nicht gewollt. — I didn't want that.
Common Mistakes With Haben and Sein
| Wrong | Right | Why |
|---|---|---|
| Ich habe nach Berlin gefahren. | Ich bin nach Berlin gefahren. | Going from A to B takes sein. |
| Was hat passiert? | Was ist passiert? | Passieren always takes sein. |
| Ich habe zu Hause geblieben. | Ich bin zu Hause geblieben. | Bleiben takes sein, even though nothing moves. |
| Ich bin gut geschlafen. | Ich habe gut geschlafen. | Sleeping is a state. Only falling asleep is a change: Ich bin eingeschlafen. |
| Ich bin mich umgezogen. | Ich habe mich umgezogen. | Reflexive verbs always take haben. |
| Ich bin früh gehen müssen. | Ich habe früh gehen müssen. / Ich musste früh gehen. | With a modal verb, the helper is always haben. |
| Ich habe gekauft ein Handy. | Ich habe ein Handy gekauft. | The participle goes to the end of the clause. |
Practice: Haben or Sein?
Fill in the helper and the participle.
- ___ du heute schon ___? (frühstücken)
- Ich ___ um sechs Uhr ___. (aufwachen)
- Mein Bruder ___ mich zum Bahnhof ___. (fahren)
- Was ___ denn ___? (passieren)
- Wir ___ uns im Urlaub ___. (kennenlernen)
- Er ___ letztes Jahr Vater ___. (werden)
Answers:
- Hast du heute schon gefrühstückt? — Have you had breakfast yet today? (activity)
- Ich bin um sechs Uhr aufgewacht. — I woke up at six. (change of state)
- Mein Bruder hat mich zum Bahnhof gefahren. — My brother drove me to the station. (object: mich)
- Was ist denn passiert? — What happened? (special verb)
- Wir haben uns im Urlaub kennengelernt. — We met on vacation. (reflexive)
- Er ist letztes Jahr Vater geworden. — He became a father last year. (change of state)
Want more practice?
- Drill haben and sein verbs in the German verb conjugation lab.
- Practice prefixes like be-, ver- and auf- in the verb prefix lab.
- Test yourself with the A2 German quiz.
- Review the whole tense in the German perfect tense guide.
FAQ
When do you use sein in the German perfect tense?
Use sein for movement from A to B (gehen, fahren, kommen), for a change of state (aufwachen, einschlafen, sterben, werden), and for sein, bleiben, passieren and geschehen. Everything else, including reflexive verbs, takes haben.
Is it "ich habe gefahren" or "ich bin gefahren"?
Usually ich bin gefahren, because you travel somewhere. Use haben only with a direct object: Ich habe das Auto gefahren (I drove the car).
Is "ich bin gesessen" wrong?
No. In southern Germany, Austria and Switzerland, ich bin gesessen, gestanden, gelegen is correct. Most textbooks teach ich habe gesessen, which is understood everywhere.
Should I use the Perfekt or the Präteritum?
In conversation, use the Perfekt for most verbs. With sein, haben and the modal verbs, most speakers prefer the simple past: ich war, ich hatte, ich musste.
Level Up Your German
Join 1,000+ learners getting weekly tips, grammar shortcuts, and cultural insights.
Share this article
Continue Reading

Colors in German: Rot, Blau, Grün and How to Use Them
All the colors in German with pronunciation, light and dark shades, when colors take endings, how to ask Welche Farbe hat…?, and the color idioms Germans really use.

I Love You in German: Ich liebe dich vs. Ich hab dich lieb
Learn when to say Ich liebe dich and when to say Ich hab dich lieb, plus German pet names, romantic phrases, texting codes like HDL and Valentine's Day customs.

Great and Awesome in German: Super, Toll, Ausgezeichnet & More
Super, toll, klasse or ausgezeichnet? Learn the German words for great, awesome, excellent and cool, from neutral to slang, plus compliments for people, food and looks.
