hHablaCore

Spanish grammar · interactive

Spanish Present Perfect Practice

He hablado, has visto, hemos hecho — one auxiliary, one participle, and a short list of irregulars. Drill it with instant feedback.

These Spanish present perfect exercises drill the tense you need for “I have done” sentences: the right form of haber, the right participle, and the word order that trips up English speakers. Answer in real sentences and get the rule with every answer.

The short version: the present perfect is a form of haber (he, has, ha, hemos, habéis, han) plus a past participle (-ado/-ido), nothing can come between the two, and the participle never changes — lo he visto, la he visto, los he visto.

Try the present perfect exercise

Choose the form that fits. You’ll see why after each answer.

Question 1 of 6Score: 0

Hoy     mucho en la oficina.

I have worked a lot at the office today.

How it works

  1. 1

    Read the sentence

    A real Spanish sentence appears with the verb phrase blanked out.

  2. 2

    Pick the form

    Choose the right haber + participle combination. Instant right/wrong feedback.

  3. 3

    Learn the why

    Every answer explains the auxiliary, the participle, or the word order behind it.

What you’ll learn

  • The full auxiliary: he, has, ha, hemos, habéis, han
  • The irregular participles worth memorizing: hecho, visto, dicho, escrito, puesto, vuelto
  • Why pronouns go before haber — lo he visto, never ‘he lo visto’
  • Why the participle never agrees: la he visto, not ‘la he vista’

One frozen unit, not two words

The fastest way to get the Spanish present perfect right is to treat haber + participle as a single frozen unit. Unlike English (“I have never seen it”), Spanish lets nothing slide between the two words: adverbs go outside (nunca he visto, ya he comido) and object pronouns go before haber (lo he visto, se lo he dicho). If you build sentences around an unbreakable ‘he visto’ block, the word-order errors disappear on their own.

The participle side is equally rigid: after haber it is invariable, always ending in -o. La película la he visto, las cartas las he escrito — no agreement, ever. (The participle only agrees when it acts as an adjective with estar or ser: la puerta está abierta.) If you know French or Italian, this is the rule to consciously unlearn.

The irregular participles — and when to use the tense

Regular participles are mechanical: -ar verbs take -ado (hablado) and -er/-ir verbs take -ido (comido, vivido). The irregulars form a short high-frequency list: hecho (hacer), visto (ver), dicho (decir), escrito (escribir), puesto (poner), vuelto (volver), plus abierto, roto, and muerto. They’re so common in everyday speech that inventing ‘hacido’ or ‘escribido’ is the single loudest learner giveaway — drill them until the wrong forms sound wrong.

As for when to use it: peninsular Spanish uses the present perfect for anything connected to the present — today, this week, ever/never (hoy he comido tarde). Much of Latin America prefers the simple preterite for the same situations (hoy comí tarde). Both are correct; the forms are identical everywhere, so master the mechanics here and adjust the frequency of use to the region you speak with.

Quick reference — irregular participles

InfinitiveParticiple
hacerhecho (he hecho — I have done/made)
vervisto (has visto — you have seen)
decirdicho (ha dicho — he/she has said)
escribirescrito (hemos escrito — we have written)
poner / volverpuesto / vuelto (han puesto, han vuelto)

Frequently asked questions

How do you form the present perfect in Spanish?

Conjugate haber in the present — he, has, ha, hemos, habéis, han — and add the past participle: -ado for -ar verbs (hablado), -ido for -er/-ir verbs (comido, vivido). ‘He hablado’ = I have spoken.

What are the irregular past participles in Spanish?

The core list: hecho (hacer), visto (ver), dicho (decir), escrito (escribir), puesto (poner), vuelto (volver), abierto (abrir), roto (romper), and muerto (morir). Forms like ‘hacido’ or ‘escribido’ don’t exist.

Can I put words between he and the participle, like ‘he siempre comido’?

No — haber and the participle are inseparable in Spanish. Adverbs go outside (siempre he comido) and object pronouns go before haber (lo he visto).

Why is it ‘la he visto’ and not ‘la he vista’?

After haber the participle is invariable — it always ends in -o regardless of gender or number: la he visto, las he visto. It only agrees when used as an adjective, as in ‘la puerta está abierta’.

Make the present perfect automatic

HablaCore drills the Spanish present perfect in real AI-generated sentences with instant feedback on every answer. The participles you fumble come back until hecho and visto are reflexes.

Practice the present perfect in real sentences

Keep going