The Spanish Perfect Tenses

Adapted from The Animated Book of Spanish, an interactive Spanish grammar book.

The perfect tenses are made with haber + the past participle and are like “have done” in English. This page focuses on the most common one, the present perfect, then covers the rest.
Present perfect of hablar (to speak): the present tense of haber, then the past participle
Subjecthaberpresent tensepast participlenever changes
yohehablado
túhashablado
él / ella / ustedhahablado
nosotroshemoshablado
vosotroshabéishablado
ellos / ellas / ustedeshanhablado
On this page

How to form the present perfect

Take the present tense of haber and add the past participle. Only haber changes to match the subject.

Haber is the correct helper verb for have here. Don't be tempted to literally translate using tener. For more details on the participle, see the past participle.

When to use the present perfect

Use the present perfect for past actions that are still connected to now.

  1. Experiences

    Things that have (or haven’t) happened at some point in your life.

    • ¿Has estado alguna vez en México?

      Have you ever been to Mexico?

    • He leído ese libro dos veces.

      I’ve read that book twice.

    • Mis hijos nunca han visto la nieve.

      My kids have never seen snow.

  2. A time period that isn’t over

    Things that happened today, this week, or this year, while that period is still going on.

    • Este año hemos viajado mucho.

      We’ve traveled a lot this year.

    • Esta semana no he dormido bien.

      I haven’t slept well this week.

    • Hoy has trabajado mucho.

      You’ve worked a lot today.

  3. With ya, todavía no, and aún no

    Whether something has happened yet.

    • Los niños ya han terminado la tarea.

      The kids have already finished their homework.

    • Todavía no he comido.

      I haven’t eaten yet.

    • ¿Ya has visto la película?

      Have you seen the movie yet?

Where pronouns and no go

Haber and the participle always stay together. Object pronouns, reflexive pronouns, and no all go before haber, never in between, and never on the end of the participle.

  • Lo he visto.

    I’ve seen it.

  • No hemos terminado.

    We haven’t finished.

  • Todavía no me he duchado.

    I haven’t showered yet.

  • ¿Se lo has dicho?

    Have you told him?

This is different from the progressive and ir a + infinitive, where the pronoun can also attach to the end: estoy haciéndolo, voy a hacerlo. With haber, it can't.

Other perfect tenses

To make the other perfect tenses, change the tense of haber. The participle stays exactly the same.

The perfect tenses, with the yo form of haber
TenseFormMeaning
Present perfecthe habladoI have spoken
Past perfecthabía habladoI had spoken
Future perfecthabré habladoI will have spoken
Conditional perfecthabría habladoI would have spoken


The past perfect

Something that had already happened before another moment in the past.

Past perfect of hablar (had spoken)
yohabía hablado
nosotroshabíamos hablado
túhabías hablado
vosotroshabíais hablado
él / ella / ustedhabía hablado
ellos / ellas / ustedeshabían hablado
hablar · had spoken
  • Cuando llegué, la película ya había empezado.

    When I arrived, the movie had already started.

  • Nunca habíamos comido algo tan picante.

    We had never eaten anything so spicy.

  • ¿Ya habías estado en Madrid antes?

    Had you been to Madrid before?

The future perfect

Something that will have happened by a certain point. Like the future, it can also be a guess, here about the recent past.

Future perfect of hablar (will have spoken)
yohabré hablado
nosotroshabremos hablado
túhabrás hablado
vosotroshabréis hablado
él / ella / ustedhabrá hablado
ellos / ellas / ustedeshabrán hablado
hablar · will have spoken
  • Para el viernes, habremos terminado el proyecto.

    By Friday, we’ll have finished the project.

  • No contesta. Habrá salido.

    She’s not answering. She must have gone out.

  • A estas horas, ya habrán llegado al hotel.

    By now, they must have gotten to the hotel.

The conditional perfect

What would have happened.

Conditional perfect of hablar (would have spoken)
yohabría hablado
nosotroshabríamos hablado
túhabrías hablado
vosotroshabríais hablado
él / ella / ustedhabría hablado
ellos / ellas / ustedeshabrían hablado
hablar · would have spoken
  • Yo no lo habría hecho.

    I wouldn’t have done it.

  • Con más tiempo, habríamos visitado Sevilla.

    With more time, we would have visited Seville.

  • ¿Habrías aceptado el trabajo?

    Would you have taken the job?

Common mistakes English speakers make

  1. Using tener instead of haber

    Incorrect:Ya tengo comido.
    Correct:Ya he comido.

    In the perfect tenses, “have” is always haber. Tener only means to have in the sense of owning or holding something.

  2. Putting a word between haber and the participle

    Incorrect:He no terminado.
    Correct:No he terminado.

    Nothing goes between haber and the participle, not even no or ya.

  3. Putting the pronoun after the participle

    Incorrect:He visto lo.
    Correct:Lo he visto.

    With haber, pronouns always go before it. They never attach to the participle.

  4. Using the present perfect with a finished time

    Incorrect:Ayer he visto a Marta.
    Correct:Ayer vi a Marta.

    With a finished time like ayer or el año pasado, use the preterite.

  5. Translating “have been … for” word for word

    Sounds unnatural:He vivido aquí por dos años.
    Correct:Vivo aquí desde hace dos años.

    For something that started in the past and is still going on, Spanish usually uses the present tense with desde hace.

Questions about the perfect tenses

What is the difference between he hablado and hablé?

Both talk about the past. He hablado (the present perfect) connects the action to now: an experience, or something in a period that isn't over yet (Hoy he hablado con ella). Hablé (the preterite) is for something finished at a specific time (Ayer hablé con ella).

In much of Latin America, the preterite is used for both.

Do Latin Americans use the present perfect?

Yes, but less than in Spain. It's common for experiences and with ya or todavía no (¿Ya has comido?), while the preterite is often used where Spain would use the present perfect (Hoy comí temprano).

Why is it haber and not tener?

Spanish has two verbs for "have." Tener is for owning or holding things, and haber is the helper verb for the perfect tenses: Tengo un libro ("I have a book") vs. He leído el libro ("I have read the book").

How do you say "I have been doing" in Spanish?

For something that's still going on, Spanish usually uses the present with desde hace, or llevar + gerund: Estudio español desde hace dos años or Llevo dos años estudiando español ("I've been studying Spanish for two years").

What is the past perfect in Spanish?

Había + past participle: había hablado ("I had spoken"). It's for something that happened before another moment in the past: Cuando llegué, ya habían salido ("When I arrived, they had already left"). It's also called the pluperfect.

Next upPrepositionsA, de, en, con, sin and more: a vs. en, where things are, pronouns after prepositions, and verbs that take them.

Related