The big idea
The present perfect connects the past with the present. The action happened at an unspecified time, or it started in the past and continues now, or it has a result we can see today. Form: have / has + past participle (done, seen, been, worked).
Four main uses
| Use | Example | Clue words |
|---|---|---|
| Life experience | I’ve visited Japan twice. | ever, never, twice, before |
| Unfinished time (still true now) | I’ve lived here for five years. | for, since, so far, this week |
| Recent news / result now | She’s lost her keys. (She can’t get in.) | just, already, yet, recently |
| Change over time | Prices have risen a lot. | over the last decade |
For or since?
for + a period
- for three years
- for two hours
- for a long time
since + a starting point
- since 2020
- since Monday
- since I was a child
Present perfect or past simple?
Finished time word → past simple. No finished time → present perfect.
- I saw that film last week. (finished time: last week)
- I have seen that film. (when doesn’t matter; I know it)
- Never use the present perfect with yesterday, last year, in 2015, two days ago, when + past.
Negatives and questions
Pattern
- Negative: haven’t / hasn’t + past participle → I haven’t finished.
- Question: Have / Has + subject + past participle → *Have you ever eaten sushi?*
- Yet goes at the end of negatives and questions; already goes before the participle or at the end.
Lots of examples
- I’ve never seen snow.Experience.
- Have you ever tried Indian food?Question about experience.
- She’s worked here since 2018.Unfinished time.
- We’ve known each other for ten years.for + period.
- I’ve just finished my homework.Recent action.
- He hasn’t replied yet.Yet in a negative.
- They’ve already left.Already.
- My phone has broken. I need a new one.Present result.
- It’s the best film I’ve ever seen.Superlative + ever.
- This is the first time I’ve flown alone.first time + present perfect.
- How long have you studied English?How long + present perfect.
- She has been to Paris three times.been = visited and returned.
Don’t say / Say
Don’t sayI have seen him yesterday.
SayI saw him yesterday.Why: A finished time word needs the past simple.
Don’t sayI live here since 2020.
SayI have lived here since 2020.Why: Since with a starting point needs present perfect.
Don’t sayShe has went home.
SayShe has gone home.Why: Use the past participle, not the past simple.
Don’t sayHave you ever been to London last year?
SayDid you go to London last year?Why: last year is finished time.
Don’t sayI am here for two hours.
SayI have been here for two hours.Why: Unfinished time up to now.