Para formar el pretérito perfecto , se conjuga el verbo "haber" seguido del participio perfecto.

(To form the pretérito perfecto , conjugate the verb "haber" followed by the past participle.)

What is the pretérito perfecto?

  • In English this tense is usually: have + past participle (I have eaten, she has gone).
  • In Spanish it is: haber (present) + participio (He comido, Ha salido).
  • Use it for recent past or for actions that are connected to now.
    • Hoy he comido en un restaurante. – Today I have eaten in a restaurant (today is still going).

Quick structure: the two parts

Always think of the pretérito perfecto as a fixed pair:

  1. haber (conjugated) +
  2. participio (always the same form)
Person Haber Example with "tomar" English
yo he he tomado I have taken / had
has has tomado you have taken
él / ella / usted ha ha tomado he / she / you (formal) has taken
nosotros/-as hemos hemos tomado we have taken
vosotros/-as habéis habéis tomado you (plural) have taken
ellos / ellas / ustedes han han tomado they / you (plural formal) have taken

Key idea: Only haber changes. The participle stays the same for all persons.

How to form the past participle (participio)

For regular verbs there are clear endings:

  • Verbs in -ar-ado
    • tomar → tomado
    • hablar → hablado
    • cenar → cenado
  • Verbs in -er-ido
    • comer → comido
    • beber → bebido
    • leer → leído (note the accent)
  • Verbs in -ir-ido
    • vivir → vivido
    • abrir → abierto (irregular)

The participle is invariable: it does not change for gender or number after haber.

  • Ella ha comido. (not comida)
  • Ellos han comido. (not comidos)

Important irregular participles you will use a lot

Some participles do not follow the regular rule. You already see some of them in the unit:

Infinitive Participle Example
escribir escrito He escrito un correo al restaurante.
abrir abierto Hemos abierto un nuevo restaurante.
hacer hecho Ella ha hecho la reserva.
decir dicho Han dicho que llegan tarde.
ver visto He visto el menú del día.
romper roto Hemos roto la dieta hoy.

These need to be memorised. The good news: they appear very often, so you will see them again and again.

Typical meaning: when do Spanish speakers use it?

  • Recent past, often with time words that include "today / this …" and are still open:
    • hoy (today)
    • esta mañana / tarde / noche (this morning / afternoon / evening)
    • esta semana (this week)
    • este mes / este año (this month / this year)
  • Connection to the present:
    • The result is important now.
    • You are asking about experience up to now.

Compare:

  • Hoy he comido en un restaurante nuevo. – Focus on today (still going).
  • Ayer comí en un restaurante nuevo.ayer = finished period → another tense (pretérito indefinido), not the focus of this unit.

Word order and common mistakes

  • Haber and the participle stay together.
    • Correct: Hoy he comido en el centro.
    • Incorrect: Hoy he en el centro comido.
  • Put object pronouns before "haber".
    • Lo he pedido. – I have ordered it.
    • Nos han servido el vino. – They have served us the wine.
    • Incorrect: He lo pedido.
  • Do not use "estar" or "tener" as the auxiliary here.
    • Correct: He reservado una mesa.
    • Incorrect: Estoy reservado una mesa, Tengo reservado una mesa (these have other, more specific meanings).
  • No extra endings on the participle.
    • Correct: Hemos comido.
    • Incorrect: Hemos comidos, hemos comída.

Time expressions that signal pretérito perfecto

These words often go together with this tense, especially in Spain:

  • hoy – today
  • esta mañana / tarde / noche – this morning / afternoon / evening
  • esta semana – this week
  • este fin de semana – this weekend
  • este mes / este año – this month / this year
  • últimamente – lately, recently
  • ya – already
  • todavía no – not yet
  • nunca – never (up to now)

Typical patterns:

  • Ya he comido. – I have already eaten.
  • Todavía no he pedido la bebida. – I have not ordered the drink yet.
  • Nunca he cenado en este restaurante. – I have never had dinner in this restaurant.

Step-by-step: build a correct sentence

  1. Find the subject (yo, tú, él/ella, nosotros, etc.).
  2. Choose the correct form of "haber" for that subject.
  3. Form the participle of the main verb:
    • Check: regular -ar → -ado, regular -er/-ir → -ido.
    • If it is irregular (escribir, ver, hacer…), use the irregular form.
  4. Keep "haber + participio" together and add the rest of the sentence.

Example:

  • Idea: "This week we have opened a new restaurant in the centre."
  • Subject: nosotroshemos
  • Main verb: abrir → irregular participle abierto
  • Result: Esta semana hemos abierto un nuevo restaurante en el centro.

Self-check: do I have the two parts?

Use this quick mental checklist when you speak or write:

  1. Do I have "haber" in the present?
    • If you only have one verb (tomado alone), add the correct form of haber.
  2. Is the participle correct?
    • For a regular verb: -ado / -ido?
    • Is it an irregular one like hecho, visto, escrito?
  3. Is there a typical time word?
    • If you say hoy, esta semana, este año, ya, todavía no, pretérito perfecto is usually a good choice.
  4. Have I kept "haber + participio" together?
    • No words between them in basic sentences.

What you should be able to do now

  • Recognise that pretérito perfecto = haber (present) + participio.
  • Form regular participles with -ado and -ido.
  • Use frequent irregular participles: hecho, visto, escrito, abierto, dicho, roto.
  • Choose pretérito perfecto with hoy, esta semana, este año, ya, todavía no, nunca.
  • Place object pronouns correctly: lo / la / los / las / me / te / nos before haberlo he pedido.

If you can do these points with the restaurant vocabulary in the unit, you are ready to use the pretérito perfecto in conversation.

  1. It is used for actions that have happened recently or that have happened but are not finished yet.
  2. The participle of regular verbs is formed by adding the endings "-ado" , (verbos en "-ar") or " -ido" (para los verbos en "-er" e "-ir")
  3. The past participle is invariable. It is the same for all personal pronouns.
Conjugación de "haber" (Conjugation of "haber")Participio  (Participle)Ejemplo (Example)
Yo hetomadoHe tomado una bebida en el bar. (I have had a drink at the bar.)
Tú hasHas tomado el menú en el restaurante. (You have taken the menu in the restaurant.)
Él/ella haHa tomado un plato en la pizzería. (He/She has ordered a dish at the pizzeria.)
Nosotros/-as hemosHemos tomado el postre en la cafetería. (We have had dessert in the café.)
Vosotros/-as habéisHabéis tomado un café en el restaurante. (You (plural) have had a coffee in the restaurant.)
Ellos/-as hanHan tomado la bebida que les gustaba. (They have had the drink they liked.)

Exceptions!

  1. Some participles are irregular. For example: "escribir - escrito, abrir - abierto, hacer - hecho, decir - dicho, ver- visto, romper - roto" .

Exercise 1: Multiple choice

Instruction: Choose the correct answer

1. Hoy ___ un café y una tostada en la barra antes de trabajar.

Today ___ a coffee and a toast at the bar before work.)

2. Nosotros ___ una mesa para cuatro a las nueve.

We ___ a table for four at nine o'clock.)

3. Perdona, todavía no ___ la bebida.

Sorry, I still haven't ___ the drink.)

4. Vosotros ___ una buena propina al camarero.

You (plural) ___ a good tip for the waiter.)

Exercise 2: Rewrite the phrases

Instruction: Rewrite the sentences in the present perfect tense using the verb in parentheses, as in the example: I (tomar) a drink at the bar. → I have had a drink at the bar.

Show/Hide translation Show/Hide hints
  1. Nosotros (comer) en un restaurante italiano esta noche.
    ⇒ _______________________________________________ Example
    Hemos comido en un restaurante italiano esta noche.
    (We have eaten at an Italian restaurant tonight.)
  2. Yo (abrir) una botella de vino para la cena.
    ⇒ _______________________________________________ Example
    He abierto una botella de vino para la cena.
    (I have opened a bottle of wine for dinner.)
  3. Ellos (ver) el menú del día en la pizarra.
    ⇒ _______________________________________________ Example
    Han visto el menú del día en la pizarra.
    (They have seen the daily menu on the board.)
  4. Tú (reservar) una mesa para cuatro personas.
    ⇒ _______________________________________________ Example
    Has reservado una mesa para cuatro personas.
    (You have reserved a table for four people.)
  5. Vosotros (escribir) un correo al restaurante.
    ⇒ _______________________________________________ Example
    Habéis escrito un correo al restaurante.
    (You (plural) have written an email to the restaurant.)
  6. Ella (hacer) una llamada para cambiar la hora de la reserva.
    ⇒ _______________________________________________ Example
    Ha hecho una llamada para cambiar la hora de la reserva.
    (She has made a call to change the reservation time.)

Exercise 3: Grammar in action

Instruction: As a couple, tell each other what you have had today and what you want to order now.

Show/Hide translation
Situation
Estás en un restaurante nuevo y hablas con un amigo sobre el menú.
(You are at a new restaurant and talking with a friend about the menu.)

Discuss
  • ¿Qué has tomado hoy para comer o beber, en casa o fuera? (What have you had to eat or drink today, at home or out?)
  • En este restaurante, ¿qué plato o bebida no has probado todavía? ¿Por qué? (In this restaurant, which dish or drink haven’t you tried yet? Why?)

Useful words and phrases
  • Hoy he tomado una bebida en el bar. (Today I had a drink at the bar.)
  • Todavía no he tomado el postre; quiero ver el menú. (I haven't had dessert yet; I want to look at the menu.)
  • ¿Has tomado ya algo en esta pizzería o en este restaurante? (Have you had anything yet at this pizzeria or restaurant?)

Use in conversation
  • yo he + participio (yo he + participio)
  • tú has + participio (tú has + participio)
  • nosotros hemos + participio (nosotros hemos + participio)

Written by

This content has been designed and reviewed by the coLanguage pedagogical team: About coLanguage