Spanish does not have a direct equivalent of the English word ago. Instead, it uses hace (literally it makes) plus a length of time to express the same idea. Paired with a preterite verb, this is one of the most common ways to anchor an event in the past.
The basic formula
There are two equivalent word orders. Both are completely natural and both mean exactly the same thing.
| Order | Pattern |
|---|---|
| 1 | [Preterite verb] + hace + [time] |
| 2 | Hace + [time] + que + [preterite verb] |
The first order feels more casual and is probably the more common in everyday speech. The second is equally correct and is often used when you want to put a bit more emphasis on the time period.
Llegué hace dos días.
I arrived two days ago.
Hace dos días que llegué.
It's been two days since I arrived.
Both sentences describe exactly the same event at exactly the same time in the past. Choose whichever feels more natural in context.
More examples with order 1
Nos conocimos hace mucho tiempo.
We met a long time ago.
Vi esa película hace un par de semanas.
I saw that movie a couple of weeks ago.
More examples with order 2
Hace cinco minutos que salió de la oficina.
He left the office five minutes ago.
Hace un mes que empezamos el proyecto.
We started the project a month ago.
Questions: how long ago?
To ask how long ago something happened, use ¿Cuánto tiempo hace que…? or ¿Hace cuánto (tiempo)…?
¿Cuánto tiempo hace que llegaste a México?
How long ago did you arrive in Mexico?
¿Hace cuánto te graduaste?
How long ago did you graduate?
Both are perfectly natural. Answers can use either word order:
Llegué hace seis meses. / Hace seis meses que llegué.
I arrived six months ago.
"Hace" is invariable
A key detail: hace never changes form in this structure, no matter how long ago the event was or how the rest of the sentence is conjugated. It is frozen.
| Time | Expression |
|---|---|
| a minute | hace un minuto |
| an hour | hace una hora |
| a day | hace un día |
| a week | hace una semana |
| a month | hace un mes |
| a year | hace un año |
| a long time | hace mucho tiempo |
| a while | hace un rato |
Hace un rato escuché un ruido extraño.
A little while ago I heard a strange noise.
Don't confuse with ongoing actions
Spanish also uses hace + time + que + present tense for actions that started in the past and are still going on. This is a different construction — the verb is in the present, not the preterite, and the English translation uses for, not ago.
| Structure | Meaning |
|---|---|
| Hace dos años que vivo aquí. | I have been living here for two years. (still living here) |
| Hace dos años que viví aquí. | It's been two years since I lived here. (not anymore) |
Same words, different tenses, very different meanings. On this page we are focused only on the preterite version — the ago meaning.
Negative uses
In the negative, hace + time + que + no + present means "it's been x time since I (last) did something."
Hace un mes que no lo veo.
I haven't seen him in a month.
With a preterite version:
Hace un mes que no lo vi, pero ayer por fin nos encontramos.
I hadn't seen him in a month, but yesterday we finally met up.
Both patterns are extremely common. Pick the structure that matches the idea — ongoing gap, or one-time event in the past — and you will sound natural.
Common mistakes
❌ Hace dos años que vivo aquí.
Wrong if you mean 'two years ago I lived here' — the present tense means you still live there.
✅ Hace dos años que viví aquí.
Correct: use the preterite to mean 'two years ago I lived here'.
❌ Hace dos días llegué.
Not wrong with order 1, but forgetting que in order 2 is an error.
✅ Hace dos días que llegué.
Correct: order 2 requires que between the time and the verb.
❌ Compré esta casa hacía diez años.
Wrong: use hace (present), not hacía, for 'ago' expressions.
✅ Compré esta casa hace diez años.
Correct: hace is invariable in 'ago' constructions.
❌ Yo llegé hace una semana.
Wrong: llegar has a spelling change — g → gu before é.
✅ Yo llegué hace una semana.
Correct: llegué preserves the hard g sound.
For more on time expressions that point to bounded, preterite-friendly moments, see Usage: Time Expressions.
Related Topics
- Usage: Time ExpressionsA2 — Time markers that reliably trigger the preterite by anchoring an action to a closed moment in the past.
- Usage: Completed ActionsA2 — The preterite's core job is to mark actions as completed, bounded events in the past.
- Regular -ar VerbsA2 — Regular -ar verbs in the preterite take the endings -é, -aste, -ó, -amos, -aron, with written accents on the yo and él forms.