Part of Chapter 6

CEFR A2

8 min read

Test yourself (18 questions)

German Perfect Tense: haben or sein, Plus a Past Participle

By Michael McGettrickUpdated 27 September 2026

If you learn one German past tense, learn this one. The perfect tense is how Germans talk about yesterday, last year and five minutes ago, and in most of the country it is the only past tense ordinary conversation uses for most verbs.

It is also easier than its reputation. There is nothing to conjugate that you do not already know: the auxiliary verb is a present-tense form of or , and the past participle on the end never changes. The two real decisions are which auxiliary to use and how to build the participle, and both follow rules that cover the large majority of verbs.

The formula

or in second position + past participle at the end.

. - I did that. / I have done that.

Film . - We saw a film.

. - She went to London.

. - I stayed at home.

The auxiliary is conjugated in the present tense and does all the grammatical work of saying who. You already know both from the first chapter:

habensein
er / hat
/

The participle goes to the very end of the clause, however much comes in between. It is the same bracket a modal verb builds with its infinitive, and it means the listener learns that you did something in the second word and what you did in the last one.

Building the participle

German has three families of verb, and each builds its participle a different way.

Weak (regular) verbs: ge- + stem + -t. Drop the -en from the infinitive, add ge- to the front and -t to the back:

infinitiveparticiplemeaning
done
said
played
bought
learnt
worked

A stem ending in -t or -d adds an extra e so the ending can be heard: , not gearbeit. This is the pattern every new verb gets, and it is the equivalent of English -ed.

Strong verbs: ge- + stem + -en, often with a new vowel. These are the old, common verbs, and they are the German cousins of English speak, spoken and drink, drunk:

infinitiveparticiplemeaning
seen
come
driven
spoken
drunk
found
gone
taken

The vowel change cannot be predicted from the infinitive, but it repeats in families (, and , share a pattern with English drink, drunk and find, found), and the English cognate is often a better guide than any rule.

Mixed verbs: the -t ending plus a vowel change. A small group, all of them common: , ; , ; , . English does the same thing with bring, brought and think, thought, and for the same historical reason.

When there is no ge-

Two groups of verbs skip the ge- entirely, and both are easy to spot:

  • Verbs ending in -ieren, which are mostly loans from French or Latin: , ; , .
  • Verbs with an unstressed prefix: be-, ver-, er-, ent-, emp-, ge- and zer-. The stress is not on the first syllable, and ge- only goes on a verb whose first syllable is stressed. So , ; , ; , ; , ; , .

Separable verbs, whose prefix is stressed and splits off in the present, are the opposite case. The ge- goes between the prefix and the stem: , ; , ; , ; , . The prefix stays glued to the front, exactly where it sat in the infinitive.

haben or sein?

This is the decision that matters, and the rule is shorter than most textbooks make it look. Use when the verb describes:

  1. Moving from one place to another: , , , , .
  2. Changing from one state to another: , , , , .
  3. Two verbs that break the pattern and join the club anyway: itself ( ) and ( ).

Everything else takes , which is most verbs: eating, reading, saying, buying, sleeping, working, and every verb with a direct object.

. - I went home. (movement: sein)

Er . - He got tired. (change of state: sein)

Was ? - What happened? (something came about: sein)

gut . - I slept well. (no movement, no change: haben)

The quick test is whether the verb has a direct object in your sentence. If it does, it takes . That is why switches: is a journey and takes , but has an object, the car, and takes . Learners in southern Germany, Austria and Switzerland will also hear with , and ; the north uses for those, and both are correct in their own region.

A day in the perfect

Here is an ordinary evening told the way a German would tell it, with every verb in the perfect:

. . . gut .

Yesterday I came home early. I drank coffee and rang my mother. We talked for a long time. Then I went to bed and slept well.

Read it for the auxiliaries. and take , because both are journeys. , , and take or , because nobody is going anywhere. Notice, too, that shows the separable ge- in the middle, and that one can serve two participles joined by , which is how Germans avoid repeating themselves. English needs a separate past form for every verb in that paragraph, most of them irregular; German gets by with two auxiliaries it already knew.

Word order with the perfect

The participle goes last in a main clause. In a question, the auxiliary jumps to the front and the participle still waits at the end:

? - Have you read the book?

Was ? - What did you do yesterday?

After , or , the auxiliary joins the participle at the end, and goes after it:

, er . - I know that he came.

, hat. - She is tired because she worked a lot.

Perfect or simple past?

German does have a simple past, the PrÀteritum ( , I went), and books, newspapers and formal writing use it all the time. Conversation mostly does not. In southern Germany, Austria and Switzerland the spoken PrÀteritum has all but disappeared; in the north it survives a little more, but the perfect still dominates.

The exception is a short list of verbs that almost everyone uses in the simple past, even in speech, because their perfect is clumsy and their simple past is short:

war . - I was tired. (rather than ich bin mĂŒde gewesen)

. - I had no time.

. - I could not come.

So the working rule for speaking: war, and the modals in the simple past; everything else in the perfect.

Mistakes English speakers make

  • Mapping it onto the English present perfect. English will not let you say I have seen him yesterday. German will, and must: is the ordinary way to say I saw him yesterday. The German perfect covers both English tenses.
  • with verbs of motion. Ich habe gegangen is the loudest perfect-tense mistake there is. If you went somewhere, you .
  • Parking the participle in the middle. English puts seen next to have; German sends it to the end. Ich habe gesehen den Film is wrong; Film is right.
  • Adding ge- where it does not belong. Geverstanden and gepassiert are not words. Check the first syllable: if it is unstressed, there is no ge-.
  • Using the perfect for and in speech. It is not wrong, and in the south it is common, but in much of Germany ich bin mĂŒde gewesen sounds stiff next to war . Use the short forms.

What to learn next

Start with the twenty or so verbs you use most, and learn each one as three words: infinitive, auxiliary, participle. Not just , but , . It is the same habit that makes German plurals manageable, and it settles both of this page's decisions at once. The weak verbs will then take care of themselves, because every new one follows ge- and -t.

The strong verbs are worth their own session, and the German verb conjugation guide sets out the present-tense patterns they grow from. The verb pages for haben, sein and machen show the participle beside every form, and the German course drills the perfect in sentences from the sixth chapter on.

Practise: test yourself

Pick the right one

0/6

haben or sein? Pick the auxiliary.

  1. Ich nach Hause gegangen.

  2. Ich das Buch gelesen.

  3. Ich zu Hause geblieben.

  4. Ich eine Nachricht geschrieben.

  5. Ich in die Stadt gefahren.

  6. Ich Kaffee getrunken.

Matching

0/5

Match the infinitive to its past participle.

Fill in the blank

0/4

Write the past participle of the verb in brackets.

  1. Was hast du ? (sagen) (sagen)

  2. Wir haben lange . (sprechen) (sprechen)

  3. Er ist gestern . (kommen) (kommen)

  4. Was ist ? (passieren) (passieren)

Translation drill

0/3

One German tense, and English has to choose between two.

  1. Ich habe ihn gestern gesehen.

  2. Wir sind nach Hause gegangen.

  3. Was hast du gemacht?

German · Free printables

Practice worksheets and infographics

Practice worksheets with answer keys built in, plus infographic and listicle formats. Open any one to view, print or save.

Free for members

The printable worksheets, infographics and PDFs are free with an account. Start a free week and download as many as you like.

Start your free week

Frequently asked questions

How do you form the perfect tense in German?
Take the present tense of haben or sein, put it in second position like any conjugated verb, and put the past participle at the end of the clause. Ich habe ihn gesehen is I saw him or I have seen him. The auxiliary carries the person and number; the participle never changes.
When do you use sein instead of haben in the German perfect tense?
With verbs that describe moving from one place to another (gehen, kommen, fahren, laufen) or changing from one state to another (werden, sterben, passieren), plus sein and bleiben. None of them can take a direct object in that sense. Every other verb, which is the large majority, takes haben.
How do you make a German past participle?
Regular (weak) verbs wrap the stem in ge- and -t: machen, gemacht; sagen, gesagt. Strong verbs use ge- and -en, often with a vowel change: sprechen, gesprochen; gehen, gegangen. Verbs ending in -ieren and verbs with an unstressed prefix such as be-, ver- or er- take no ge- at all: passiert, verstanden, bekommen.
What is the difference between the German perfect and simple past?
Mostly register, not meaning. The perfect is what people say; the simple past (PrÀteritum) is what books and news reports write. The big exception is a short list of verbs, above all sein, haben and the modals, which almost everyone uses in the simple past even in speech: ich war, ich hatte, ich konnte.
Is the German perfect the same as the English present perfect?
No, and treating it as the same is a common mistake. English keeps I saw and I have seen apart and will not allow I have seen him yesterday. German uses the perfect for both, so Ich habe ihn gestern gesehen is perfectly normal and simply means I saw him yesterday.