Haben vs. Sein: Choosing the Right Auxiliary for the German Perfect Tense
You know the feeling: you want to say “I went” in German, and your brain offers ich habe gegangen. It sounds plausible for a second — then you remember it is wrong. The short answer is simple: most German verbs form the perfect tense with haben, but a smaller group uses sein, mainly intransitive verbs of movement or change of state. If you can spot that pattern, you will avoid one of the most common German speaking mistakes and build much more natural sentences.
The core rule: most verbs take haben
Start with the default: if you are unsure, haben is more likely. In everyday German, the majority of verbs build the perfect tense with haben.
That includes:
- most action verbs
- most verbs that take a direct object
- many verbs that describe activities rather than movement from one state to another
Examples:
- Ich habe ein Buch gelesen. (I read a book.)
- Wir haben Deutsch gelernt. (We learned German.)
- Er hat Kaffee gekocht. (He made coffee.)
- Sie hat lange gearbeitet. (She worked for a long time.)
Notice what these verbs have in common: they do not focus on arrival, disappearance, becoming, or a change in condition. They simply describe an action or activity.
A useful shortcut is this:
- Transitive verbs — verbs that take a direct object — almost always use haben.
For example:
- Ich habe den Film gesehen. (I saw the film.)
- Sie hat das Fenster geöffnet. (She opened the window.)
- Wir haben den Zug verpasst. (We missed the train.)
Even when a verb sounds dynamic in English, if it takes an object in German, it usually uses haben.
Compare:
- Ich habe das Kind geschwommen. ❌ (I swam the child.)
- Ich bin geschwommen. ✅ (I swam.)
- Ich habe das Kind zum Becken gebracht. ✅ (I brought the child to the pool.)
The first wrong example fails because schwimmen does not take a direct object there.
Pro Tip: Treat haben as your default auxiliary. Then learn the smaller sein group aggressively, because that is where most mistakes happen.
When German uses sein in the perfect tense
German uses sein with a smaller set of verbs, but the logic is consistent enough to help: verbs that use sein usually do not take a direct object and often express movement from one place to another or a change of state.
That means two big categories:
- Motion from A to B
- Change of condition or state
Examples of motion:
- Ich bin nach Hause gegangen. (I went home.)
- Sie ist spät gekommen. (She arrived late.)
- Wir sind schnell gefahren. (We travelled quickly / drove quickly.)
- Er ist ins Wasser gesprungen. (He jumped into the water.)
Examples of change of state:
- Das Kind ist eingeschlafen. (The child fell asleep.)
- Die Milch ist schlecht geworden. (The milk went bad / became bad.)
- Er ist gestorben. (He died.)
- Ich bin aufgewacht. (I woke up.)
The key word here is intransitive. These verbs do not take a direct object in the sentence.
So:
- Ich habe das Auto gefahren. (I drove the car.) — possible with haben, because das Auto is the direct object.
- Ich bin nach Berlin gefahren. (I travelled to Berlin.) — sein, because the verb describes movement and has no direct object.
That distinction matters a lot. Some verbs can use either auxiliary depending on meaning and structure.
Use this cheat code: if the subject ends up somewhere new or becomes something new, try sein first. Think of sein as the “state/location changed” helper: Ich bin nach Hause gegangen. (I went home.) / Es ist kalt geworden. (It got cold.) If the sentence is about doing something to an object, haben is usually safer.
If verb position still trips you up, our guide to the German V2 rule makes this much easier to see in real sentences.
Pro Tip: Ask yourself two questions: “Is there a direct object?” and “Does this verb show movement or a change of state?” If there is no direct object and the answer to the second question is yes, sein is very likely.
Full conjugation tables: haben and sein in the present tense
To form the German perfect tense, you need the present-tense form of the auxiliary plus the past participle.
Present tense of haben
| Pronoun | Form | English |
|---|---|---|
| ich | habe | I have |
| du | hast | you have (informal) |
| er/sie/es | hat | he/she/it has |
| wir | haben | we have |
| ihr | habt | you have (plural informal) |
| sie/Sie | haben | they / you have (formal) |
Present tense of sein
| Pronoun | Form | English |
|---|---|---|
| ich | bin | I am |
| du | bist | you are (informal) |
| er/sie/es | ist | he/she/it is |
| wir | sind | we are |
| ihr | seid | you are (plural informal) |
| sie/Sie | sind | they / you are (formal) |
Now combine them with a past participle:
- Ich habe gearbeitet. (I worked.)
- Du hast gelernt. (You learned.)
- Er hat gegessen. (He ate.)
- Ich bin gegangen. (I went.)
- Sie ist gekommen. (She came.)
- Wir sind geblieben. (We stayed.)
If you want to drill more forms, you can browse our German conjugation tables or learn German with VerbPal inside our app and web drills.
Pro Tip: Learn the auxiliaries so well that you do not have to think about them. Then your brain can focus on choosing the correct participle and word order.
The sein verbs everyone should memorise
If you only memorise one group from this article, memorise this one. These are the high-frequency sein verbs that appear constantly in everyday German.
Must-know motion verbs with sein
- gehen — to go
Ich bin nach Hause gegangen. (I went home.) - kommen — to come
Er ist spät gekommen. (He came late.) - fahren — to travel, drive
Wir sind nach München gefahren. (We travelled to Munich.) - fliegen — to fly
Sie ist nach Wien geflogen. (She flew to Vienna.) - laufen — to run, walk
Ich bin in den Park gelaufen. (I ran to the park.) - reisen — to travel
Sie sind viel gereist. (They travelled a lot.) - wandern — to hike
Wir sind durch den Wald gewandert. (We hiked through the forest.) - springen — to jump
Das Kind ist ins Wasser gesprungen. (The child jumped into the water.) - steigen — to climb, get in, rise
Er ist ins Auto gestiegen. (He got into the car.) - fallen — to fall
Ich bin auf der Treppe gefallen. (I fell on the stairs.)
Must-know change-of-state verbs with sein
- werden — to become
Es ist kalt geworden. (It got cold.) - sterben — to die
Der alte Hund ist gestorben. (The old dog died.) - einschlafen — to fall asleep
Das Baby ist schnell eingeschlafen. (The baby fell asleep quickly.) - aufwachen — to wake up
Ich bin um sechs Uhr aufgewacht. (I woke up at six.) - wachsen — to grow
Das Kind ist schnell gewachsen. (The child grew quickly.) - passieren — to happen
Was ist passiert? (What happened?)
The special core trio: always memorise these first
If you are a beginner, lock these in immediately:
- ich bin gegangen — I went
- ich bin gekommen — I came
- ich bin geworden — I became / got
These are extremely common, and learners often get them wrong because English uses “have” in many perfect constructions.
Here is a practical memory trick:
- If something or someone ends up somewhere else, think sein.
- If something or someone becomes different, think sein.
You can also practise specific verb forms with pages like Conjugate gehen in German, Conjugate kommen in German, and Conjugate werden in German.
Which sentence is correct?
A) Ich habe nach Berlin gefahren.
B) Ich bin nach Berlin gefahren.
Pro Tip: Do not try to memorise every sein verb alphabetically. Memorise them by meaning: movement, arrival, departure, becoming, waking, sleeping, dying, happening.
Verbs that can take haben or sein
This is where intermediate learners level up. Some verbs can use either auxiliary depending on how you use them.
fahren
- Ich bin nach Hamburg gefahren. (I travelled to Hamburg.) — no direct object, movement
- Ich habe das Auto gefahren. (I drove the car.) — direct object present
fliegen
- Sie ist nach Spanien geflogen. (She flew to Spain.)
- Der Pilot hat das Flugzeug geflogen. (The pilot flew the plane.)
schwimmen
- Ich bin im See geschwommen. (I swam in the lake.)
- In standard learner contexts, you usually will not use schwimmen transitively, so stick with sein.
reiten
- Sie ist durch den Wald geritten. (She rode through the forest.)
- Sie hat das Pferd geritten. (She rode the horse.)
What changes? Usually the answer is transitivity. If the verb takes a direct object, it often switches to haben. If it simply describes the subject moving or changing, it often uses sein.
This is one reason we focus so much on active production in VerbPal. When you have to produce the full sentence yourself, you notice whether the verb is carrying an object or just describing movement. Passive recognition alone usually does not build that instinct.
If separable verbs confuse you here, our post on German separable verbs helps a lot, because many common sein verbs are separable: aufstehen, einsteigen, ankommen, weggehen.
Pro Tip: When a verb can take both auxiliaries, do not memorise the verb alone. Memorise two full example sentences with different meanings.
Common mistakes with haben vs. sein
Let’s clean up the errors English-speaking learners make most often.
1. Using haben with common motion verbs
Wrong:
- Ich habe gegangen. ❌ (I went.)
- Wir haben gekommen. ❌ (We came.)
- Sie hat gefahren. ❌ (She travelled / drove.)
Correct:
- Ich bin gegangen. ✅ (I went.)
- Wir sind gekommen. ✅ (We came.)
- Sie ist gefahren. ✅ (She travelled / drove.)
2. Using sein just because the action feels dynamic
Wrong:
- Ich bin ein Buch gelesen. ❌ (I read a book.)
- Er ist Kaffee gekocht. ❌ (He made coffee.)
Correct:
- Ich habe ein Buch gelesen. ✅ (I read a book.)
- Er hat Kaffee gekocht. ✅ (He made coffee.)
These verbs take direct objects, so they use haben.
3. Forgetting that bleiben also uses sein
Learners remember gehen and kommen, but forget bleiben.
- Ich bin zu Hause geblieben. (I stayed at home.)
Even though no movement happens outwardly, the verb belongs to the sein group.
4. Mixing up perfect tense word order
In a main clause:
- Ich bin gestern nach Hause gegangen. ✅ (I went home yesterday.)
Not:
- Ich gegangen bin gestern nach Hause. ❌ (I went home yesterday.)
The conjugated auxiliary goes in position 2, and the participle goes to the end. If you need more on this pattern, see our guide to verb position in subordinate clauses, because weil clauses often expose this exact weakness.
5. Getting the auxiliary wrong with the perfect tense of common life verbs
Wrong:
- Ich habe aufgewacht. ❌ (I woke up.)
- Er hat gestorben. ❌ (He died.)
- Es hat passiert. ❌ (It happened.)
Correct:
- Ich bin aufgewacht. ✅ (I woke up.)
- Er ist gestorben. ✅ (He died.)
- Es ist passiert. ✅ (It happened.)
The fastest way to fix haben vs. sein is not rereading the rule — it is producing the full sentence again and again until the right auxiliary feels automatic. In VerbPal, we drill high-frequency German verbs with spaced repetition, so forms like ich bin gegangen and ich habe gearbeitet come back exactly when your memory needs them.
Try VerbPal free →Pro Tip: If you keep making the same auxiliary mistake, stop memorising isolated participles. Memorise the whole chunk: bin gegangen, ist geworden, hat gemacht, haben gelernt.
A practical memorisation system for sein verbs
You do not need a giant, perfect list on day one. You need a system that makes the most common verbs stick.
Step 1: Learn the core sein set first
Memorise these in full perfect-tense chunks:
- bin gegangen
- bin gekommen
- bin gefahren
- bin geblieben
- bin geworden
- bin aufgewacht
- bin eingeschlafen
- ist passiert
- ist gestorben
Step 2: Group them by meaning
Movement
- gegangen
- gekommen
- gefahren
- geflogen
- gelaufen
- gesprungen
Change of state
- geworden
- eingeschlafen
- aufgewacht
- gewachsen
- gestorben
Special high-frequency
- geblieben
- passiert
Step 3: Drill with contrast pairs
Contrast helps more than lists:
- Ich habe gearbeitet. / Ich bin gegangen. (I worked. / I went.)
- Sie hat das Auto gefahren. / Sie ist nach Köln gefahren. (She drove the car. / She travelled to Cologne.)
- Er hat die Tür geöffnet. / Die Tür ist aufgegangen. (He opened the door. / The door opened.)
The second sentence uses a different verb, but it shows the bigger principle: action on an object often points to haben; a state change often points to sein.
Step 4: Use active recall, not just reading
This matters. If you only look at tables, you will often recognise the right answer but still freeze when speaking. That is why we built VerbPal around active production and spaced repetition rather than streak-chasing. Our drills force you to retrieve the exact form, and Lexi 🐶 pops in during sessions with quick reminders when German word order or auxiliary choice gets slippery.
Step 5: Revisit the troublemakers often
The most useful verbs deserve the most repetition. With an SM-2 spaced repetition system, we can bring back the verbs you nearly forgot before they disappear from memory completely. That is especially helpful for irregular participles and sein verbs, because they are frequent enough to matter but limited enough to master.
Pro Tip: Build flashcards or drills around full phrases, not single words: “to go” is weaker than “ich bin gegangen.”
Example sentences you can reuse immediately
Here are practical, high-frequency examples worth copying into your notes.
With haben
- Ich habe heute viel gearbeitet. (I worked a lot today.)
- Sie hat einen Film gesehen. (She saw a film.)
- Wir haben Deutsch gesprochen. (We spoke German.)
- Er hat das Essen gekocht. (He cooked the food.)
- Habt ihr schon bezahlt? (Have you already paid?)
With sein
- Ich bin gestern früh aufgestanden. (I got up early yesterday.)
- Sie ist nach Hause gegangen. (She went home.)
- Wir sind zu spät gekommen. (We arrived too late.)
- Er ist schnell eingeschlafen. (He fell asleep quickly.)
- Was ist passiert? (What happened?)
Contrast pairs
-
Ich habe das Fahrrad gefahren. (I rode the bicycle.) — less common phrasing, but grammatically possible with an object
-
Ich bin mit dem Fahrrad gefahren. (I went by bike.)
-
Der Pilot hat das Flugzeug geflogen. (The pilot flew the plane.)
-
Sie ist nach Zürich geflogen. (She flew to Zurich.)
-
Er hat das Pferd geritten. (He rode the horse.)
-
Er ist durch den Wald geritten. (He rode through the forest.)
If you want more sentence-building support, our VerbPal blog also covers related topics like German modal verbs for politeness and weak vs. strong verb patterns.
Pro Tip: Reuse the same sentence frames with new verbs: Ich bin nach X gegangen, Ich habe Y gemacht, Was ist passiert? Repetition with variation builds fluency fast.
FAQ: haben vs. sein in the German perfect tense
Do most German verbs use haben or sein?
Most German verbs use haben in the perfect tense. Sein appears with a smaller group, mainly intransitive verbs of movement or change of state.
Why is it ich bin gegangen and not ich habe gegangen?
Because gehen is an intransitive verb of movement. It describes a change of location and takes sein in the perfect tense.
Which verbs always use sein most often in beginner German?
The most important ones to memorise early are:
- gehen
- kommen
- fahren (when intransitive)
- bleiben
- werden
- aufwachen
- einschlafen
- sterben
- passieren
Can one verb take both haben and sein?
Yes. Some verbs, such as fahren, fliegen, and reiten, can take both auxiliaries depending on whether they are transitive or intransitive.
How do I remember haben vs. sein faster?
Use full-sentence drilling and active recall. That is exactly how we approach it in VerbPal: frequent review, active production, and spaced repetition so the right auxiliary becomes automatic in speech.
If this rule finally makes sense on the page but still falls apart when you speak, that is normal. The bridge from “I understand it” to “I can say it fast” is repetition with feedback. VerbPal is designed for exactly that gap: you practise full chunks like ich bin gegangen and ich habe gearbeitet until the right auxiliary starts to feel automatic.
The big takeaway is simple: use haben for most verbs, and use sein for the smaller but crucial group of intransitive motion and change-of-state verbs. If you memorise the must-know sein verbs and practise them in full sentences, your perfect tense will sound much more natural. And once forms like ich bin gegangen and ich habe gearbeitet come out automatically, German conversation gets a lot less stressful.