Free sample chapters are live — preview before you buy.Browse previews
The Study Desk
🇩🇪German·A2· 9 min read·Jun 13, 2026

Perfekt with Haben or Sein: The Movement Rule

How to form the German Perfekt and choose between haben and sein. The movement and change-of-state rule, participle formation, and a drill with answers.

By the Vega Publishing Editorial Team

The Perfekt is German's everyday past

In spoken German, the Perfekt is how you talk about the past. It is built from two pieces: a helper verb in the present (haben or sein) plus a past participle that goes to the end of the sentence. Ich habe gegessen means 'I have eaten' or simply 'I ate'.

The only real decision is haben or sein. The large majority of verbs use haben. A specific group of verbs uses sein, and once you know that group, everything else is haben.

How to form the past participle

Regular (weak) verbs follow ge- + stem + -t. Many strong verbs follow ge- + stem + -en with a vowel change. Build a stock of the common ones.

machen → gemacht
to do → done
Weak: ge- ... -t
spielen → gespielt
to play → played
Weak: ge- ... -t
sehen → gesehen
to see → seen
Strong: ge- ... -en
essen → gegessen
to eat → eaten
Strong, with vowel change
gehen → gegangen
to go → gone
Strong: takes sein

The default: haben

Most verbs, especially those with a direct object (transitive verbs), form the Perfekt with haben. If a verb is not about movement or a change of state, assume haben.

Ich habe ein Buch gelesen.
I read a book.
Transitive → haben
Wir haben Fußball gespielt.
We played football.
haben + gespielt
Sie hat einen Kuchen gebacken.
She baked a cake.
haben + gebacken

The sein group: movement and change of state

Use sein for verbs of motion from one place to another (gehen, fahren, kommen, laufen, fliegen) and verbs of change of state (aufwachen, einschlafen, sterben, werden). Two important extras, bleiben (to stay) and sein itself, also take sein even though they involve no movement.

Ich bin nach Berlin gefahren.
I went to Berlin.
Motion → sein
Er ist früh aufgewacht.
He woke up early.
Change of state → sein
Sie ist eingeschlafen.
She fell asleep.
Change of state → sein
Wir sind zu Hause geblieben.
We stayed home.
bleiben → sein (exception)
Das ist gut gewesen.
That was good.
sein → sein (gewesen)

Pronunciation: the ge- prefix and the ch sounds

Almost every participle starts with the unstressed ge- prefix, and several contain the tricky German ch. Get these right and your past tense sounds native.

  • gemacht — IPA /ɡəˈmaxt/ — 'guh-MAKHT', the ge- is a quick 'guh', and ch is a throaty sound like the ch in Scottish 'loch'.
  • gegessen — IPA /ɡəˈɡɛsn̩/ — 'guh-GES-sen', double s pronounced sharp.
  • gefahren — IPA /ɡəˈfaːʁən/ — 'guh-FAH-ren', long a, soft throaty r.
  • Special note: ich and the soft ch (as in nicht) use a lighter, hissing sound made near the front of the mouth, different from the throaty ch in gemacht. German has two ch sounds.

Mini-drill: haben or sein?

Choose the auxiliary and the participle, then check the key.

  • 1. Ich ___ (essen) eine Pizza.
  • 2. Wir ___ (fahren) nach München.
  • 3. Sie ___ (spielen) Tennis.
  • 4. Er ___ (einschlafen) auf dem Sofa.
  • 5. Du ___ (sehen) den Film?
  • 6. Ich ___ (bleiben) zu Hause.

Answer key

  • 1. habe gegessen — Ich habe eine Pizza gegessen. (transitive → haben)
  • 2. sind gefahren — Wir sind nach München gefahren. (motion → sein)
  • 3. hat gespielt — Sie hat Tennis gespielt. (haben)
  • 4. ist eingeschlafen — Er ist auf dem Sofa eingeschlafen. (change of state → sein)
  • 5. hast gesehen — Hast du den Film gesehen? (haben)
  • 6. bin geblieben — Ich bin zu Hause geblieben. (bleiben → sein)

Frequently asked questions

When do I use haben and when sein in the German Perfekt?

Use haben for most verbs, especially those with a direct object. Use sein for verbs of motion from one place to another (gehen, fahren, kommen) and verbs of change of state (aufwachen, einschlafen, sterben), plus the two exceptions bleiben and sein. If a verb is not about movement or change, assume haben.

How do I form the past participle?

Regular (weak) verbs take ge- plus the stem plus -t: machen becomes gemacht. Strong verbs take ge- plus the stem plus -en, often with a vowel change: sehen becomes gesehen, gehen becomes gegangen. The participle goes to the end of the clause.

Why do bleiben and sein take sein even without movement?

They are the classic exceptions to the movement rule. Bleiben (to stay) and sein (to be) both form the Perfekt with sein: ich bin geblieben, ich bin gewesen. There is no logical motion involved, so they simply have to be memorised.

Is the Perfekt the same as the English present perfect?

Not exactly. German uses the Perfekt for most spoken past actions, where English would often use a simple past. Ich habe gegessen can mean both 'I have eaten' and 'I ate', depending on context. In conversation, Germans prefer the Perfekt over the simple past (Präteritum) for most verbs.