Haben vs. Sein: Choosing the Right Auxiliary for the German Perfect Tense

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.

Quick facts: haben vs. sein
Main ruleMost verbs take haben in the German perfect tense. Use seinMainly with intransitive verbs of motion or change of state. Big dangerEnglish habits make learners overuse haben, especially with gehen, kommen, and werden.

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:

  1. Motion from A to B
  2. 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.

🐶
Lexi's Tip

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
ichhabeI have
duhastyou have (informal)
er/sie/eshathe/she/it has
wirhabenwe have
ihrhabtyou have (plural informal)
sie/Siehabenthey / you have (formal)

Present tense of sein

Pronoun Form English
ichbinI am
dubistyou are (informal)
er/sie/esisthe/she/it is
wirsindwe are
ihrseidyou are (plural informal)
sie/Siesindthey / 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.

Ich bin nach Berlin gefahren. is correct for “I travelled to Berlin.” Use sein because fahren here is intransitive and expresses motion from one place to another.

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.)
Put it into practice

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.

VerbPal Bridge

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.

Master German perfect tense without second-guessing your auxiliary
Start your 3-day free trial — available on iOS and Android.
Try VerbPal free → Download on iOS → Download on Android →

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.

Ready to stop freezing mid-sentence?

Try VerbPal free for 3 days and build real tense recall through spaced repetition.

Try VerbPal Free for 3 Days

Cancel anytime.