Back to grammar
Spanish grammar · A2

Pretérito Perfecto: The Spanish Present Perfect

The pretérito perfecto (Spanish present perfect) is formed with the present indicative of 'haber' plus the past participle: 'he hablado, has hablado, ha hablado, hemos hablado, habéis hablado, han hablado'. It describes past actions connected to the present moment. In Spain it is used for any action that happened today or in a period still relevant ('hoy he comido pizza'). In most of Latin America, the simple preterite (comí pizza hoy) is preferred instead.

Formation

How to form the pretérito perfecto

Use the present tense of the auxiliary verb haber (he, has, ha, hemos, habéis, han) plus the past participle of the main verb. Regular past participles end in -ado (-AR) or -ido (-ER/-IR). Common irregulars: abierto (abrir), dicho (decir), escrito (escribir), hecho (hacer), puesto (poner), visto (ver), vuelto (volver), muerto (morir).

Pronounhaberhablarcomervivir
yohehabladocomidovivido
hashabladocomidovivido
él/ella/ustedhahabladocomidovivido
nosotroshemoshabladocomidovivido
vosotroshabéishabladocomidovivido
ellos/ellas/ustedeshanhabladocomidovivido
Usage

When to use the pretérito perfecto

  • Past actions in a time period still ongoing: hoy, esta semana, este año.
  • Past experiences with present relevance: '¿Has estado en México?' (Have you been to Mexico?)
  • Recent past actions: 'Ha llamado tu madre.' (Your mother has called.)
  • Past actions with no specific time mentioned, just present effect.
  • In Spain — much more frequent than in Latin America.
Examples

Pretérito Perfecto in real sentences

Person / verbFormExample (Spanish)Translation (English)
yohe habladoHoy he hablado con mi jefe.Today I have spoken with my boss. (Spain)
has comido¿Ya has comido?Have you eaten already?
ellaha vistoElla ha visto la nueva película.She has seen the new movie.
nosotroshemos abiertoHemos abierto la tienda esta mañana.We have opened the store this morning.
elloshan escritoHan escrito tres libros este año.They have written three books this year.

Spain vs Latin America

  • Spain prefers pretérito perfecto

    In Spain, 'hoy he comido' (today I have eaten) is the standard form. The simple preterite would feel odd for actions earlier today.

  • Latin America prefers preterite

    In most of Latin America (especially Mexico, Argentina, Chile), the simple preterite 'hoy comí' is the standard form. The present perfect is reserved for experiences with explicit present relevance.

  • Memorize irregular past participles

    Eight of the most common verbs have irregular past participles: abierto, cubierto, dicho, escrito, hecho, muerto, puesto, roto, visto, vuelto. Learn them as a set.

  • Haber must precede the participle

    Spanish does not allow inserting words between haber and the past participle. 'He ya hablado' is wrong. 'Ya he hablado' or 'He hablado ya' are correct.

Common questions

Pretérito Perfecto — frequently asked

What is the pretérito perfecto in Spanish?
The pretérito perfecto is the Spanish present perfect tense. It combines the present indicative of haber (he, has, ha, hemos, habéis, han) with the past participle of the main verb. It describes past actions that are connected to the present moment.
When do Spanish speakers use the pretérito perfecto vs the indefinido?
Spain uses the pretérito perfecto for any action within an ongoing time period (today, this week, this year). Latin America largely prefers the simple preterite (indefinido) for the same situations and reserves the perfect for actions explicitly tied to the present.
What are the irregular past participles in Spanish?
Common irregulars: abierto (abrir), cubierto (cubrir), dicho (decir), escrito (escribir), hecho (hacer), muerto (morir), puesto (poner), roto (romper), visto (ver), vuelto (volver). Learn these as a memorized set — they appear constantly in compound tenses.
How do you form the past participle in Spanish?
For regular -AR verbs, replace -ar with -ado (hablado). For regular -ER and -IR verbs, replace the ending with -ido (comido, vivido). Several irregulars exist (abierto, dicho, hecho, escrito, visto, etc.) that must be memorized.
Can I always use haber to form the present perfect?
Yes. The Spanish present perfect always uses haber as the auxiliary — never tener or ser. 'Tengo hablado' would be wrong. Always: he/has/ha/hemos/habéis/han + past participle.