How to form the pretérito perfecto
Haber in the present + participle. The participle never changes: he comido, hemos comido, ellas han comido. Nothing goes between haber and the participle — pronouns and no come before haber: No lo he visto.
| Person | haber | hablar | comer | vivir |
|---|---|---|---|---|
| yo | he | hablado | comido | vivido |
| tú | has | hablado | comido | vivido |
| él / ella / usted | ha | hablado | comido | vivido |
| nosotros | hemos | hablado | comido | vivido |
| vosotros | habéis | hablado | comido | vivido |
| ellos / ustedes | han | hablado | comido | vivido |
Irregular participles
There aren’t many, but they’re very common — learn them now: hacer → hecho, ver → visto, decir → dicho, escribir → escrito, poner → puesto, volver → vuelto, abrir → abierto, romper → roto, morir → muerto, descubrir → descubierto.
- ¿Qué has hecho hoy?What have you done today?
- Nunca he visto el mar.I’ve never seen the sea.
- Alguien ha roto la ventana.Someone has broken the window.
When to use the pretérito perfecto
1. An action in a period that’s still going on: hoy, esta mañana, esta semana, este mes, este año. 2. Life experience with no exact time: alguna vez, nunca, muchas veces. 3. Recent actions with a result now: ya (already), todavía no (not yet), acabar de.
- Esta semana he trabajado mucho.I’ve worked a lot this week.
- ¿Has estado alguna vez en Barcelona?Have you ever been to Barcelona?
- Todavía no he terminado.I haven’t finished yet.
Tip: If the sentence has ayer, el año pasado, en 2020, hace dos días, use the pretérito indefinido instead: Ayer comí paella.
Spain and Latin America
In Spain the perfecto is used constantly — for anything that happened today: Esta mañana me he levantado tarde. In most of Latin America such sentences usually take the indefinido: Esta mañana me levanté tarde. Both are correct.
Common mistakes
The mistakes people make most often — and the right way.
Wrong:
He hacido los deberes.Right: He hecho los deberes.
Hacer has the irregular participle hecho.
Wrong:
Ayer he visto a Juan.Right: Ayer vi a Juan.
Ayer is a finished period: indefinido.
Wrong:
He lo visto.Right: Lo he visto.
The pronoun goes before haber.
Wrong:
Ella ha comida.Right: Ella ha comido.
The participle with haber doesn’t change.
Wrong:
Hemos escribido.Right: Hemos escrito.
Escribir → escrito.
Pretérito perfecto: he hablado
Quiz
10 questions: choose the right option — the explanation appears straight away.
Question 1
Hoy _____ trabajado mucho.
Yo → he.
Question 2
¿_____ estado alguna vez en México?
Tú → has.
Question 3
Esta semana hemos _____ mucho.
-ar → -ado, unchanged.
Question 4
¿Qué has _____ hoy?
Hacer → hecho.
Question 5
Nunca he _____ esa película.
Ver → visto.
Question 6
Mis padres _____ vuelto de vacaciones.
Ellos → han.
Question 7
Todavía no _____ escrito el informe.
Yo → he.
Question 8
¿Ya _____ comido, chicos?
Vosotros → habéis.
Question 9
¿Dónde has _____ las llaves?
Poner → puesto.
Question 10
Esta mañana _____ levantado tarde.
Pronoun before haber: me he levantado.
Correct: 0 of 10
Read next
Pretérito indefinido: hablé, comí
Ayer hablé con Ana, el año pasado fui a Madrid — completed actions in the past.
The pluscuamperfecto: había hecho
Cuando llegué, la película ya había empezado — an action that happened before another past action.
Indefinido or imperfecto
Llovía cuando salí: event or background, completed or habitual — choosing the right past tense.