Spanish present perfect with haber: usage

Vocalyra teaching team · Last updated:

The Spanish pretérito perfecto compuesto uses haber plus a past participle: he hablado, has comido, hemos vivido. Its frequency varies by region, so a useful explanation must cover both the grammar and real usage.

Haber is the auxiliary, not tener

The present forms are he, has, ha, hemos, habéis, han. Add -ado to regular -ar verbs and -ido to regular -er/-ir verbs: he estudiado, hemos comido, han vivido. The auxiliary and participle normally stay together; no object goes between them. Do not say tengo hablado to translate English I have spoken. Haber here is a grammatical helper, whereas tener expresses possession or appears in other constructions.

Recognize common irregular participles

High-frequency irregular forms include hecho (hacer), dicho (decir), escrito (escribir), visto (ver), puesto (poner), vuelto (volver), and abierto (abrir). These forms do not agree with the subject in the compound tense: ella ha escrito, ellos han escrito. Negation goes before haber: No he terminado. A question can simply change intonation: ¿Has visto esa película? Practice the complete two-word unit rather than memorizing the participle alone.

The regional choice matters

In much of Spain, Hoy he desayunado temprano is common for an event within the current day. In much of Latin America, Hoy desayuné temprano is also natural, and speakers often use the preterite for completed recent events. Both varieties are legitimate; avoid treating one as a mistake. For experiences, ¿Alguna vez has viajado a Chile? is widely understood, but local preference can still affect which past tense a speaker chooses.

A contrast with English

English present perfect generally avoids finished-time phrases such as yesterday: I have seen him yesterday sounds wrong in standard English. Spanish may use the preterite with ayer and often with other finished periods, but the precise present-perfect distribution is dialect-sensitive. Ask whether your audience is in Spain or Latin America before imposing a rigid time-marker chart. Practise three experiences, one unfinished-day activity, and one finished event, then compare two regional versions with a fluent speaker.

HaberParticipleExample
hehabladoHe hablado con Ana.
hascomido¿Has comido?
hahechoElla ha hecho la tarea.
hemosvistoHemos visto la película.

Dialect note: the grammar of haber + participle is stable, but the choice between compound and simple past changes across Spanish-speaking communities.

Quick self-check

  1. Complete: yo ___ (hablar) con ella.

    Show answer

    he hablado

  2. Complete: nosotros ___ (ver) el partido.

    Show answer

    hemos visto

  3. Choose: Ella ha escrito / ha escribido.

    Show answer

    Ella ha escrito.

  4. Make negative: He terminado.

    Show answer

    No he terminado.

  5. Is Hoy desayuné automatically wrong in Latin America?

    Show answer

    No. It is natural in many Latin American varieties.