hHablaCore

Spanish grammar · interactive

Hace Time Expressions

One little verb covers both ‘ago’ and ‘have been doing for’. Drill hace, desde hace, and llevar + gerund with instant feedback.

These exercises drill hace time expressions — the Spanish structures for ‘ago’ and ‘I’ve been doing X for Y time’. English speakers reach for a perfect tense here; Spanish reaches for hace and the present. Every answer comes with the pattern spelled out.

The short version: hace + time + que + present tense means ‘have been doing for’ (hace dos años que vivo aquí = I’ve been living here for two years), while hace + time with a past tense means ‘ago’ (llegué hace dos años = I arrived two years ago).

Try the hace exercise

Choose the piece that completes the time expression. You’ll see why after each answer.

Question 1 of 6Score: 0

    dos años que vivo en Madrid.

I’ve been living in Madrid for two years.

How it works

  1. 1

    Read the sentence

    A real Spanish time expression appears with one piece blanked out.

  2. 2

    Pick the pattern

    Decide which frame is in play — ‘for’ or ‘ago’ — and choose the piece that fits. Instant feedback.

  3. 3

    Learn the why

    Every answer names the pattern, so you learn to read the verb tense as the signal.

What you’ll learn

  • Hace + time + que + present = ‘have been doing for’
  • Hace + time with a past tense = ‘ago’
  • Desde hace as the compact ‘for/since’ variant
  • Llevar + gerund — the alternative natives use constantly

One word, two meanings — the tense decides

Hace is literally ‘it makes’ (from hacer), and in time expressions it’s frozen in the third person singular: it never changes, no matter the subject or the amount of time. What changes the meaning is the tense of the other verb. Present tense → the action is still happening, and hace measures how long it’s been going on: hace dos años que vivo aquí, ‘I’ve been living here for two years’. Past tense → the action is finished, and hace measures the distance back to it: llegué hace dos años, ‘I arrived two years ago’.

The biggest English-speaker error is importing the perfect tense: saying ‘he vivido aquí por dos años’ where a native says hace dos años que vivo aquí or vivo aquí desde hace dos años. Spanish keeps the verb in the simple present because, from its point of view, you still live here — the living isn’t over.

Desde, desde hace, and llevar

Learners mix up desde and desde hace constantly, and the split is clean: desde takes a starting point (desde 2022, desde enero — ‘since’), while desde hace takes a duration (desde hace dos años — ‘for two years’). If you can answer ‘since when?’, use desde; if you can answer ‘for how long?’, use desde hace. Both attach directly to a present-tense verb: trabajo aquí desde enero / desde hace ocho meses.

Then there’s the pattern textbooks underteach and natives overuse: llevar + time + gerund. Llevo tres años estudiando español means exactly the same as hace tres años que estudio español, but it’s shorter and extremely common in speech. Its negative version drops the gerund and uses sin: llevo dos días sin dormir — ‘I haven’t slept in two days’. If you learn only one bonus pattern from this page, make it this one.

Quick reference

PatternMeaning · example
Hace + time + que + presenthave been doing for · Hace dos años que vivo aquí
past verb + hace + timeago · Llegué hace tres meses
present verb + desde hace + timefor · Trabajo aquí desde hace un año
llevar + time + gerundhave been doing · Llevo un año viviendo aquí
¿Cuánto tiempo hace que…?How long have you been…? · ¿Cuánto tiempo hace que esperas?

Frequently asked questions

How do you say ‘ago’ in Spanish?

With hace + a time period alongside a past-tense verb: Llegué hace tres meses — ‘I arrived three months ago’. Unlike English ‘ago’, hace goes before the time period, not after it.

What does ‘hace dos años que vivo aquí’ mean?

‘I’ve been living here for two years.’ The frame hace + time + que + present tense expresses an action that started in the past and is still going on — Spanish uses the simple present where English uses ‘have been doing’.

What’s the difference between desde and desde hace?

Desde takes a starting point — trabajo aquí desde enero (‘since January’). Desde hace takes a duration — trabajo aquí desde hace ocho meses (‘for eight months’). Point in time → desde; length of time → desde hace.

Why is it always hace and never hacen in time expressions?

Because hace is impersonal here, like ‘it’ in ‘it’s been two years’. It stays third person singular no matter the subject or the amount of time: hace cinco años, never ‘hacen cinco años’ in careful Spanish.

Make hace instinctive

Reading the pattern is easy; producing it mid-sentence is the skill. HablaCore drills hace time expressions in real AI-generated sentences with instant feedback, so ‘ago’ and ‘for’ stop needing a mental translation step.

Practice hace time expressions in real sentences

Keep going