Why is 'present perfect' present if it happened in the past? And why is it 'perfect'?


3 Answers 3


Present Perfect is called like that because it combines the present grammatical tense (you have) and the perfect grammatical aspect (done). Compare that to Past Perfect which uses the past tense (you had + done), or the Future Perfect which uses the future "tense" (you will have + done).

As to why it's perfect, the term comes from Latin perfectus, "achieved, finished, completed". Which is quite literally what you have done whenever you have done something.

  • Source, please? It sounds a new hypothesis.
    – Kris
    Mar 25, 2016 at 5:36
  • 11
    @Kris it's not a hypothesis, it's the definition. The sources are linked. You can follow the links by clicking on them.
    – RegDwigнt
    Mar 28, 2016 at 17:58

The present perfect, like the simple past, locates the situation, or part of it, in the past:

  • She has read your letter.
  • She read your letter.

However, the present perfect is a compound tense that combines the present and the past, while the simple past is purely a past tense.

Here are some reasons its called the present perfect, and not just the past tense:

Use of time adjuncts

The present perfect allows the use of time adjuncts referring to the present.

  • We have, by now, finished most of our work.
  • *We, by now, finished most of our work. (incorrect)

Conversely, the present perfect does not allow the use of time adjuncts referring to the past.

  • *We have finished our work last week. (incorrect)
  • We finished our work last week.

Current relevance

With the present perfect, the situation in the past is seen to have some kind of current relevance. Compare these two:

  • She has lived in this city for ten years.

  • She lived in this city for ten years.

Use of the present perfect in the first sentence indicates that she still lives in this city while use of the simple past in the second indicates that she lived in this city in the past, but no longer does.

I've quoted quite a bit from the very descriptive A Student's Introduction to English Grammar by Huddleston and Pullum.

As noted in @RegDwight's answer, I understand that the perfect part comes from the Latin perfectus, meaning "completed".

  • 2
    TO expand "Current Relevance", the "She has lived in this city for ten years" indicates that she is currently still living in the city, while "She lived in this city for ten years" indicates that she no longer lives in the city, and "She had lived in this city for ten years" indicates nothing about the present but does indicate that she had lived in the city before a particular incident in question.
    – Wayne
    May 17, 2011 at 13:25
  • Thanks @Wayne, I've expanded my answer based on your feedback.
    – Tragicomic
    Feb 7, 2014 at 16:28
  • 1
    We have worked here since 2008. The time expression refers to the past, yet the present perfect tense is used.
    – Mari-Lou A
    Sep 22, 2015 at 10:53
  • @Mari-Lou A: It has current relevance. I believe the answer covers this, but let me know if you don't think so.
    – Tragicomic
    Sep 22, 2015 at 11:40
  • 1
    I know it is grammatical but in your answer it says: "the present perfect does not allow the use of time adjuncts referring to the past". Unless 2008 is not a time adjunct which refers to the past.
    – Mari-Lou A
    Sep 22, 2015 at 11:46

Latin and other languages like Italian, French, German, English have a double tense system in active and passive. We have simple tenses: present, past, future, conditional.

And parallel to these tenses we have a second set of tenses: Present perfect, past perfect, future perfect, conditional perfect.

verbix.com has a conjugation table that shows the two sets of tenses very well. http://www.verbix.com/webverbix/English/do.html

In the verbix table present perfect is simply called perfect, past perfect is called pluperfect, just another name for the same thing.

As to the name perfect, which means completed, it was the grammar term in Latin where it may have been justified. But in modern languages the name is just a name and doesn't say anything essential.

  • I read Hamlet last year. - I have read Hamlet. Both events are completed in the past, so it makes not much sense to call one tense past, and the other perfect.

You could use other names for the tenses: Present 1, past 1, future 1, conditional 1 and present 2, past 2, future 2, conditional 2. This would be the same. Just names, so we can talk about the tenses. You could also call the first set "left", present left etc, and the second set "right", present right etc.

The use of these tenses is a thing that must be learnt from grammars. And the use is not the same for all languages. English uses perfect for things past with a bearing on the present time. German uses perfect in the north as in English, in the south perfect is used as the English past tense.

Remark: In English grammars conditional is seen as a mood and is lacking in almost all conjugation tables. As "would" ist the past tense of "will", subjunctive and sometimes indicative, too it is possible to see conditional as a tense as well. Verbix.com has solved the problem by adding conditional under the three traditional tenses.

  • I thought the answer was much simpler than that.
    – Kris
    Mar 25, 2016 at 5:39
  • 1
    The name present perfect isn't simple, on the contrary.
    – rogermue
    Mar 25, 2016 at 5:42
  • I disagree with part of this answer. There's a subtle difference between the past tense "I read Hamlet" and the present perfect "I have read Hamlet." The former refers to completing an action in the past and the emphasis is on the action (reading). The latter refers to the present state of one by virtue of performing a past action. As such, the emphasis is on currently being one who previously read Hamlet. Roughly, past often refers to a point in time, while pres. perf. refers to an interval of time that started in the past and persists into the present, thus really describing present state.
    – Talmage
    Feb 18, 2023 at 19:56

Not the answer you're looking for? Browse other questions tagged or ask your own question.