Present Perfect vs Preterite in Spanish
Learn when to use the Spanish present perfect and when to use the preterite. This guide compares he comido and comí, explains time markers, present relevance, finished past time, regional differences between Spain and Latin America, and the most common mistakes learners make.
Why this difference matters
English and Spanish do not always divide the past in the same way. Spanish often makes a strong distinction between a completed action connected to now and a completed action placed in a closed past period. The contrast appears in everyday sentences such as he visto esa película and vi esa película ayer.
How to choose between them
Ask one question first: is the time frame still connected to the present, or is it clearly finished? If it is still connected to now, the present perfect is often possible. If the time is closed and finished, the preterite is usually the natural choice.
Present perfect
Use it for completed actions with present relevance.
Hoy he estudiado mucho.
Today I have studied a lot.
Preterite
Use it for actions in a finished past time.
Ayer estudié mucho.
Yesterday I studied a lot.
Regional usage
Spain often uses the present perfect more than many Latin American varieties.
Hoy he comido. / Hoy comí.
Core contrast: he comido vs comí
| Form | Structure | Example | English meaning | Main idea |
|---|---|---|---|---|
| Present perfect | he + past participle | He comido. | I have eaten. | The action is connected to now. |
| Preterite | simple past form | Comí. | I ate. | The action is completed in the past. |
| Present perfect | hemos + participle | Hemos terminado hoy. | We have finished today. | The current time frame still matters. |
| Preterite | preterite ending | Terminamos ayer. | We finished yesterday. | The time frame is closed. |
Present perfect: haber + past participle
The present perfect is a compound tense. It uses the present tense of haber and a past participle.
| Subject | Haber | Example with comer | English meaning |
|---|---|---|---|
| yo | he | he comido | I have eaten. |
| tú | has | has comido | You have eaten. |
| él / ella / usted | ha | ha comido | He/she/you formal has eaten. |
| nosotros | hemos | hemos comido | We have eaten. |
| vosotros | habéis | habéis comido | You all have eaten. |
| ellos / ustedes | han | han comido | They / you all have eaten. |
Detail page: Spanish Present Perfect.
Preterite: completed action in the past
The preterite is a simple past tense. It presents an action as completed, often with a clear past time marker.
| Infinitive | Preterite example | English meaning | Past time marker |
|---|---|---|---|
| hablar | hablé con Ana ayer | I spoke with Ana yesterday. | ayer |
| comer | comí a las dos | I ate at two o’clock. | a las dos |
| vivir | viví en Madrid en 2020 | I lived in Madrid in 2020. | en 2020 |
| terminar | terminamos la semana pasada | We finished last week. | la semana pasada |
Detail page: Spanish Preterite.
Time markers: the fastest decision tool
Time markers are often the clearest signal. Present perfect markers usually point to a current or still-relevant period. Preterite markers usually point to a finished past period.
| Use present perfect with | Example | Use preterite with | Example |
|---|---|---|---|
| hoy | Hoy he trabajado mucho. | ayer | Ayer trabajé mucho. |
| esta semana | Esta semana hemos aprendido mucho. | la semana pasada | La semana pasada aprendimos mucho. |
| este mes | Este mes he leído dos libros. | el mes pasado | El mes pasado leí dos libros. |
| este año | Este año hemos viajado mucho. | en 2020 | En 2020 viajamos mucho. |
| alguna vez | ¿Has estado alguna vez en México? | anoche | Anoche cené tarde. |
Present relevance vs closed past time
The present perfect often tells us that the completed action still matters now. The preterite tells us that the action is viewed as part of a completed past situation.
| Present perfect | Why | Preterite | Why |
|---|---|---|---|
| He perdido las llaves. | The result matters now: I do not have the keys. | Perdí las llaves ayer. | The event is placed in a finished past time. |
| Hemos terminado el trabajo. | The result is relevant now. | Terminamos el trabajo el viernes. | The action is tied to a closed past day. |
| ¿Has visto esta película? | The experience matters now. | Vi esta película el año pasado. | The viewing is located in a finished past time. |
Regional differences: Spain and Latin America
Usage varies across the Spanish-speaking world. In much of Spain, the present perfect is common with current time frames such as hoy, esta mañana and este año. In many Latin American varieties, the preterite is often used in contexts where Spain may prefer the present perfect.
| Context | Common in Spain | Common in many Latin American varieties | Meaning |
|---|---|---|---|
| Today | Hoy he comido tarde. | Hoy comí tarde. | Today I ate late. |
| This morning | Esta mañana he hablado con Ana. | Esta mañana hablé con Ana. | This morning I spoke with Ana. |
| Recent completed action | Ya he terminado. | Ya terminé. | I have already finished / I already finished. |
| Finished past time | Ayer comí tarde. | Ayer comí tarde. | Yesterday I ate late. |
For learners, it is useful to learn the standard contrast first, then observe regional preferences in real speech.
Decision table: which tense should you choose?
| Question | Choose | Example | Reason |
|---|---|---|---|
| Is the time period still open? | Present perfect | Este año he aprendido mucho. | The year is still the current year. |
| Is the time period finished? | Preterite | El año pasado aprendí mucho. | Last year is closed. |
| Does the result matter now? | Present perfect | He perdido mi teléfono. | The present result is important. |
| Are you narrating a finished event? | Preterite | Compré el teléfono en Madrid. | The event is located in the past. |
| Are you asking about life experience? | Present perfect | ¿Has probado la paella? | The experience is relevant now. |
| Do you give a specific finished date? | Preterite | Probé la paella en Valencia. | The experience is anchored in a past event. |
Common pairs: same verb, different meaning
| Present perfect | Meaning | Preterite | Meaning |
|---|---|---|---|
| He visto esa película. | I have seen that movie. | Vi esa película ayer. | I saw that movie yesterday. |
| Hemos terminado. | We have finished. | Terminamos a las cinco. | We finished at five. |
| ¿Has estado en Chile? | Have you been to Chile? | Estuve en Chile en 2021. | I was in Chile in 2021. |
| Han llegado tarde. | They have arrived late. | Llegaron tarde anoche. | They arrived late last night. |
Practice exercises: present perfect vs preterite
Try to answer before opening the solutions. These exercises focus on time markers, current relevance and closed past time.
Exercise 1: choose the tense
- Hoy ___ mucho. study
- Ayer ___ mucho. study
- Este año ___ a México. travel
- En 2022 ___ a México. travel
Show answers
1. he estudiado
2. estudié
3. he viajado
4. viajé
Exercise 2: choose he visto or vi
- ___ esa película ayer.
- ___ esa película muchas veces.
- ___ a Ana esta mañana.
- ___ a Ana el lunes pasado.
Show answers
1. Vi esa película ayer.
2. He visto esa película muchas veces.
3. He visto a Ana esta mañana. / in many Latin American contexts: Vi a Ana esta mañana.
4. Vi a Ana el lunes pasado.
Exercise 3: explain the difference
- He perdido las llaves.
- Perdí las llaves ayer.
- Hemos terminado el curso.
- Terminamos el curso en abril.
Show answers
1. The result matters now: I do not have the keys.
2. The event is placed in yesterday.
3. The completed action is relevant now.
4. The action is located in a finished past time.
Typical mistakes with present perfect and preterite
- Using present perfect with finished past markers: say Ayer comí, not usually Ayer he comido.
- Ignoring regional variation: Hoy he comido is common in Spain; Hoy comí is common in many Latin American varieties.
- Translating English mechanically: English “I have eaten” does not always require Spanish present perfect.
- Confusing experience and specific event: ¿Has estado en México? asks about experience; Estuve en México en 2021 gives a specific past event.
- Forgetting that the present perfect uses haber: say he visto, not tengo visto for the normal perfect tense.
- Changing the participle after haber: say ellas han comido, not ellas han comidas.
Related grammar topics
Present Perfect
Learn he hablado, has comido, hemos vivido and present relevance.
Preterite
Study completed past actions such as hablé, comí and viví.
Compound Tenses
Understand how haber + past participle works across Spanish tenses.
Pluperfect
Compare he comido, comí and había comido.
Past Participle
Learn forms such as hablado, comido, hecho, visto and escrito.
Haber and Hay
Understand auxiliary haber in compound tenses.
Where to go next
After this comparison, study the present perfect and preterite separately. Then continue with the pluperfect to understand how Spanish organizes past events before other past events.
Want personal guidance?
If Spanish past tenses feel confusing, individual guidance can help you practise he comido, comí, había comido, time markers, regional variation and real sentence choices.
FAQ: present perfect vs preterite in Spanish
What is the difference between present perfect and preterite in Spanish?
The present perfect connects a completed action to the present, as in he comido. The preterite places a completed action in a finished past time, as in comí ayer.
When do you use the Spanish present perfect?
Use the present perfect for completed actions with present relevance, current time frames or life experience, such as he visto esa película or hoy he trabajado mucho.
When do you use the Spanish preterite?
Use the preterite for completed actions in a closed past time frame, such as ayer comí, el año pasado viajé or en 2020 viví en Madrid.
Can I say hoy comí instead of hoy he comido?
Yes, in many Latin American varieties hoy comí is common. In much of Spain, hoy he comido is often preferred because hoy is still the current day.
Is ayer he comido correct?
In standard learner Spanish, use the preterite with ayer: ayer comí. The marker ayer refers to a closed past time.
What is the easiest rule for learners?
Use the present perfect for current relevance or open time frames, and use the preterite for finished past time markers such as ayer, la semana pasada and en 2020.
