Lesson 11 of 33 · Past tenses · A2

Spanish present perfect: haber + participle and 'have you ever' explained

5:36 video·8 min read·Updated September 10, 2026·By Profe Fer
Key takeaway

The Spanish present perfect is formed with the present tense of haber (he, has, ha, hemos, habéis, han) plus a past participle (-ado / -ido): he comido, has visto, hemos viajado. Use it for life experiences, 'ever' and 'never', and recent actions that still matter now, like English 'I have done'.

haber (he, has, ha…) + participle (-ado / -ido) = have done
In the video you'll learn

"Have you ever been to Mexico?" "I've never tried ceviche." "We've already eaten." Every one of those sentences uses the Spanish present perfect — and the good news is that it works almost exactly like the English one. This guide covers the formula haber + participle, the nine irregular participles you can't avoid, the "have you ever" questions, and when Spain and Latin America use it differently.

In 40 years of teaching, I've found English speakers learn this tense faster than any other Spanish past tense, because you already own the concept. You need the little verb haber, a short list of participles, and one honest conversation about the preterite.

The big pictureWhen to use the Spanish present perfect

The present perfect (el pretérito perfecto) talks about the past from the point of view of now. The action is finished, but it still touches the present — as an experience you carry, a result you can see, or a time period that hasn't closed yet. Use it for:

My test: if you can add "so far" or "up to now" to the English sentence and it still makes sense, you're in present perfect territory. "I've read three books (so far this month)."

The formulaHow to form the present perfect: haber + past participle

Two pieces, always in this order: the present tense of haber (the helping verb "to have") and the past participle of the main verb. Haber is irregular but tiny:

SubjectHABER — Present+ participle
yoheHe terminado. — I have finished.
túhas¿Has comido? — Have you eaten?
él / ella / ustedhaHa llegado tarde. — She has arrived late.
nosotros / nosotrashemosHemos viajado mucho. — We have traveled a lot.
vosotros / vosotrashabéis¿Habéis dormido bien? — Did you sleep well? (Spain)
ellos / ellas / ustedeshanHan vendido la casa. — They have sold the house.

The h is silent, so he sounds like "eh" and ha like "ah." Don't confuse ha (he/she has) with hay (there is) — different words, different jobs.

The regular participle is easy: drop the infinitive ending and add -ado for -ar verbs, -ido for -er and -ir verbs. hablar → hablado, comer → comido, vivir → vivido. A few -er/-ir verbs whose stem ends in a vowel take a written accent to keep the syllables apart: leer → leído, oír → oído, traer → traído, creer → creído.

Three rules that never bend. One: nothing goes between haber and the participle — siempre he comido, never he siempre comido. Two: the participle never changes for gender or number in this tense — ella ha llegado, ellas han llegado, always -o. Three: object pronouns go before haber — lo he visto (I've seen it), me he levantado (I've gotten up).

Irregular past participles

Nine verbs have irregular participles — and conveniently, they're among the most common verbs in the language, so you'll hear them constantly:

VerbParticipleExample
hacer (to do / make)hecho¿Qué has hecho hoy? — What have you done today?
decir (to say / tell)dichoYa te lo he dicho. — I've already told you.
ver (to see)vistoNo he visto esa película. — I haven't seen that movie.
escribir (to write)escritoHemos escrito un correo. — We've written an email.
poner (to put)puesto¿Dónde has puesto las llaves? — Where have you put the keys?
volver (to return)vueltoHan vuelto de Colombia. — They've come back from Colombia.
abrir (to open)abiertoHa abierto una tienda. — She has opened a shop.
romper (to break)rotoMe he roto el brazo. — I've broken my arm.
morir (to die)muertoHa muerto el actor. — The actor has died.

Bonus: compounds inherit the irregularity. deshacer → deshecho, describir → descrito, devolver → devuelto, descubrir → descubierto. Learn nine, get twenty.

Hoy he hecho mucho ejercicio.
I've done a lot of exercise today.
he + hecho (irregular participle of hacer)
¿Han visto ustedes mi bolso?
Have you (all) seen my bag?
han + visto — lost bag, present consequence

The conversation starter"Have you ever…?": alguna vez, nunca, ya, todavía no

The present perfect is the tense of getting to know people. Four little words carry the whole conversation:

— ¿Has probado alguna vez el ceviche? — No, nunca lo he probado, pero ya he pedido uno.
— Have you ever tried ceviche? — No, I've never tried it, but I've already ordered one.
alguna vez → nunca → ya: one exchange, three of the four signal words
Profe Fer's tip

Memorize ¿Alguna vez has…? as a single chunk and plug in participles: ¿Alguna vez has visto…? ¿Alguna vez has estado en…? It's the best icebreaker in the language, and it drills haber and the participles at the same time. My students who use it on their first trip come back with friends and with the tense.

In the wildThe present perfect in real Spanish

Five sentences from travel, work and family. Read the participle first, then the form of haber, and say the whole thing aloud.

Disculpe, he perdido mi pasaporte.
Excuse me, I've lost my passport.
Recent event, present problem → present perfect
¿Ha llegado ya el tren de Madrid?
Has the train from Madrid arrived yet?
ya in a question = "yet"
Todavía no hemos recibido su respuesta.
We still haven't received your reply.
Work email, open situation → todavía no + present perfect
Este año la empresa ha abierto dos oficinas nuevas.
This year the company has opened two new offices.
Unfinished period (este año) + irregular abierto
Mis abuelos nunca han salido de su pueblo.
My grandparents have never left their village.
Life experience, negative → nunca + han + participle

From the classroomCommon mistakes English speakers make with the present perfect

These five cover almost everything I correct in this tense. Most come from English being close enough that you stop paying attention.

  1. Using tener as the helping verb. Tengo comido is the most common error, straight from English "I have eaten." The auxiliary is always haber: he comido. Tener is for possession only — see the tener conjugation guide if the two still feel interchangeable.
  2. Regularizing the irregular participles. He escribido, he rompido, he ponido, he hacido. Learn the nine irregulars in the table above as vocabulary, not as grammar.
  3. Splitting haber and the participle. English says "I have already eaten," so students say he ya comido. Spanish keeps the two words together: ya he comido. Adverbs go before haber or after the participle — never in between.
  4. Making the participle agree. Ella ha llegada and ellos han comidos look logical but are wrong. With haber, the participle is frozen in -o. It only agrees as an adjective: la puerta está abierta.
  5. Using it with a finished time marker. Ayer he comido paella is wrong in Latin America and in Spain. Yesterday is closed: ayer comí paella. If the sentence contains ayer, el año pasado or a date, switch to the preterite.
Hoy he escrito tres correos; ayer escribí diez.
Today I've written three emails; yesterday I wrote ten.
Open period → present perfect; closed period → preterite. Same verb, same sentence.

The big decisionPresent perfect vs preterite: Spain and Latin America

Here's the honest conversation: in the present perfect, Spain and Latin America genuinely differ.

SituationSpainLatin America
Today / this morningHoy he desayunado tarde.Hoy desayuné tarde.
Just now, recent newsHa llamado tu madre.Llamó tu madre.
Life experience (ever / never)Nunca he estado en Cuba.Nunca he estado en Cuba.
Yesterday, last week, a dateAyer comí paella.Ayer comí paella.

Both varieties agree on the two extremes; they differ on "today" and "just now." Neither is wrong — they're two dialects of the same rule.

In Spain, anything inside a period that's still open — today, this week, this year — takes the present perfect: Esta mañana he ido al médico. In most of Latin America, speakers use the preterite for anything completed, even five minutes ago: Esta mañana fui al médico. The present perfect survives there for life experiences (nunca he estado…), for todavía no, and for actions that continue into the present (siempre hemos vivido aquí).

My advice: use the present perfect for ever, never, already, still not, and open periods, and the Spanish preterite tense for anything with a closed time marker — ayer, anoche, la semana pasada, en 2019. You'll be correct on both sides of the Atlantic. And once he hecho is automatic, the Spanish past perfect costs almost nothing: swap he for había. Both tenses sit alongside the preterite and imperfect in my guide to all the Spanish past tenses.

PracticeQuick quiz: spanish present perfect

Six questions from the lesson. Answer in your head, then open to check.

1. The formula for the present perfect is:estar + gerundiohaber + participio pasadoser + participioir + a + infinitivo
haber + participio pasado
2. 'Yo' form of haber:hehahassoy
he
3. Which one is a past participle?hablar → habladohablar → hablohablar → hablandohablar → hablar
hablar → hablado
4. 'They have eaten' =Ellos comieronEllos están comiendoEllos han comidoEllos comerán
Ellos han comido
5. Irregular participle:vividohabladocomidohecho
hecho
6. 'She has written' =Ella escribeElla escribióElla ha escritoElla escribiría
Ella ha escrito

Common questionsFAQ: spanish present perfect

How do you form the present perfect in Spanish?
Combine the present tense of haber with the past participle of the main verb. Haber is he, has, ha, hemos, habéis, han. The regular participle drops the infinitive ending and adds -ado for -ar verbs (hablar → hablado) or -ido for -er and -ir verbs (comer → comido, vivir → vivido). So 'I have spoken' is he hablado and 'they have lived' is han vivido. Nothing goes between haber and the participle.
What are the irregular past participles in Spanish?
The nine you'll use constantly are hecho (hacer), dicho (decir), visto (ver), escrito (escribir), puesto (poner), vuelto (volver), abierto (abrir), roto (romper) and muerto (morir). Verbs built on them inherit the irregularity: deshecho, descrito, devuelto, descubierto. A few others simply need an accent: leído, oído, traído, creído.
How do you say 'have you ever' in Spanish?
Use ¿Alguna vez has + participle? or ¿Has + participle + alguna vez?: ¿Alguna vez has estado en México? (Have you ever been to Mexico?). Alguna vez is 'ever'. To answer 'never', use nunca before haber: Nunca he estado en México. For 'already' use ya, and for 'not yet' use todavía no: todavía no he ido.
When do you use the present perfect instead of the preterite in Spanish?
Use the present perfect when the past action still connects to now: life experiences (he vivido en tres países), 'ever/never' questions, results you can see (he perdido las llaves), and time periods that haven't ended (esta semana, este año). Use the preterite for anything inside a closed period: ayer, anoche, la semana pasada, en 2019. If the sentence has a finished time marker, choose the preterite.
Is the present perfect used in Latin America?
Yes, but less than in Spain. Latin American speakers use the preterite for most completed actions, even recent ones: hoy desayuné tarde where a Spaniard would say hoy he desayunado tarde. The present perfect stays common in Latin America for life experiences (nunca he estado en…), for todavía no, and for situations that continue into the present. Both usages are correct.
Does the past participle change for gender or number?
Not after haber. In the present perfect the participle always ends in -o: ella ha llegado, ellas han llegado, nosotras hemos comido. The participle only agrees when it works as an adjective with ser or estar: la puerta está abierta, las cartas están escritas. Saying ha llegada or han comidos is a common learner error.
Free on YouTube

Liked this lesson? The next one is free too

Every lesson on this site is a free video on Profe Fer's channel. Subscribe so the next one lands in your feed.

Watch nextKeep going in course order