The short answer
Use the past simple when the action belongs to a finished time: yesterday, last year, in 2019, two days ago, when I was a child. Use the present perfect when the time reaches up to now: your life so far, this week, recent news with just, already and yet, and situations that started in the past and continue, with for and since. If you say or mean when it happened, use the past simple.
Two tenses, two ways of looking at the past
The past simple is the regular past: I worked, she went, we saw. It places an action at a point in the past that is over, and it says nothing about now. The present perfect is made with have or has plus the past participle: I have worked, she has gone, we have seen. In speech it is usually shortened to I've, she's, we've.
The name is a good clue. The present perfect is a present tense: it talks about the past from the point of view of now. When you say I have lost my keys, the interesting part is the present result, that you cannot open the door. When you say I lost my keys last week, you are telling a story about last week, and you may have found them since.
I lost my keys on Saturday.
A finished time: Saturday is over, and the sentence tells you when.
I've lost my keys.
Now: the keys are still missing, and the time does not matter.
She lived in Rome for ten years.
She does not live there any more: a finished period.
She's lived in Rome for ten years.
She still lives there: the ten years reach up to today.
Notice the last two sentences. The words are almost the same, for ten years appears in both, and yet they say opposite things about the present. This is why the choice matters: the tense alone tells the listener whether the situation is over.
Finished time takes the past simple
The most reliable rule is about time words. When a sentence contains a finished time, the verb goes into the past simple. Yesterday, last week, last year, in 2019, two days ago, on Monday, when I was younger all point to a moment that is over, so they cannot go with the present perfect. Ago is the clearest case: it always takes the past simple.
The same goes for questions with when. When did you arrive? asks for a point in the past, so it takes the past simple. When have you arrived? sounds wrong to a native speaker, even though many languages would build the question exactly that way.
| Time words | Tense | Example |
|---|---|---|
| yesterday, last night, last week, last year | past simple | I called her yesterday. |
| ago: two days ago, a long time ago | past simple | We met three years ago. |
| in 2019, on Monday, at six o’clock | past simple | He moved to Boston in 2019. |
| when I was a child, when you called | past simple | When I was a child, I lived by the sea. |
| ever, never, before (in your life so far) | present perfect | Have you ever been to Mexico? |
| just, already, yet, recently | present perfect (often past simple in the US) | I've just finished. |
| today, this week, this year (not over) | present perfect | I've drunk three coffees today. |
| for and since (up to now) | present perfect | We've lived here since 2020. |
A finished time word decides on its own: once you say when, the past simple is the safe choice.

Unfinished time: today, this week, this year
Some time words describe a period that is not over yet. Today, this week, this month and this year are still running while you speak, so the present perfect fits: I've had two meetings today, she's read three books this month. The period is open, and more meetings or books could still come.
The same word can go either way, depending on whether the period is finished in your mind. Imagine it is evening. This morning is over, so you say I went to the gym this morning. At ten in the morning, the morning is still running, and I've already been to the gym this morning is natural. The question is never the word itself but whether the time it names has ended.
Ask yourself: is the time over?
Today, this week and this year usually take the present perfect because they are still running. This morning, this summer or this trip take the past simple once they are finished. The tense follows the time, not the word.

Life experience: ever, never and been to
The present perfect is the tense for experiences in your life so far, when the time is not important. Your life is the unfinished period, so Have you ever been to Japan? asks whether it has happened at any time up to now. Ever is used in questions, never in negatives, and before can mean at any time until now.
Have you ever tried Korean food?
At any time in your life until now.
I've never seen snow.
Not once, up to this moment.
She's been to Brazil twice.
The number of times, with no date.
This is the best book I've ever read.
Superlatives often take ever and the present perfect.
Conversations often start in the present perfect and then move to the past simple. The first sentence introduces the experience, and the follow-up questions ask about details, which belong to a finished time. Have you ever been to New York? Yes, I went there in 2022. Did you like it? As soon as the conversation turns to a particular trip, the past simple takes over.

Recent news: just, already and yet
News and recent events usually come in the present perfect, because the result is what matters now. The prices have gone up. Our train has been canceled. I've found a new job. When you go on to give details, with times and places, you switch to the past simple: our train has been canceled; it broke down outside the city at six.
Three small words go naturally with this kind of news. Just means a short time before now and sits between have and the past participle: I've just eaten. Already means sooner than expected, and goes in the same place or at the end: she's already left, she's left already. Yet is used in questions and negatives and goes at the end: have you finished yet? I haven't finished yet.
I've just sent you the file.
A moment ago: check your inbox now.
They've already booked the tickets.
Earlier than you might expect.
Has the mail arrived yet?
Yet in a question: up to now.
We haven't decided yet.
Yet in a negative: not up to now, but maybe soon.
Still goes before the verb
Still is the partner of yet in negatives, with more surprise or impatience. It goes between the subject and have: I still haven't heard from him. Compare the calmer I haven't heard from him yet.
For and since: situations that continue
When a situation started in the past and is still true, English uses the present perfect, not the present simple. This is the opposite of many languages, where you say the equivalent of I live here since 2020. In English, I've lived here since 2020 is the only correct form, because the sentence covers the whole period from 2020 up to now.
Use for with a length of time and since with the starting point. For three years, for a week, for ages; since 2020, since Monday, since I was a child. A quick test: if you can ask how long, use for; if you can ask since when, use since. How long have you known her? For ten years. Since when? Since school.
We've known each other for ten years.
For with a length of time.
She's worked here since March.
Since with the starting point.
I've had this phone since I started university.
Since can also introduce a clause.
How long have you been a teacher?
How long questions about a period up to now take the present perfect.
Be careful with for in the past simple. I lived in Rome for ten years is correct, but it means the ten years are over. For on its own does not decide the tense: the question is whether the period reaches up to now.
Once you say when, use the past simple.
Not sure which level you are?
The level test places you from A1 to C1 in a few minutes, and shows the class that fits you.
Have been or have gone?
Go has two past participles in practice, and they mean different things. Been means the person went somewhere and came back. Gone means the person went and is still there, or still on the way. So if your colleague is not at her desk, you say she's gone to lunch. When she is back, she's been to lunch.
Tom has gone to Spain.
He is in Spain now, or traveling there.
Tom has been to Spain.
He went at some point and is back home now.
Where have you been? I've been looking for you.
You are here now, so been, not gone.
Have you ever been to Lisbon?
Life experience always uses been: you came back to tell the story.

The present perfect continuous, briefly
The present perfect has a continuous form: have or has plus been plus the -ing form. It stresses an activity that has been going on for some time and is often still going on, usually with for or since. It's been raining for hours. I've been studying English since September. The focus is on the activity and its duration, not on a result.
Compare the two forms. I've read your report puts the weight on the result: the report is read. I've been reading your report puts the weight on the activity, and suggests that you may not have finished. The continuous form also explains visible signs of a recent activity: you look tired; have you been working late?
I've been learning German for six months.
An activity that started six months ago and continues.
I've learned two hundred new words.
A result you can count: the simple form.
Your hands are dirty. Have you been gardening?
A visible sign of a recent activity.
Not with know, like or own
Verbs for states rather than actions, such as know, like, believe, own and belong, normally stay in the simple form: I've known her for years, not I've been knowing her. The continuous form is for activities.
American and British English
Both varieties follow the rules above, but American English uses the past simple in more situations, especially with already, yet and just. Where a British speaker asks Have you eaten yet?, an American will often ask Did you eat yet? Both are correct in their own variety, and you will hear both in films, series and international teams.
British English
Have you eaten yet? I've just seen him. She's already left. It's got cold outside.
American English
Did you eat yet? I just saw him. She already left. It's gotten cold outside.
Another visible difference is the participle of get. American English often uses gotten as the past participle, as in it's gotten cold, while modern British English uses got. Whichever variety you choose, the core rule does not change: a finished time such as yesterday or ago takes the past simple on both sides of the Atlantic.
Why your own language trips you up
Most mistakes with these two tenses come from translating. Many European languages have a tense that looks like the present perfect, built with have and a past participle, but it does a different job. That makes the English form feel familiar when it is not.
Italian, French and German speakers
The Italian passato prossimo, the French passé composé and the German Perfekt are used as everyday past tenses for completed actions, including with finished times. Ieri ho visto Marco, hier j'ai vu Marc, gestern habe ich Markus gesehen: all three use have and a participle with yesterday. In English this must be I saw Marco yesterday, never I have seen Marco yesterday. If your sentence has a finished time, translate your perfect tense with the past simple.
Spanish speakers
The Spanish pretérito perfecto is closer to English, but in most of Spain it is also used for events in a period that is still running, and often for anything that happened today, as in esta mañana he ido al médico. In English, once the morning is over, it is I went to the doctor this morning. In much of Latin America, by contrast, the preterite is used where English needs the present perfect, which leads to I lived here since 2020 instead of I've lived here since 2020.
Portuguese speakers
Portuguese is the trickiest case. The pretérito perfeito composto, eu tenho comido, describes something repeated or ongoing, closer to I have been eating than to I have eaten. Brazilian Portuguese usually expresses experience and recent news with the simple past and já: você já foi a Londres?, eu já comi. So Portuguese speakers often say Did you ever go to London?, which is heard in casual American English, where standard English, and British English above all, prefers Have you ever been to London?
One mistake is shared by almost everyone: the present tense with since or for. Vivo qui da tre anni, j'habite ici depuis trois ans, vivo aquí desde hace tres años and moro aqui há três anos all use the present. English needs the present perfect: I've lived here for three years.
Common mistakes
These are common slips for learners of every background, and each one breaks a rule from this article.
Wrong: I have seen him yesterday.
Right: I saw him yesterday.
Yesterday is a finished time, so it takes the past simple.
Wrong: We have met two years ago.
Right: We met two years ago.
Ago always goes with the past simple.
Wrong: I live here since 2020.
Right: I've lived here since 2020.
A situation that continues up to now takes the present perfect.
Wrong: I have worked here since three years.
Right: I've worked here for three years.
For goes with a length of time, since with the starting point.
Wrong: When have you arrived?
Right: When did you arrive?
A question with when asks for a finished moment.
Wrong: He's been to the bank. He'll be back soon.
Right: He's gone to the bank. He'll be back soon.
He is still away, so gone, not been.
Wrong: I've been knowing her for years.
Right: I've known her for years.
Know is a state verb, so it stays in the simple form.
How to choose in practice
When you are not sure, ask two questions. First, is there a finished time in the sentence or in your head, a when? If so, use the past simple. If not, ask whether the time reaches up to now: your life so far, an open period like this week, recent news, or a situation that is still true. Then the present perfect is the natural choice.
Rules help, but the choice becomes automatic only with practice in real conversations, where someone asks have you ever and you have to answer on the spot. In live classes with a teacher and the same small group, you use both tenses every week, and exercises with instant feedback show you right away when a time word and a tense do not match.
Writing is the other half. Short texts about your week, a trip or your plans make you choose between the two tenses dozens of times, and your teacher corrects your homework, so the mistakes in the table above get caught before they become habits. Start with the time words: once yesterday and ago always come with the past simple, most of the hard cases are already solved.
Test my knowledge
Quick quiz on this article. Pick an answer to see why.
Questions people ask
Can I use the present perfect with yesterday?
No. Yesterday, last week, in 2019 and ago are finished times, and they take the past simple: I saw him yesterday. The present perfect is for time that reaches up to now.
Is "Did you eat yet?" correct?
Yes, in American English, which often uses the past simple with yet, already and just. British English prefers Have you eaten yet? Both are understood everywhere.
What is the difference between been and gone?
Been means the person went and came back: she has been to Paris. Gone means the person is still there or on the way: she has gone to Paris, she is not here.
When should I use the present perfect continuous?
For an activity that started in the past and is still going on, or has just stopped, especially with for and since: I have been waiting for an hour. Verbs for states, such as know and like, stay in the simple form.
Why do Italian, French and German speakers say "I have seen him yesterday"?
Because their own perfect tense is an everyday past tense that works with finished times. In English, a finished time such as yesterday needs the past simple.
Sources: British Council LearnEnglish: Present perfect, British Council LearnEnglish: just, yet, still and already, Cambridge Dictionary: Present perfect simple, Cambridge Dictionary: Ago, American and British English grammatical differences, Present perfect in other languages.



