Langrit Start your free trial

← All Spanish grammar lessons

The present perfect (pretérito perfecto)

Free Spanish grammar lesson · A2

Form: haber + participle

The present perfect joins the present of haber with a past participle. It is the Spanish equivalent of English "have done".

Person haber + participle
yo he hablado
has comido
él / ella / usted ha vivido
nosotros/-as hemos trabajado
vosotros/-as (Spain) habéis bebido
ellos / ellas / ustedes han salido

Participles are built with -ado for -ar verbs and -ido for -er and -ir verbs. When the stem ends in a strong vowel, the í takes an accent: leer → leído, oír → oído, traer → traído, creer → creído.

Irregular participles

Infinitive Participle Infinitive Participle
hacer hecho poner puesto
decir dicho volver vuelto
ver visto abrir abierto
escribir escrito romper roto
morir muerto cubrir cubierto

Compounds inherit the same form: describir → descrito, devolver → devuelto, deshacer → deshecho.

Nothing comes between haber and the participle

The two words are welded together. Negatives, pronouns and adverbs all go before haber.

  • No he terminado. — I haven't finished.
  • Lo he visto esta mañana. — I saw it this morning.
  • Siempre he querido ir a Perú. — I have always wanted to go to Peru.

The participle never agrees when it follows haber: Las cartas, las he escrito hoy (not escritas).

When it is used

With time that is still open: hoy, esta mañana, esta semana, este año, últimamente, and with ya, todavía no, nunca, alguna vez.

  • Hoy he dormido mal. — I have slept badly today.
  • ¿Has estado alguna vez en México? — Have you ever been to Mexico?
  • Todavía no hemos comido. — We haven't eaten yet.

In Spain this tense is used constantly. In most of Latin America the preterite covers the same ground: ¿Ya comiste? where a Spaniard says ¿Ya has comido? Both are correct in their own region.

Watch out as an English speaker

  • Don't split the verb.He no visto la película. / ✓ No he visto la película.He siempre querido. / ✓ Siempre he querido.
  • Irregular participles are not optional.He escribido, he hacido, he ponido / ✓ He escrito, he hecho, he puesto.
  • "For three years" with something still going on. He vivido aquí tres años exists, but the everyday way is the present with desde hace or llevar, and por is wrong here. ✗ Vivo aquí por tres años. / ✓ Vivo aquí desde hace tres años. (or Llevo tres años aquí.)
  • "Have got" is not haber. Possession is tener. ✗ He un coche nuevo. / ✓ Tengo un coche nuevo.

Example dialogue

¿Has visto a Luis hoy? — Have you seen Luis today?
No, todavía no ha llegado. — No, he hasn't arrived yet.
Qué raro. Le he escrito dos mensajes esta mañana. — How odd. I've written him two messages this morning.
Esta semana ha tenido mucho trabajo. — He's had a lot of work this week.
Ya lo he entendido. Lo llamo mañana. — I get it now. I'll call him tomorrow.

Ready to make it stick? Take the interactive quiz and drill this structure with spaced repetition.

Practice this topic free

More Spanish grammar