Table of Contents

Spanish Time Expressions with 'Hace': A Simple Guide (Ago & For)

Ever wanted to say you started learning Spanish "two years ago"? Or that you've been living in your city "for five years"? If so, you've come to the right place!

The Spanish word hace is your key to unlocking these time expressions. It might seem a bit tricky at first because it can mean both "ago" and "for," depending on how you use it.

But don't worry! By the end of this guide, you'll be using hace like a pro. We'll break down its two main jobs, look at plenty of examples, and even practice a little along the way.

¡Vamos! Let's get started.

Person looking out a window, reflecting on time
Reflecting on the past and present—the perfect moment to use 'hace'

Using Hace to Talk About the Past ('Ago')

This is the most common use of hace you'll encounter. When you want to talk about a specific event that happened and finished in the past, hace means "ago."

Think of it this way: you're placing a finished action on a timeline.

The "Ago" Formula: Verb + hace + Time Period

This is the simplest and most direct way to say something happened "ago." The structure is straightforward:

[Verb in the Past Tense] + hace + [Time Period]

Let's see it in action. Notice how the verb is always in a past tense, like the preterite.

  • VisitéI visited a mi abuela hace una semana. (I visited my grandma a week ago.)
  • CompróHe bought el coche hace tres meses. (He bought the car three months ago.)
  • LlegamosWe arrived a la fiesta hace diez minutos. (We arrived at the party ten minutes ago.)
  • TerminaronThey finished el proyecto hace un año. (They finished the project a year ago.)

Past Tense is Key!

Remember, for "ago," the action is completely finished. That's why you need to use a past tense like the preterite (visité, compró, llegamos). You're talking about a single point in the past.

The Alternative "Ago" Formula: Hace + Time + que + Verb

You can also say the exact same thing with a slightly different word order. This structure often adds a little more emphasis to the amount of time that has passed.

Hace + [Time Period] + que + [Verb in the Past Tense]

Let's rephrase our examples from before:

  • Hace una semana que visitéI visited a mi abuela. (It's been a week since I visited my grandma.)
  • Hace tres meses que compróhe bought el coche. (It's been three months since he bought the car.)
  • Hace un año que terminaronthey finished el proyecto. (It's been a year since they finished the project.)

Both structures are correct and mean the same thing! The first one is a bit more common in everyday conversation, but you'll see and hear both.

Structure 1Structure 2 (Same Meaning)

Vi esa película hace dos días.

Hace dos días que vi esa película.

Drag the handle to compare

How would you say 'I ate tacos two hours ago'?

A person waiting patiently at a bus stop
Sometimes you've been waiting for the bus for a long time!

Using Hace for Ongoing Actions ('For')

Now for the second personality of hace. We use it to talk about actions that started in the past and are still continuing in the present. In English, this is where we'd often use "for" or "have been... for."

The formula is very specific, and the verb tense is the secret ingredient!

The "For" Formula: Hace + Time + que + Verb

Here's the magic formula for actions that are still happening:

Hace + [Time Period] + que + [Verb in the PRESENT Tense]

The present tense is the crucial difference. It tells the listener that the action hasn't stopped.

  • Hace cinco años que vivoI live en Madrid. (I have been living in Madrid for five years. / I still live there.)
  • Hace dos meses que trabajashe works aquí. (She has been working here for two months. / She still works here.)
  • Hace mucho tiempo que nos conocemoswe know each other. (We have known each other for a long time. / We still know each other.)
  • Hace una hora que esperoI am waiting el autobús. (I have been waiting for the bus for an hour. / I am still waiting.)

Present Tense Only!

This is the #1 mistake learners make. If the action is still ongoing, you must use the present tense. Using the past tense here would completely change the meaning. For example, Hace cinco años que viví en Madrid means "It's been five years since I lived in Madrid" (implying I don't live there anymore).

Let's test your understanding of this key difference.

Which sentence means 'I have been studying Spanish for three years' (and I'm still studying)?

How to Ask "How Long?" with Hace

Now that you know how to make statements, let's learn how to ask questions. The structure is very similar.

Asking About Ongoing Actions

To ask how long someone has been doing something (that they are still doing), you use this structure:

¿Cuánto tiempo hace que + [Verb in the Present Tense] + ...?

  • A: ¿Cuánto tiempo hace que vivesHow long have you been living aquí? (How long have you been living here?)

  • B: Hace un año que vivo aquí. (I've been living here for a year.)

  • A: ¿Cuánto tiempo hace que esperanHow long have you all been waiting? (How long have you all been waiting?)

  • B: Hace veinte minutos que esperamos. (We've been waiting for twenty minutes.)

Asking About Past Events

To ask how long ago something happened, you just swap in the past tense:

¿Cuánto tiempo hace que + [Verb in the Past Tense] + ...?

  • A: ¿Cuánto tiempo hace que llegasteHow long ago did you arrive? (How long ago did you arrive?)

  • B: Llegué hace una hora. (I arrived an hour ago.)

  • A: ¿Cuánto tiempo hace que terminóHow long ago did the movie end la película? (How long ago did the movie end?)

  • B: Terminó hace media hora. (It ended half an hour ago.)

Asking about an ONGOING actionAsking about a FINISHED action

¿Cuánto tiempo hace que estudias español?

¿Cuánto tiempo hace que visitaste España?

Drag the handle to compare

Common Mistakes to Avoid

Let's recap the most common slip-ups so you can sidestep them.

1. Mixing Up Tenses (Preterite vs. Present)

This is the big one. Always ask yourself: "Is the action finished or still going?"

  • Finished? Use the Past Tense (Preterite).
  • Still going? Use the Present Tense.
Incorrecto ❌ (for an ongoing action)Correcto ✅

Hace dos horas que esperé el tren.

Hace dos horas que espero el tren.

Drag the handle to compare

The incorrect sentence means "It's been two hours since I waited for the train," which sounds very strange!

2. Confusing Hace with Desde

You might have heard desde ("since") used for time as well. They are similar but have a key difference:

  • Hace measures a duration of time (a quantity: two years, three months, five minutes).
  • Desde marks a specific starting point in time (a date or event: 2021, last Tuesday, my birthday).

Hace vs. Desde

  • Hace dos años que estudio español. (I've been studying Spanish for two years.) -> Duration
  • Estudio español desde 2022. (I've been studying Spanish since 2022.) -> Starting Point

A student making notes in a planner or calendar
Tracking time, whether it's a specific date or a total duration.

Time to Practice!

Let's put your new knowledge to the test. Try to unscramble this sentence.

Arrange the words to form a correct sentence:

un
libro
mes
leí
hace
Interesante

Now, try one more. Remember to think about whether the action is ongoing or finished.

Arrange the words to form a correct sentence:

en
que
hace
trabaja
esa
empresa
años
tres
Mi
hermano

You've Mastered Hace!

¡Felicidades! You've just learned one of the most useful tools for talking about time in Spanish.

Let's do a quick recap:

  1. For past, completed actions ('ago'):

    • [Verb in Past] + hace + [time]
    • Comí hace una hora. (I ate an hour ago.)
  2. For ongoing actions ('for' / 'have been'):

    • Hace + [time] + que + [Verb in Present]
    • Hace una hora que espero. (I have been waiting for an hour.)

Keep an eye out for hace when you're reading or listening to Spanish. The more you see it in context, the more natural it will feel.

¡Buen trabajo!

Practice Exercises

Question 1 of 10

Mi familia y yo visitamos el museo ___ dos semanas.