Present Perfect vs Past Simple Exercises
Free present perfect vs past simple practice: 20 questions with instant feedback and explanations. Learn when a finished time forces the past simple. B1-B2.
How this works
These two tenses describe the same past events and choose differently between them, which is why they are tested together more often than either is tested alone.
The past simple puts an action inside a finished period of time. Yesterday, last month, in 2019, two days ago, when I was at college - all of these are closed. The period is over, the action sits inside it, and nothing about it reaches the present. "I met your brother last week."
The present perfect refuses to name the time. It reports that something is true of the period running up to now: an experience you have collected, a situation that started earlier and is still going, or an action so recent that its result is still in front of you. "I have met your brother" - at some point, it does not matter when, and I now know him.
The practical test is one question: can you say exactly when? If a specific finished time is in the sentence, or sitting unspoken in your head, the past simple is the only correct choice. If the time is open, unknown or beside the point, the present perfect is.
This is why "I have seen him yesterday" is wrong. Yesterday is closed, and a closed time cannot take a tense whose whole job is to stay open. It is also why a conversation so naturally moves from one to the other: "Have you been to Goa?" opens the topic, and "Yes, I went in December" closes it with the detail.
Why this trips up Indian English speakers
Two habits account for most of the present perfect errors in Indian English, and both are direct carry-overs rather than carelessness.
The first is duration: "I am working here since three years." Hindi uses a present-tense construction for a situation that started in the past and is still true, and that maps straight onto the English present continuous. English does not allow it - an unfinished stretch of time takes the present perfect, and since takes a starting point, not a length. The sentence has two separate faults and the correct form is "I have worked here for three years."
The second is experience: "Did you ever go to Goa?" Where English asks about a life experience with the present perfect, most Indian languages use a plain past, so "Have you ever been to Goa?" becomes a past-simple question. It is perfectly comprehensible, which is exactly why it survives into fluent professional speech.
Both are near-invisible in writing, where you have time to correct yourself, and very audible in an interview. If you fix one thing about your tenses before a placement round, fix "since three years".
20 questions
All 20 questions are below, with the rule explained above. Turn on JavaScript to work through them one at a time and check each answer as you go.
-
I _____ (live) in this city for five years and I still love it here.
The five years started in the past and are still running.
-
She _____ (move) to London last month.
Look for the closed time at the end of the sentence.
-
_____ you ever _____ (be) to Japan?
Two blanks: the auxiliary, then the past participle.
-
We _____ (visit) the museum yesterday morning.
Yesterday morning is over.
-
He _____ just _____ (finish) his report, so he is free now.
"Just" sits between the auxiliary and the participle.
-
Fix this sentence: I have met your brother last week.
_____
One time word here makes the tense impossible.
-
They _____ (not finish) the project yet.
"Yet" is a present perfect word.
-
_____ the film last night and it was excellent.
Check the time phrase before you check the tense.
-
Priya _____ (work) here since 2019.
"Since" names when it started, not when it ended.
-
_____ you _____ (finish) your homework? We can leave now.
The question is about the situation right now, not about when.
-
Fix this sentence: She has gone to Delhi in 2021.
_____
A year is a closed time.
-
I _____ (never see) snow in my life.
"Never" goes between the auxiliary and the participle.
-
My brother _____ (buy) a new phone two days ago.
"Ago" always closes the time.
-
How long _____ in this company?
You are still in the company.
-
_____ she _____ (call) you yesterday?
After "did", the verb goes back to its base form.
-
We _____ (already have) lunch, so we are not hungry.
"Already" goes between the auxiliary and the participle.
-
Fix this sentence: I am working here since three years.
_____
Two things are wrong: the tense, and the word before the number.
-
Arrange the words into a correct sentence.
_____
Auxiliary, then already, then the participle.
-
He _____ (study) in Pune from 2015 to 2019.
"From ... to ..." marks both ends of the period.
-
Fix this sentence: Have you ever went to Goa?
_____
The tense is right. The form of the verb is not.
Now say it out loud
Getting it right in a gap is not the same as getting it right while you are talking. That is the gap this whole site exists to close, and it takes sixty seconds.
Tell me about one place you have visited in your life, and one thing you did there last time. Use the present perfect for the experience and the past simple for the detail.
Common questions
Can present perfect and past simple both be correct in the same sentence?
Only if the sentence gives no finished time. "I have read that book" and "I read that book" are both grammatical, but they say different things: the first reports an experience you carry, the second points at an occasion you both have in mind. As soon as a finished time appears - last summer, in 2019, yesterday - only the past simple survives.
Which time words force the past simple?
Any closed period: yesterday, last night, last week, last year, in 2019, two days ago, an hour ago, when I was a student, at 6 o’clock. Any of these in the sentence rules out the present perfect entirely. The present perfect takes open words instead: ever, never, already, yet, just, so far, recently, for, since.
Is American English different here?
Slightly, and it is worth knowing for tests. Americans accept the past simple where British English prefers the present perfect with just, already and yet - "Did you eat yet?" is normal American, "Have you eaten yet?" is standard British. Cambridge, IELTS and most Indian placement tests follow the British pattern, so use the present perfect in exams.