Present perfect
A2 El pretérito perfecto 25 / 49
In short
The present perfect = the present of haber (he, has, ha…) + a past participle (hablado, comido): He comido. It reports a past action still connected to now - recent, within a time frame that includes today, or a life experience up to this point.
The rule
You need two pieces: the auxiliary haber and a past participle. They stay together and never swap places. Nothing goes between them: an object or reflexive pronoun sits in front of haber - Me he levantado tarde. / ¿Le has dado las llaves? A pair of pronouns moves together and keeps its order: Se me ha olvidado el paraguas.
Step 1 - Conjugate haber (present):
| Person | haber |
|---|---|
| yo | he |
| tú | has |
| él/ella/usted | ha |
| nosotros/-as | hemos |
| vosotros/-as | habéis |
| ellos/-as/ustedes | han |
Step 2 - Add the past participle:
- -ar verbs -> -ado: hablar -> hablado
- -er/-ir verbs -> -ido: comer -> comido, vivir -> vivido
- If an -er/-ir stem ends in a vowel, the ending is spelled -ído: leer -> leído, traer -> traído, caer -> caído, oír -> oído (but not after u: construir -> construido)
The participle here is invariable: it always ends in -o and never agrees in gender or number - Ellas han llegado (not “llegadas”).
Irregular participles (learn as a block):
| Infinitive | Participle | Infinitive | Participle | |
|---|---|---|---|---|
| hacer | hecho | volver | vuelto | |
| decir | dicho | romper | roto | |
| ver | visto | abrir | abierto | |
| escribir | escrito | morir | muerto | |
| poner | puesto | cubrir | cubierto |
Compounds inherit them: describir -> descrito, devolver -> devuelto.
When to use it. The perfect ties the past to the present:
- Recent past: Ya he terminado.
- Life experience (up to now), with alguna vez / nunca / ya / todavía no: ¿Has estado alguna vez en México? / Nunca he probado el sushi.
- A time frame that still includes now: hoy, esta mañana, esta semana, este mes, este año, últimamente: Este año he viajado mucho.
Perfecto vs indefinido (the key contrast).
- Perfecto = the time frame is connected to now: hoy, esta semana, este año, ya, todavía no, alguna vez. -> Hoy he comido mucho.
- Indefinido = the time frame is finished/detached: ayer, anoche, la semana pasada, en 2010. -> Ayer comí mucho.
- Dialect note. This split is strongest in Peninsular (Spain) Spanish. Most of Latin America prefers the indefinido even for today/recent actions: Hoy comí mucho is normal there.
Forms & patterns
Contrast the two past tenses by their time marker:
| Perfecto (linked to now) | Indefinido (finished time) |
|---|---|
| Hoy he trabajado mucho. | Ayer trabajé mucho. |
| Esta semana he visto dos películas. | La semana pasada vi dos películas. |
| He estado en París (alguna vez). | Estuve en París en 2018. |
Examples
| Español | English |
|---|---|
| He comido demasiado hoy. | I have eaten too much today. |
| ¿Has visto mi teléfono? | Have you seen my phone? |
| Todavía no hemos terminado. | We haven’t finished yet. |
| ¿Alguna vez has estado en España? | Have you ever been to Spain? |
| Ella ha escrito tres libros. | She has written three books. |
| Este año han abierto un restaurante nuevo. | This year they’ve opened a new restaurant. |
| Nunca he roto un hueso. | I’ve never broken a bone. |
| Ha hecho mucho frío esta semana. | It has been very cold this week. |
Common mistakes
- He escribido -> He escrito - escribir has an irregular participle; so do hecho, dicho, visto, puesto, vuelto, roto, abierto.
- He hablando -> He hablado - the participle ends in -ado/-ido, not the gerund -ando/-iendo.
- He leido -> He leído - after a vowel the ending is spelled -ído: leído, traído, caído, oído.
- He me levantado / He levantadome -> Me he levantado - the pronoun goes before haber, never between the two parts and never attached to the participle.
- Ellas han llegadas -> han llegado - the participle after haber never agrees; keep it -o.
- Yo ha comido -> he comido - haber agrees with the subject (he/has/ha/hemos/habéis/han).
- Tengo comido -> He comido - the perfect auxiliary is haber, never tener.
- Ayer he comido -> Ayer comí - a finished-time marker (ayer) takes the indefinido, not the perfecto.
Tips
- Formula: haber (present) + participle - haber does all the conjugating, the participle stays frozen.
- The participle here always ends in -o (-ado/-ido or an irregular) and never agrees in gender or number.
- Marker test: hoy / esta semana / ya / todavía no / alguna vez / nunca -> perfecto; ayer / anoche / el año pasado -> indefinido.
- Memorize the ~10 irregular participles together - they are all high-frequency.
- In most of Latin America you’ll hear the indefinido where Spain uses the perfecto; match your target region.