English grammar

CEFR B1

The present perfect is the tense that connects the past to the present. It is also the one that causes more trouble than any other, because many languages do not separate "I have done" from "I did" the way English does. Once you see what the present perfect is actually for, the split stops feeling arbitrary.

How to form the present perfect

The structure never changes:

have / has + past participle

SubjectAuxiliaryPast participleExample
I / you / we / theyhavefinishedI have finished.
he / she / ithasgoneShe has gone.

For regular verbs the past participle is the same as the past simple: the -ed form (worked, played, finished). For irregular verbs you have to learn it, and it is often different from the past simple (see go, went, gone below).

  • Negative: add not after the auxiliary. I have not seen it. She has not arrived. The short forms are haven't and hasn't.
  • Question: put the auxiliary first. Have you finished? Has he called?

When to use the present perfect

There are three main jobs, and every present perfect sentence is doing one of them.

1. A past action with a result that matters now

The action is finished, but you are talking about its effect on the present.

  • I have lost my keys. (So I cannot get in now.)
  • She has broken her leg. (So she cannot walk now.)

2. Life experience, up to now

You are talking about whether something has ever happened in your life, without saying when.

  • I have been to Japan.
  • Have you ever eaten octopus?
  • He has never flown before.

3. A situation that started in the past and continues

The action began earlier and is still true now. This is where for and since live.

  • I have lived here for ten years. (And I still live here.)
  • We have known each other since university.

For vs since

Both answer "how long?", but they take different things:

UseWithExamples
fora length of timefor two hours, for a week, for years
sincea starting pointsince Monday, since 2010, since I was a child

I have worked here for five years = I have worked here since 2019. Same meaning, different framing.

The big one: present perfect vs past simple

This is the distinction that matters most, and the rule is simpler than it looks.

Past simplePresent perfect
Finished timeUnfinished or unstated time
I saw her yesterday.I have seen her.
He arrived at six.He has arrived.
We lived in Rome in 2015.We have lived in Rome.

The test: if you say exactly when it happened, use the past simple. Words like yesterday, last week, in 2015, two days ago all pin the action to finished time, so they force the past simple. I have seen her yesterday is wrong; it has to be I saw her yesterday.

Words that often signal the present perfect: ever, never, just, already, yet, so far, recently, this week (a week that has not finished).

British vs American usage

British and American English differ here, and both are correct in their own variety:

  • With just, already and yet, British English prefers the present perfect (I have just eaten. Have you finished yet?), while American English often allows the past simple (I just ate. Did you finish yet?).
  • The past participle of get is got in British English and gotten in American English (I have got vs I have gotten).

If you are learning British English, use the present perfect with just, already and yet.

Common mistakes

Ranked by how often they actually appear:

  1. Using the present perfect with a finished time. I have visited Paris last year. Wrong. Say I visited Paris last year or drop the time word: I have visited Paris.
  2. Wrong past participle. I have went, he has ate, they have wrote. The present perfect needs the participle: gone, eaten, written.
  3. For vs since mixed up. for Monday and since two hours are both wrong. It is since Monday and for two hours.
  4. Forgetting has for he/she/it. She have finished should be She has finished.

Practice

Choose the correct form. Answers are below.

  1. I ___ (not see) that film yet.
  2. We ___ (live) in this house since 2018.
  3. ___ you ever ___ (be) to Canada?
  4. She ___ (finish) her homework an hour ago.
  5. They ___ (know) each other for twenty years.

Answers: 1. have not seen 2. have lived 3. Have ... been 4. finished (a finished time, "an hour ago", forces the past simple) 5. have known

Frequently asked questions

What is the present perfect tense?
The present perfect links the past to the present. It is formed with have or has plus the past participle (I have finished, she has gone) and is used for past actions that still matter now, experiences in your life so far, and situations that started in the past and continue.
What is the difference between present perfect and past simple?
Use the past simple for a finished action at a finished time (I saw him yesterday). Use the present perfect when the time is unfinished or unstated and the action connects to now (I have seen him, so I know the news). If you say exactly when, you almost always need the past simple.
When do I use for and since with the present perfect?
Use for with a length of time (for three years, for ten minutes) and since with a starting point (since 2019, since Monday, since I was a child). Both answer how long a situation has lasted.
Is it I have went or I have gone?
It is I have gone. Go is irregular: its past simple is went but its past participle is gone, and the present perfect always uses the past participle. I have went is one of the most common learner errors.