Spanish Present Perfect
The present perfect is Spanish's first compound tense. Two pieces, no separation, predictable participle formation, eleven irregulars. Worth learning thoroughly because it's a common A2-B1 building block.
The structure
haber (conjugated) + past participle.
| Person | haber |
|---|---|
| yo | he |
| tú | has |
| él / ella / usted | ha |
| nosotros | hemos |
| vosotros | habéis |
| ellos / ellas / ustedes | han |
Note hemos (no accent), habéis (accent on the e), han (no s on the end - this is the only have-han pair where the difference matters).
The past participle is built from the infinitive stem:
- -ar verbs → -ado: hablar → hablado, trabajar → trabajado
- -er and -ir verbs → -ido: comer → comido, vivir → vivido, salir → salido
Put them together:
- he hablado (I have spoken)
- has comido (you have eaten)
- ha vivido (he / she / you-formal has lived)
- hemos trabajado (we have worked)
- habéis salido (you-pl have gone out)
- han llegado (they have arrived)
The eleven irregular participles
A small set of common verbs don't form their participle by the regular rule. These are the ones you'll meet in the top 1,000 lemmas.
| Verb | Participle | English |
|---|---|---|
| hacer | hecho | done, made |
| decir | dicho | said |
| ver | visto | seen |
| escribir | escrito | written |
| abrir | abierto | opened |
| volver | vuelto | returned |
| poner | puesto | put |
| morir | muerto | died |
| romper | roto | broken |
| cubrir | cubierto | covered |
| resolver | resuelto | resolved, solved |
Verbs derived from these inherit the same irregular participle: descubrir → descubierto, devolver → devuelto, deshacer → deshecho, componer → compuesto.
Position of pronouns and adverbs
In Spanish, haber and the participle never separate. Any object pronoun or reflexive goes before haber, not between haber and the participle.
- Lo he visto. (I have seen it.) - not "he lo visto" or "he visto lo"
- No te he dicho nada. (I haven't told you anything.)
- Se ha levantado tarde. (He has got up late.)
Adverbs also stay outside the auxiliary-participle cluster.
- Ya he comido. (I have already eaten.) - ya goes before haber, not between haber and comido
- Todavía no ha llegado. (He hasn't arrived yet.)
When to use it
In peninsular Spanish, the present perfect is the default for:
- Recent actions in a time frame that includes the present: hoy (today), esta semana (this week), este año (this year), este mes (this month).
- Hoy he ido al cine. (Today I went to the cinema.)
- Esta semana he trabajado mucho. (This week I've worked a lot.)
- Past actions with current relevance (life experience, ongoing situations).
- He vivido en Madrid. (I've lived in Madrid.)
- Nunca he comido sushi. (I've never eaten sushi.)
- Just-completed actions (often with acabar de or recién).
- Acabo de llegar. (I've just arrived. - acabar de + infinitive, parallel construction)
For completed actions in a closed past (ayer, la semana pasada, hace dos años), use the preterite instead. A preview of the next chapter:
- Lo he visto hoy. (I've seen him today.) - present perfect
- Lo vi ayer. (I saw him yesterday.) - preterite
Regional note
Latin American Spanish leans more heavily on the preterite and uses the present perfect less. Many speakers would say lo vi hoy where a peninsular speaker says lo he visto hoy. For exam Spanish targeting the peninsular standard, follow the time-frame rule above. For real-world use in Latin America, both are accepted.
Worked examples
- He estudiado mucho este año. (I've studied a lot this year.)
- ¿Has visto la película? (Have you seen the film?)
- Mi hermana ha vuelto de París. (My sister has come back from Paris.)
- No hemos hecho nada hoy. (We haven't done anything today.)
- Han abierto un nuevo restaurante en la calle. (They've opened a new restaurant on the street.)
- Nunca he estado en México. (I've never been to Mexico.)
Common mistakes English speakers make
Trying to split haber and the participle to mirror English word order: he ya comido instead of ya he comido. The two pieces are welded together in Spanish. Treating the participle as an adjective and agreeing it with the subject: in the present perfect the participle is invariable - it's always hemos comido, never "hemos comidas". Forgetting irregular participles and saying he hacido or he ponido instead of he hecho and he puesto.
See also
- The Spanish preterite page covers the past tense for closed time frames.
- The preterite vs imperfect page covers the two simple past tenses side by side.
- The intermediate Spanish grammar page covers the full compound-tense system.