Present Perfect vs Past Simple: The Simple Rule
"Have you seen it?" or "Did you see it?" This is the grammar point my students ask about more than any other, and the one that quietly makes your English sound advanced the moment you get it right. Here's the single rule that makes it click, the time words that lock it in, and the exact mistakes I hear from German and Spanish speakers, so you can sidestep them.
The one rule that matters
Forget the long grammar tables for a second. The whole thing rests on one idea:
Use the past simple (I did, I saw, I went) for a finished time, a moment that is over and disconnected from now.
Use the present perfect (I have done, I have seen, I have gone) when the time is unfinished, or when the past action still matters right now.
✔ "I have seen Anna today.", today isn't over yet, so present perfect.
That's the engine. Everything else in this article is just a different angle on the same idea, so if one explanation doesn't land, the next one will.
Think "when?" vs "the result"
Here's the mental test I give students. Before you choose, ask yourself: is this sentence about when something happened, or about the result we have now?
If you mention or care about when, use the past simple. If you only care that it happened, the result, the effect it has on this moment, use the present perfect.
✔ "I lost my keys on Monday.", now we're talking about when.
Watch how naturally the two hand off to each other in real speech: "I've broken my phone!", "Oh no, how did you break it?" You announce the result with the present perfect, then switch to the past simple the instant you talk about the specific moment.
Time words are your biggest clue
Certain time expressions almost always pull one tense or the other. Learn these two lists and half your decisions are made before you even think.
Past-simple friends (finished time): yesterday, last week, last year, in 2019, two days ago, when I was young, at 6 o'clock.
✔ "I went to Berlin last year.", "last year" is finished, so no present perfect.
Present-perfect friends (unfinished or connected to now): ever, never, already, yet, just, so far, recently, this week, today.
Just, already and yet, the little signal words
Three small words show up constantly with the present perfect, so it's worth seeing them clearly.
just = a very short time ago: "I've just had lunch." already = sooner than expected, and it usually goes mid-sentence: "She's already left." yet = up to now, and it goes at the end of questions and negatives: "Have they arrived yet?" / "I haven't finished yet."
ever and never handle life experience: "Have you ever been to Italy?" / "I've never tried oysters." Once these feel automatic, a lot of present-perfect sentences write themselves.
Want this to finally stick?
The fastest way to master tenses is to use them out loud with someone who corrects you gently and explains the "why." Try a free trial English lesson with me.
📩 Book a free trial lessonExperience vs a specific event
The present perfect is the tense of life experience, things that have happened at some point in your life, where the exact date doesn't matter.
✔ "I read it last summer." (specific event, when)
This is why we so often start a story in the present perfect and continue it in the past simple: "I've been to Japan twice. The first time I went, I stayed in Kyoto and it was amazing." The present perfect opens the door; the past simple walks you through the details.
A quick bonus: "been" vs "gone"
This trips people up right when they're getting comfortable. With the present perfect, been means "went and came back," while gone means "went and is still there."
✔ "She's gone to the shop.", she's there right now (not here).
Small difference, but native speakers rely on it, so it's worth locking in early.
What German speakers get wrong
Spoken German uses the Perfekt (ich habe gemacht) for nearly every past action, even one with a clearly finished time. Translate that habit straight into English and you get the single most common error I hear from German speakers.
❌ "I have seen him yesterday."
✔ "I saw him yesterday."
The fix is the finished-time rule from earlier: the moment you add yesterday, last week or an hour ago, English forces the past simple, no matter what the German Perfekt would do. If you're a German speaker, this one habit is worth drilling on its own, it's the highest-value fix on the list.
What Spanish speakers get wrong
Spanish has its own two tenses, the pretérito perfecto (he hecho) and the pretérito indefinido (hice), and they almost line up with English, which is exactly what makes them tricky. Two things to watch:
1. The boundaries aren't identical. In much of Latin America the simple past does the everyday work, so a speaker might say "Did you finish yet?" where English strongly prefers "Have you finished yet?" In Spain the perfect is used more, which can push the opposite way, "I have seen him this morning" when the morning is already over and English would lean toward the past simple.
❌ "Did you finish already?" (when you mean up-to-now)
✔ "Have you finished yet?"
2. "For" + how long. Spanish often uses the present ("Vivo aquí desde hace cinco años"), so Spanish speakers may say "I live here for five years." English wants the present perfect: "I've lived here for five years."
The good news for Spanish speakers: because your language already has both tenses, you're not building a new concept, you're just fine-tuning where the line sits. The finished-time rule does most of that work for you.
Common mistakes to watch for
1. Present perfect with a finished time. The number-one error, for German and Spanish speakers alike.
2. Past simple with "since" or "for." When something started in the past and continues now, use the present perfect.
3. Forgetting the past participle. The present perfect needs have/has + the third form: seen, gone, done, written, been, not the past-simple form.
Questions, negatives and short answers
The forms change a little in questions and negatives, and mixing them up is a giveaway. The present perfect uses have/has as the helper; the past simple uses did, and after "did," the main verb goes back to its base form.
✔ "Did you finish it yesterday?", "Yes, I did."
A common slip is keeping the past form after "did": ❌ "Did you saw it?" The helper "did" already carries the past, so the verb resets: ✔ "Did you see it?" It feels odd at first, but it's completely regular once you notice the pattern.
Practise it this week
Reading about tenses is easy; producing them under pressure is the hard part. Here's a two-minute drill you can do on your commute. Think of one thing you did and finished today, and say it two ways: first announce the result, "I've sent the email", then add the time and switch tense, "I sent it an hour ago." Do it with five different actions. That back-and-forth is exactly the muscle you need, and it trains the switch far better than filling in gaps on a worksheet.
You can also turn everyday questions into experience questions: instead of "Did you eat?" try "Have you eaten yet?" Instead of "Did you go to Spain?" try "Have you ever been to Spain?" Small reframings like these put the present perfect into your active speech, where it actually counts.
A 10-second checklist
Before you choose, run through this in your head:
1. Is there a finished-time word (yesterday, last week, in 2019)? → Past simple.
2. Am I talking about when it happened? → Past simple.
3. Is the time still open (today, this week) or do I care about the result now? → Present perfect.
4. Is it life experience with no specific date? → Present perfect.
That's really the whole thing. Master this one contrast and your English immediately sounds more fluent and precise. The trick isn't memorising rules, it's using them until they feel automatic, and that only happens through speaking practice, ideally with someone who catches the slip and shows you the fix in the moment.
Frequently asked questions
When do I use the present perfect vs the past simple?
Use the past simple for a finished time (yesterday, last week, in 2020). Use the present perfect for an unfinished time period or a life experience with no specific time (ever, already, just, yet). If there is a finished time word, use the past simple.
Can I say "I have seen him yesterday"?
No. "Yesterday" is a finished time, so you must use the past simple: "I saw him yesterday." The present perfect cannot be used with a finished-time word like yesterday, last year, or in 2019.
Why is this so hard for German speakers?
German often uses the Perfekt ("Ich habe ihn gesehen") for the past, so learners copy that structure into English. But English splits the past into two tenses, so the same German sentence can be either "I saw" or "I have seen" depending on the time reference.
What is an easy way to remember the difference?
Ask: is there a finished time? If yes → past simple ("I visited Rome in May"). If the time is open or it is a life experience → present perfect ("I have visited Rome"). Words like just, already, yet and ever usually signal the present perfect.