Spanish grammar · A1 to A2 · Updated
The Spanish present perfect: he hablado
Haber plus the participle: he hablado. In Spain it covers what happened today and what has happened in a life, and it is the tense of ya and todavía no. Participles are regular in -ado and -ido with about a dozen exceptions, and here the participle never changes to agree with anything.
The short answer
The Spanish present perfect is haber plus the participle: he hablado. There is only one auxiliary, never ser, and the participle never agrees with anybody. It is used for what has happened inside a stretch of time that is still going on: today, this week, this year, ever, never, already, yet.
How to remember it
One auxiliary, no agreement, and a stretch that is still open
| Haber only | never ser, whatever the verb | He ido |
|---|---|---|
| No agreement | the participle never changes for anybody | Ella ha llegado |
| Nothing in between | no pronoun and no adverb can split the pair | Lo he visto |
| Open time | hoy, esta semana, este año, nunca, ya, todavía no | Hoy he comido |
| Closed time | ayer, el año pasado, en 2019, all take the preterite | Ayer comí |
The forms
Haber, and the irregular participles
| haber | irregular participles | |
|---|---|---|
| yo | he | hacer: hecho |
| tú | has | decir: dicho |
| él, ella, usted | ha | ver: visto |
| nosotros | hemos | poner: puesto |
| vosotros | habéis | volver: vuelto |
| ellos, ustedes | han | escribir: escrito, abrir: abierto |
20 sentences that show the difference
Everyday Spanish, the kind you would actually say. The label under each one says which part of the rule it shows.
He hablado con ella.
I have spoken to her.
Regular -ar
Hemos comido ya.
We have already eaten.
Regular -er
Han vivido aquí diez años.
They have lived here for ten years.
Regular -ir
Hoy he trabajado mucho.
I have worked a lot today.
Hoy keeps it open
Esta semana ha llovido tres veces.
It has rained three times this week.
Esta semana
Este año he leído poco.
I have not read much this year.
Este año
¿Has estado alguna vez en Perú?
Have you ever been to Peru?
Ever
Nunca he visto nada igual.
I have never seen anything like it.
Never
Todavía no ha llegado.
He has not arrived yet.
Not yet
Ya lo he hecho.
I have already done it.
Already, and hecho
Me he levantado tarde.
I got up late.
A reflexive, pronoun first
Lo he visto esta mañana.
I saw him this morning.
Pronoun before haber
Ella ha llegado.
She has arrived.
No agreement, ever
Los libros han desaparecido.
The books have disappeared.
No agreement, ever
Ha dicho que sí.
She has said yes.
Irregular participle
Han abierto una tienda nueva.
They have opened a new shop.
Irregular participle
He escrito tres cartas.
I have written three letters.
Irregular participle
Ayer comí en casa.
Yesterday I ate at home.
Closed time, so preterite
La puerta está abierta.
The door is open.
The participle as an adjective, and it agrees
Acabo de llegar.
I have just arrived.
Acabar de, not the perfect
Where English gets in the way
English happily slides words between the two halves: I have never seen it, I have not seen it, have you seen it?. Spanish welds them together. Whatever you want to add goes in front of haber, never in the middle: Nunca lo he visto. No lo he visto. ¿Lo has visto?. And a second difference of habit: in Spain the perfect covers anything that happened today, where an American would say a plain past. Esta mañana he hablado con el cura is the normal way to say it in Madrid.
The mistake to avoid
Two mistakes, both very common. First, regularising the irregulars: ✗ He escribido / He hacido / He volvido. The right forms are ✓ he escrito, he hecho, he vuelto. Second, using haber for a state instead of estar: ✗ He cansado means nothing. If you are describing how you feel, the participle is an adjective and needs estar: ✓ Estoy cansado (or cansada, if you are a woman).
The cases that break the rule
He ido
Spanish has one auxiliary and only one. Verbs of movement, reflexives, everything takes haber. There is no soy ido and no me he sido: the pair is always haber plus participle.
Ella ha llegado
The participle never agrees inside this tense, whoever the subject is. It only agrees when it is behaving as an adjective: la puerta está abierta.
Lo he visto
Nothing can come between haber and the participle. The pronoun goes in front of haber, and an adverb goes after the participle: he comido ya.
Hoy he comido / ayer comí
The dividing line is whether the stretch of time is still running. Hoy is open, so the perfect. Ayer is shut, so the preterite. This is what most textbooks skip.
Ayer he comido
Wrong in Spain, and normal in parts of Latin America, where the preterite has largely taken over and hoy comí is what people say. Both are real Spanish, and this course teaches the Spanish one.
Acabo de llegar
For something that has just happened, Spanish prefers acabar de plus infinitive over the perfect. Acabo de llegar is what you say, not he llegado hace un momento.
Spanish present perfect exercises
8 sentences to fill in. Type your answer and check it, or read them straight through with the answers showing. Accents count here, the way they count in the language.
-
Hoy (trabajar, yo) ___ mucho.
I have worked a lot today.
he trabajado · Hoy is still running, so the perfect. Ayer would take the preterite instead.
-
Ella (llegar) ___ hace un momento.
She arrived a moment ago.
ha llegado · Ha and not es: there is only one auxiliary. And llegado never becomes llegada.
-
¿(Estar, tú) ___ alguna vez en Perú?
Have you ever been to Peru?
Has estado · Alguna vez asks about a whole life, which is a stretch still open.
-
Ya lo (hacer, yo) ___.
I have already done it.
he hecho · Hecho is irregular, and lo goes in front of he, never between the two.
-
Todavía no (llegar, ellos) ___.
They have not arrived yet.
han llegado · Todavía no is one of the clearest signals for this tense.
-
Esta semana (llover) ___ tres veces.
It has rained three times this week.
ha llovido · Esta semana is not over, so the week is still open.
-
Me (levantar) ___ tarde esta mañana.
I got up late this morning.
he levantado · The reflexive pronoun goes first, in front of haber, and the pair stays together.
-
Nunca (ver, nosotros) ___ nada igual.
We have never seen anything like it.
hemos visto · Visto is irregular, and nunca opens the widest stretch there is.
More exercises, from Don Quixote
8 more, these ones straight out of the course: the inn, the windmills, Rocinante and the road. Same rule, older Spanish.
-
Hoy (leer, yo) ___ tres capítulos.
Today I have read three chapters.
he leído · Haber plus the participle. Hoy pulls the sentence into today, and today takes this tense in Spain.
-
Sancho no (ver) ___ nunca una ínsula.
Sancho has never seen an island.
ha visto · Visto is irregular, like hecho, dicho, puesto, vuelto, escrito, roto and abierto.
-
¿(Estar, tú) ___ alguna vez en El Toboso?
Have you ever been to El Toboso?
Has estado · Alguna vez asks about a whole life up to now, which is exactly what this tense is for.
-
Esta mañana (salir, ellos) ___ temprano.
This morning they left early.
han salido · Esta mañana still counts as now. Aquella mañana would take the preterite instead.
-
Todavía no (hacer, nosotros) ___ la cena.
We have not made supper yet.
hemos hecho · Todavía no belongs to this tense: the thing has not happened, but the door is still open.
-
El cura (decir) ___ que los libros son culpables.
The priest has said the books are to blame.
ha dicho · Dicho, not decido. The participle of decir is one of the eight that go their own way.
-
(Escribir, yo) ___ ya la carta a Dulcinea.
I have already written the letter to Dulcinea.
He escrito · Ya plus this tense means it is done and it still matters. The participle never changes for gender here.
-
¿Qué (poner, tú) ___ en la maleta?
What have you put in the bag?
has puesto · Puesto is irregular. Notice that nothing can come between haber and the participle in Spanish.
Common questions
When do Spaniards use he hablado instead of hablé?
For anything inside a period that has not closed yet: hoy, esta semana, este año, and for life experience with ya, todavía no, nunca and alguna vez. Closed periods such as ayer take the preterite.
Which participles are irregular?
About a dozen: visto, hecho, dicho, puesto, escrito, vuelto, abierto, muerto, roto, cubierto and resuelto, plus their compounds such as devuelto and descubierto.
Can anything come between he and hablado?
No. Haber and the participle are welded together. Pronouns and adverbs go in front of haber: no lo he visto nunca, and never he no visto.
Which time words go with he hablado?
The ones that put the action inside a stretch of time that is still open: hoy, esta mañana, esta semana, este año, ya, todavía no, alguna vez, nunca. As soon as the stretch is closed (ayer, el año pasado) Spanish switches to the preterite.
Is the present perfect used in Latin America?
Much less. Most of Latin America says hoy comí where Spain says hoy he comido, and the preterite covers both jobs. If you are learning for Spain you need this tense constantly. If you are learning for Mexico or Argentina you will hear it far less.
How do I say I have been doing something for two years?
Not with this tense. Spanish uses llevo plus the gerund: llevo dos años estudiando español. The alternatives are hace dos años que estudio and estudio desde hace dos años, and all three take the present, not the perfect.
Does the participle agree in he hablado?
No. After haber the participle never changes: he hablado, hemos comido, las he visto. It only agrees when it is working as an adjective after ser or estar: están cansadas, fueron escritas.
What is the difference between he ido and he estado?
He ido a Roma is about the trip, the going. He estado en Roma is about having been there, and it is the natural way to say you know the place. Notice the preposition changes with the verb: ir takes a, estar takes en.
The things to remember
- One auxiliary, haber, for every verb without exception.
- The participle never agrees. Not for gender, not for number, not ever, inside this tense.
- Nothing may sit between haber and the participle.
- Use it when the stretch of time is still open: hoy, esta semana, nunca, ya, todavía no.
- A closed stretch takes the preterite instead: ayer comí.
The same rule in Don Quixote
Real lines from the course, not invented examples. Each one is the sentence the lesson uses to introduce the point.
Don Quijote ha vuelto a casa muy enfermo.
Don Quixote has come home very ill.
Porque he estado enamorado.
Because I have been in love.
The book this comes from
Don Quixote in Easy Spanish: the whole novel retold in Spanish you can actually read, in 58 short episodes, with the hard words glossed in the margin. It is where every Don Quixote sentence on this page comes from.
In EPUB and PDF, with a second novel in the same Spanish. See the books.
Where the course teaches this
2 lessons build it up, each one inside a chapter of the story rather than in the abstract. Free to read, with the vocabulary, the audio and the exercises.
- The present perfect and the participleLesson 18The priest and the barber open the library
- The present perfectLesson 37The king’s prisoners
Next to this one
The points that sit closest to this one, and that a student usually meets around the same time.