Present perfect vs past simple: the difference is the time frame
English speakers choose between I saw and I have seen without thinking about it, which is why explanations from native speakers are often unhelpful. The rule is more mechanical than they realise.
Past simple is for a finished time period. Present perfect is for a time period that includes now. Everything else follows from that.
Finished time takes past simple
If the time frame is over — yesterday, last week, in 2019, when I was a child — the event is sealed inside it. Use past simple. This holds even if the event happened seconds ago, as long as the period is closed.
- I saw her yesterday.Yesterday is finished.
- We lived in Berlin for six years.We no longer live there.
- Did you call him this morning?Said in the afternoon — the morning is over.
Unfinished time takes present perfect
If the period is still running — today, this week, this year, my life so far — the event sits inside a container that is still open. Use present perfect.
- I have seen her twice this week.The week is not over.
- We have lived in Berlin for six years.We still live there.
- Have you called him this morning?Said at 10am — the morning is still going.
Experience, with no time mentioned at all
When no time is given, present perfect presents the event as part of your life to date — the implied container is “ever”. This is why Have you been to Japan? asks about your whole life, while Did you go to Japan? asks about a specific trip both speakers already know about.
- I have never eaten oysters.In my life so far.
- She has written three novels.She is alive and may write more.
- He wrote three novels.Implies his writing life is over.
Results that still matter
Present perfect also signals that a past event has a present consequence. The event is past; the relevance is now.
- I have lost my keys.I still cannot get in.
- I lost my keys.Just narrating — maybe I found them.
- She has broken her arm.It is still broken.
Mistakes worth avoiding
I have seen him yesterday.
I saw him yesterday.
Yesterday is a finished period, so it cannot take present perfect. This is the single most common error, and it is the easiest to self-correct: if you can name a finished time, use past simple.
I am here since Monday.
I have been here since Monday.
A situation that started in the past and continues now needs present perfect in English, even though many languages use the present tense here.
When have you arrived?
When did you arrive?
When asks for a specific finished point in time, so it is almost always incompatible with present perfect.
Questions
Why do Americans use past simple where British speakers use present perfect?
American English tolerates past simple in some present-perfect contexts, especially with already, just and yet — Did you eat yet? is normal in the US and odd in the UK. Both are correct within their variety. If you are preparing for IELTS or Cambridge exams, use the British pattern; the rubrics assume it.
Is present perfect a past tense or a present tense?
Grammatically it is a present tense — the auxiliary have is in the present. That is not a technicality: it explains why present perfect cannot combine with finished time expressions. The sentence is anchored in now, and describes what is true now as a result of the past.
Which languages find this hardest?
Speakers of German, French, Italian and Spanish tend to over-use present perfect, because their equivalent compound past covers ground that English gives to past simple. Speakers of Russian, Polish and Chinese tend to under-use it, since their languages mark aspect differently or not at all.
Last updated