Spanish grammar · Intermediate

When to Use the Present Perfect in Spanish: The Complete Guide

Use the present perfect (haber + past participle) for past actions with present relevance, life experiences (nunca / alguna vez), and recent past in Spain. Latin America prefers the simple preterite for most past events.

He comido tres veces hoy.

I've eaten three times today.

What it is

Use the Spanish present perfect (he comido / I have eaten) for past actions with present relevance. Common in Spain for any action that happened in a time period including today; less common in Latin America, where the simple preterite is preferred.

In He comido tres veces hoy (I've eaten three times today), the action of eating is over but hoy (today) includes the present, so present perfect is preferred (in Spain) over the preterite comí.

How to spot it

Look for: nunca, alguna vez, ya, todavía, hoy, esta semana, este año, hasta ahora. These signal a time period that includes the present, triggering present perfect.

  • ¿Has comido? — Have you eaten?
  • Nunca he visitado México. — I've never visited Mexico.
  • Esta semana ha llovido mucho. — This week it's rained a lot.

In Spain, present perfect is used for almost any recent past action. In Latin America, the preterite is preferred even for today's actions.

When to Use the Present Perfect in Spanish Quick Reference

Present perfect triggers

TriggerExampleTranslation
Nunca / JamásNunca he ido allí.I've never gone there.
Alguna vez¿Has estado en España?Have you ever been to Spain?
Ya / Todavía noYa he terminado.I've already finished.
HoyHoy he comido temprano.Today I've eaten early. (Spain)
Esta semana / añoEste año he leído mucho.This year I've read a lot.
RecientementeRecientemente he aprendido.Recently I've learned.

Common When to Use the Present Perfect in Spanish Examples in Spanish

Each present perfect use in real contexts:

Life Experiences

Nunca he visitado Asia.
I've never visited Asia.
¿Alguna vez has comido sushi?
Have you ever eaten sushi?
He visto muchas películas españolas.
I've seen many Spanish movies.
Hemos viajado por toda Europa.
We've traveled all over Europe.
Jamás he escuchado tal cosa.
I've never heard such a thing.

Life experiences with nunca, alguna vez, jamás use present perfect.

Recent Past Actions (Spain)

Hoy he ido al gimnasio.
Today I've gone to the gym.
Esta mañana hemos desayunado tarde.
This morning we had breakfast late.
Esta semana ha sido difícil.
This week has been difficult.
Este año he leído veinte libros.
This year I've read twenty books.
Esta tarde ha llovido mucho.
This afternoon it's rained a lot.

In Spain, time periods including the present (hoy, esta semana, este año) trigger present perfect.

Already / Not Yet

¿Ya has comido?
Have you eaten yet?
Todavía no he terminado.
I haven't finished yet.
Ya hemos llegado.
We've already arrived.
Aún no he visto la película.
I still haven't seen the movie.
Ya te lo he dicho.
I've already told you.

Ya (already) and todavía no (not yet) typically pair with present perfect.

Past with Present Consequences

He perdido las llaves. (still missing)
I've lost my keys.
Han pasado muchas cosas.
Many things have happened.
Has cambiado mucho.
You've changed a lot.
Hemos aprendido mucho.
We've learned a lot.
He decidido cambiar de trabajo.
I've decided to change jobs.

Past actions whose effects continue into the present use present perfect.

Present Perfect Formation and Use

Structure: Haber + Past Participle

Conjugate haber in the present (he, has, ha, hemos, habéis, han) + past participle (regular: -ado / -ido; irregular: hecho, dicho, visto, etc.).

he comido, has hablado, ha visto.

I have eaten, you have spoken, he has seen.

Haber + past participle.

Triggers Include the Present

Present perfect triggers refer to time periods that include the present: hoy, esta semana, este año, hasta ahora, nunca, ya. The action happened in the past, but the time frame extends to now.

Hoy he comido. Este año he viajado.

Today / this year includes now.

Time frame includes now.

Spain vs. Latin America

In Spain, present perfect dominates for recent past. In Latin America, the simple preterite (comí, fui) is preferred for most past events, with present perfect reserved for ongoing relevance.

Spain: hoy he comido. Latin America: hoy comí.

Regional preference.

Spain prefers present perfect.

Past Participle Is Invariable

In compound tenses with haber, the past participle never changes for gender or number. He comido / hemos comido / han comido (always comido).

He comido. Hemos comido. Han comido.

Past participle doesn't agree.

Invariable in compound tenses.

Common Mistakes with When to Use the Present Perfect in Spanish

Incorrect: Ayer he comido pizza. (in Spain) — Yesterday I ate pizza.

Correct: Ayer comí pizza. — Yesterday I ate pizza.

Ayer (yesterday) is a finished time period, not including the present. Use preterite (comí), not present perfect (he comido).

Incorrect: He comida pizza. — I have eaten pizza.

Correct: He comido pizza. — I have eaten pizza.

In compound tenses with haber, the past participle never agrees with the object. Always comido, never *comida.

Incorrect: Yo soy comido. (passive intended? or compound tense?) — I have eaten. / The pizza has been eaten.

Correct: Yo he comido. / La pizza ha sido comida. — I have eaten. / The pizza has been eaten.

Compound past tenses use HABER (not ser) as auxiliary. He comido = I have eaten. Ser + past participle would be passive voice, with different meaning.

Spain vs. Latin America Usage

Spain: Present Perfect Dominates

In Spain, present perfect is used for any action in a time period including the present (hoy, esta semana, este año, hace un rato).

Hoy he visto a Carlos.
Today I saw Carlos.
Esta mañana hemos desayunado en casa.
This morning we had breakfast at home.
Hace un rato te he llamado.
A little while ago I called you.

Even very recent past (hace un rato = a little while ago) prefers present perfect in Spain.

Latin America: Preterite Preferred

In Latin America, the simple preterite is used for most past actions, even those happening today. Present perfect is reserved for ongoing relevance.

Hoy vi a Carlos. (Latin America)
Today I saw Carlos.
Esta mañana desayunamos. (Latin America)
This morning we had breakfast.
Nunca he ido. (both regions)
I've never gone. (life experience, present perfect in both)

Life experiences (nunca, alguna vez) use present perfect in both regions. Recent past actions split by region.

When to Use the Present Perfect in Spanish FAQs

When do I use the present perfect in Spanish?
Use the present perfect for: life experiences (nunca, alguna vez), recent past actions in Spain (hoy, esta semana), already / not yet (ya, todavía no), and past actions with present consequences. Structure: haber + past participle.
What's the difference between he comido and comí?
He comido (present perfect) = past action with present relevance or recent past (Spain). Comí (preterite) = completed past action with clear bounds. In Spain, present perfect is preferred for today. In Latin America, preterite is preferred for most past events.
How is the present perfect formed in Spanish?
Haber (present: he, has, ha, hemos, habéis, han) + past participle (regular: -ado / -ido; irregular: hecho, dicho, visto, puesto, vuelto, escrito, abierto). The participle is invariable.
Why is present perfect used differently in Spain vs. Latin America?
Regional preference. Spain extends present perfect to most recent past (hoy he ido). Latin America restricts it to ongoing relevance, preferring preterite for completed events (hoy fui).
How can I master when to use the present perfect?
Memorize triggers (nunca, alguna vez, ya, todavía, hoy, esta semana). Drill the auxiliary haber + past participle (especially irregular: hecho, dicho, visto). Know your region (Spain vs. Latin America). Parrot's videos surface natural usage in both regions.