Present Perfect Exercises
The present perfect links something that happened before now to the moment you are speaking. The past simple puts it in a finished time and leaves it there.
Quick reference
| Use | Structure | Example |
|---|---|---|
| Life experience | have / has + past participle | I have visited Japan. |
| Unfinished duration | have / has + participle + for / since | She has worked here since 2019. |
| Recent action, present result | have / has + just + participle | He has just finished the report. |
| Finished time | past simple | He finished the report yesterday. |
Present perfect or past simple?
Ask yourself one question: can I say exactly when? If a specific finished time is in the sentence or in your head - yesterday, last week, in 2019, two days ago - use the past simple. If the time is open, unfinished or irrelevant, use the present perfect.
The exercises
Every exercise is free, needs no account, and marks each gap separately with an explanation.
Grammar is not the same as fluency
You can be right on paper and still hesitate when somebody asks you a question. These drills fix the rule; speaking out loud is what makes it automatic, and that is what the rest of this site is for.
Common questions
What is the present perfect tense?
The present perfect is have or has plus the past participle: I have finished, she has gone. It describes something that happened before now but still matters now - an experience you carry, a situation that is still true, or a recent action whose result you can still see. It does not name a specific finished time.
When do I use present perfect instead of past simple?
Use the present perfect when the time is open or unstated: "I have read that book." Use the past simple as soon as you name a finished time: "I read that book last summer." The test is whether you can answer "when?" with a specific past time. If you can, the past simple is correct.
Can I use present perfect with yesterday or last week?
No. Yesterday, last week, in 2019, two days ago and an hour ago are all finished times, and a finished time forces the past simple. "I have seen him yesterday" is wrong; "I saw him yesterday" is right. This is the single most common present perfect mistake at B1 level.
What is the difference between for and since?
For measures a length of time: for five years, for two hours, for a long time. Since names the point it started: since 2019, since Monday, since I moved here. Both are used with the present perfect for a situation that is still going on: "I have lived here for five years" = "I have lived here since 2021."
Is "have been" or "have gone" correct?
Both exist and they mean different things. "She has been to Delhi" means she went and has come back - it is an experience. "She has gone to Delhi" means she is there now, or on her way. For questions about life experience, "Have you ever been to...?" is the form you want.
How do I make present perfect questions and negatives?
Move have or has in front of the subject for a question: "Have you finished?" "Has she called?" For negatives, add not after have or has: "I have not finished" / "I haven’t finished." The past participle never changes - only have and has move.
What level is the present perfect?
It is introduced at A2 for life experience and recent actions, extended at B1 for for and since and the contrast with the past simple, and tested at B2 in mixed narrative where several tenses appear together. It is one of the most heavily tested points in Cambridge, IELTS and most placement tests.
Why do Indian English speakers find the present perfect hard?
Because Hindi, Marathi, Tamil and most Indian languages do not split past time the way English does - one past form covers both jobs. The result is two very consistent habits: the present continuous used for duration ("I am working here since 2019") and the past simple used for experience ("Did you ever go to Goa?"). Both are understood, and both mark you instantly in an interview.