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
- Esta mañana (yo, desayunar) ______ muy tarde.
- ¿(Tú, ver) ______ alguna vez una película de Almodóvar?
- Los niños (romper) ______ la ventana del salón.
- ¿La carta? Sí, ya ______ ______ . (escribir, yo — use a pronoun)
- Choose the correct form: Ayer (he ido / fui) al médico.
Answers
- he desayunado — esta mañana is part of today.
- Has visto — life experience with alguna vez; ver → visto.
- han roto — romper → roto.
- la he escrito — pronoun before haber; escribir → escrito.
- 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?
What was the problem?
Thank you for your feedback!