Introduction

The Spanish present perfect (el pretérito perfecto compuesto) is used to talk about things that started in the past and which continue or repeat in the present.

It's also used to talk about things that have happened in the recent past.

Present Perfect Indicative Formula
present indicative of haber + past participle of another verb

Present Perfect Examples

He visto las montañas de Perú.
I have seen the mountains of Perú.
Has ido a Colombia.
You have gone to Colombia.
Usted ha escrito un poema bonito.
You have written a pretty poem.
Él ha dormido 10 horas.
He has slept 10 hours.
Ella ha dicho que es una princesa.
She has said that she is a princess.
Hemos vuelto para comprar la leche.
We have returned to buy milk.
Habéis cantado muy bien.
You have sung very well.
Ustedes han hecho un pastel delicioso.
You have made a delicious cake.
Ellos han bailado en 12 países.
They have danced in 12 countries.
Ellas han oído la verdad.
They have heard the truth.

For talking about actions that happened in the recent past, the present perfect is more widely used in Spain than in Latin America. It's more common to hear the preterite, or simple past, used in Latin America to talk about something that just happened.

Haber and Pronoun Placement

Haber, the auxiliary verb used with the present perfect, and the past participle are never separated in a present perfect construction.

If an object pronoun (such as los) is used with the present perfect, it goes immediately before haber.

¿Los has visto?
Have you seen them?
Se las he dado.
I have given them to her.

Present Perfect or Present Simple?

The present perfect may be used to talk about an action still in progress, but it's also common to use the present tense to do this.

He vivido aquí por muchos años.
I have lived here many years.
Hace tres años que vivo aquí.
I have lived here for three years.

The present perfect may be used to talk about something that was just done, but it's also very common to use acabar de or the simple past, especially in Latin America.

He comprado la leche y los panes.
I've bought the milk and the rolls.
Acabo de comprar la leche y los panes.
I just bought the milk and the rolls.
Compré la leche y los panes.
I bought the milk and the rolls.