Grammar guide · B1

Spanish Present Perfect (Pretérito Perfecto): Form, Uses and Common Mistakes

Learn the Spanish present perfect (pretérito perfecto): haber + participle, irregular forms, uses, signal words and how it differs from the preterite.

The Spanish present perfect (pretérito perfecto compuesto) is formed with the present of haber + a past participle: he comido, has visto, hemos llegado. It talks about past actions connected to the present: experiences in your life, things that happened in a time period that is not over yet (hoy, esta semana), and, especially in Spain, things that happened very recently.

Form

Step 1: the present of haber

The auxiliary is always haber, never tener. It is the only part of the verb that changes for the person.

Person Haber Example
yo he He trabajado. I have worked.
tú has Has trabajado. You have worked.
él / ella / usted ha Ha trabajado. He/She has worked; you (formal) have worked.
nosotros/as hemos Hemos trabajado. We have worked.
vosotros/as habéis Habéis trabajado. You (pl.) have worked.
ellos / ellas / ustedes han Han trabajado. They have worked; you (pl.) have worked.

Step 2: the past participle

Regular participles are easy: remove the infinitive ending and add -ado (for -ar verbs) or -ido (for -er and -ir verbs).

Infinitive Ending Participle
hablar -ado hablado
comer -ido comido
vivir -ido vivido

In the present perfect the participle never changes for gender or number: Ella ha llegado, ellos han llegado.

Affirmative, negative and questions

Type Structure Example
Affirmative haber + participle Hemos terminado el proyecto. We have finished the project.
Negative no + haber + participle No hemos terminado el proyecto. We haven’t finished the project.
Question (¿) haber + participle (?) ¿Habéis terminado el proyecto? Have you finished the project?

In questions, the subject usually goes after the whole verb, not between haber and the participle: ¿Ha llamado tu hermana? — Has your sister called?

Irregular participles

A small group of common verbs has irregular participles. You need to learn these by heart, because they appear constantly.

Infinitive Participle Example
abrir abierto ¿Quién ha abierto la ventana? Who has opened the window?
cubrir cubierto La nieve ha cubierto la calle. The snow has covered the street.
decir dicho No me has dicho la verdad. You haven’t told me the truth.
escribir escrito He escrito tres correos. I’ve written three emails.
hacer hecho ¿Qué has hecho hoy? What have you done today?
morir muerto Se ha muerto mi planta. My plant has died.
poner puesto ¿Dónde has puesto las llaves? Where have you put the keys?
resolver resuelto Hemos resuelto el problema. We’ve solved the problem.
romper roto El niño ha roto el móvil. The boy has broken the phone.
ver visto ¿Has visto mis gafas? Have you seen my glasses?
volver vuelto Todavía no han vuelto. They haven’t come back yet.

Verbs built on these keep the same irregularity: descubrir → descubierto, describir → descrito, deshacer → deshecho, devolver → devuelto, suponer → supuesto.

Spelling note: participles with an accent

When the stem ends in a, e or o, the -ido ending takes an accent to keep the i as a separate syllable: leer → leído, creer → creído, traer → traído, caer → caído, oír → oído, reír → reído.

  • Esta semana he leído dos novelas. This week I’ve read two novels.

Where to put pronouns

Haber and the participle form a single unit. Nothing goes between them — not pronouns, not ya, not no. Object pronouns and reflexive pronouns go before haber.

  • Lo he visto. I’ve seen it.
  • Me he levantado tarde. I’ve got up late.
  • ¿El regalo? Ya se lo hemos dado. The present? We’ve already given it to her.

If you need a refresher on pronoun order, see our guides to direct and indirect object pronouns and reflexive verbs.

When to use the present perfect

1. Actions in a time period that is not finished

Use it with expressions that include the present moment: hoy, esta mañana, esta semana, este mes, este año, este verano.

  • Hoy he tenido tres reuniones. Today I’ve had three meetings.
  • Este año hemos viajado mucho. This year we’ve travelled a lot.

2. Life experiences (without a specific time)

When you talk about whether something has happened at some point in your life, without saying when, use the present perfect. Typical words: alguna vez, nunca, muchas veces, varias veces.

  • ¿Has estado alguna vez en México? Have you ever been to Mexico?
  • Nunca he probado el pulpo. I’ve never tried octopus.

3. Expectations: ya and todavía no

Ya (already) and todavía no / aún no (not yet) connect a past action with what we expect now.

  • Ya he enviado el informe. I’ve already sent the report.
  • Todavía no he encontrado piso. I haven’t found a flat yet.

4. Very recent actions (especially in Spain)

In most of Spain, the present perfect is used for things that happened a short time ago, even if no time word appears.

  • ¿Qué ha pasado? What’s happened? / What happened?
  • Perdona, no te he oído. Sorry, I didn’t hear you.

5. Past actions with results in the present

  • He perdido la cartera y no puedo pagar. I’ve lost my wallet and I can’t pay.
  • Se ha ido la luz. The power has gone off.

Signal words

Present perfect Preterite
hoy, esta mañana, esta tarde ayer, anoche, anteayer
esta semana, este mes, este año la semana pasada, el mes pasado
alguna vez, nunca, muchas veces en 2019, el lunes, hace dos años
ya, todavía no, aún no aquel día, una vez (on a specific occasion)
últimamente, hasta ahora el otro día

Signal words are a strong guide, but the deciding question is always the same: is the time period finished or still connected to now?

Present perfect vs preterite

This is the comparison that causes most problems at B1. The preterite (pretérito indefinido) describes completed actions in a finished time period. The present perfect places the action in a period that includes the present.

  • Esta mañana he ido al gimnasio. This morning I went to the gym. (the morning is part of today)
  • Ayer fui al gimnasio. Yesterday I went to the gym. (yesterday is over)
  • He visto esa película dos veces. I’ve seen that film twice. (life experience, no time given)
  • Vi esa película en 2022. I saw that film in 2022. (specific finished time)

Notice that English often uses the simple past where Spanish uses the present perfect (This morning I went… = Esta mañana he ido…). Don’t translate tense for tense.

Regional variation

The description above reflects the standard usage in most of Spain. In much of Latin America, and also in the Canary Islands and parts of northern Spain, speakers prefer the preterite for actions completed today or very recently:

  • Spain: Hoy he comido paella. Today I’ve had paella.
  • Latin America: Hoy comí paella. Today I had paella.

Latin American speakers still use the present perfect, but mainly for experiences and for situations that continue or may still happen: Nunca he estado en Europa — I’ve never been to Europe. Both systems are correct; choose one and be consistent. Once you are confident with these two tenses, our guide to preterite vs imperfect will help you complete the picture of the past.

Present perfect vs the English present perfect

For an ongoing situation that started in the past and continues now, English uses have been / have lived with for or since. Spanish normally uses the present tense with desde, desde hace or llevar.

  • Vivo en Valencia desde 2020. I’ve lived in Valencia since 2020.
  • Estudio español desde hace dos años. I’ve been studying Spanish for two years.
  • Llevo dos años estudiando español. I’ve been studying Spanish for two years.

Common mistakes

  • ✗ Ha abrido la puerta. → ✓ Ha abierto la puerta. — abrir has an irregular participle.
  • ✗ Tengo comido. → ✓ He comido. — the auxiliary is always haber, not tener.
  • ✗ He lo visto. → ✓ Lo he visto. — pronouns go before haber, never between the two parts.
  • ✗ ¿Has ya terminado? → ✓ ¿Ya has terminado? — ya cannot separate haber from the participle.
  • ✗ Ellas han llegadas. → ✓ Ellas han llegado. — the participle does not agree after haber.
  • ✗ Ayer he visto a Marta. → ✓ Ayer vi a Marta. — ayer is a finished time, so use the preterite.
  • ✗ He leido el artículo. → ✓ He leído el artículo. — leído needs a written accent.
  • ✗ He vivido aquí desde 2018 (and still live here). → ✓ Vivo aquí desde 2018. — ongoing situations normally take the present with desde.

Quick check

  1. Esta mañana (yo, desayunar) ______ muy tarde.
  2. ¿(Tú, ver) ______ alguna vez una película de Almodóvar?
  3. Los niños (romper) ______ la ventana del salón.
  4. ¿La carta? Sí, ya ______ ______ . (escribir, yo — use a pronoun)
  5. Choose the correct form: Ayer (he ido / fui) al médico.

Answers

  1. he desayunado — esta mañana is part of today.
  2. Has visto — life experience with alguna vez; ver → visto.
  3. han roto — romper → roto.
  4. la he escrito — pronoun before haber; escribir → escrito.
  5. fui — ayer is a finished time period.

Next step

You now know how to build the present perfect, which participles are irregular, and how to decide between it and the preterite. The best way to make this automatic is focused practice: test yourself with our B1 Present Perfect test, paying special attention to time expressions and irregular participles. When you get most answers right, try a Spanish B1 level test to see how well you use the tense alongside other B1 grammar.

Was this page helpful?

Report a mistake

Spotted a wrong answer, a typo or an unclear explanation? Tell us and we will fix it.