Present perfect vs past simple
Choose between I have done and I did: experience, news, unfinished time and the finished past.
Not sure B1 is your level? Find out in 8–40 questions, no account needed.
Both tenses talk about the past. The present perfect (I've seen) connects the past with now. The past simple (I saw) talks about a finished time. The question is not when it happened, but how we see it.
Present perfect | Past simple | |
|---|---|---|
Form | have/has + past participle | past form |
Time | not said, or still going on | finished, and we know when |
Time words | ever, never, just, already, yet, since, this week | yesterday, last year, ago, in 2015 |
Form of the present perfect
Use have or has + the past participle. Regular past participles end in -ed (worked); irregular verbs have their own form (go → gone, see → seen, write → written).
Subject | Positive | Negative |
|---|---|---|
I, you, we, they | I've seen | I haven't seen |
he, she, it | she's seen | she hasn't seen |
- Have you finished? Yes, I have.
- Has he called? No, he hasn't.
Life experience or a particular time
For experience in our life up to now, without saying when, use the present perfect. As soon as we say or ask when, change to the past simple.
- I've been to Scotland twice.
- I went to Scotland last summer.
- Have you ever eaten octopus? Yes, I ate it on holiday in Greece.
(The answer gives details, so it changes to the past simple.)
- Incorrect: I've been to Scotland in 2019.
- Correct: I went to Scotland in 2019.In 2019 says when, so use the past simple.
News, then the details
We give news with the present perfect because the result matters now. Then we tell the story with the past simple.
- I've lost my keys! I think I left them at work.
- The meeting has been moved. They changed it this morning.
- Incorrect: I have seen this film yesterday.
- Correct: I saw this film yesterday.Yesterday is a finished time, so use the past simple.
Unfinished time or finished time
Today, this week, this year are not finished yet, so use the present perfect. Yesterday, last week, last year are finished, so use the past simple.
- I haven't seen him this week.
- I didn't see him last week.
- I've had two coffees this morning.
(It is still morning. In the evening we say I had two coffees this morning.)
For and since: up to now
When a situation started in the past and is still true, use the present perfect with for (a period) or since (a starting point). If it has finished, use the past simple.
- She's lived here since 2019.
(She still lives here.)
- We've known each other for ten years.
- She lived in Manchester for ten years, then she moved to Leeds.
(That time is finished.)
- Incorrect: I live here for five years.
- Correct: I've lived here for five years.The situation started in the past and continues now, so use the present perfect.
Just, already and yet
In British English these words usually go with the present perfect. Yet goes at the end of questions and negatives.
- We've already booked our holiday.
- Has the parcel arrived yet?
- I've just finished my homework.
- Incorrect: I didn't finish yet.
- Correct: I haven't finished yet.In American English the past simple is common here, but in British English we use the present perfect.
Questions with when
A question with when asks about a time, so it takes the past simple.
- When did you start your new job?
- What time did they arrive?
- Incorrect: When have you arrived?
- Correct: When did you arrive?
Been or gone
Been means "went and came back". Gone means "went and is still there".
- He's gone to the bank. He'll be back soon.
- He's been to the bank. Here's the money.
- Incorrect: She has gone to Spain three times.
- Correct: She has been to Spain three times.She went and came back, so use been.