Part of Chapter 18

CEFR A2-B1

Hace, Desde and Desde Hace

English uses three little words - for, since and ago - to pin actions to a timeline. Spanish carves the work up differently, leaning on hace and desde, and it does something English never does: it puts the verb in the present tense for an action that is still going on.

The headline fact: hace dos años que vivo aquí does not translate as "two years ago I lived here". It means "I have lived here for two years", and I still do. Get that present tense right and most of the rest follows.

Pattern 1: hace + time + que + present (duration up to now)

For an action that started in the past and is still happening, Spanish uses:

hace + length of time + que + present-tense verb

  • Hace dos años que vivo aquí. (I've lived here for two years.)
  • Hace tres horas que espero. (I've been waiting for three hours.)
  • Hace mucho tiempo que no la veo. (I haven't seen her for a long time.)

English reaches for "have lived", "have been waiting", "haven't seen" - the perfect. Spanish stays stubbornly in the present (vivo, espero, veo), because the situation is ongoing. This tense mismatch is the single thing to drill.

You can ask the matching question with ¿Cuánto tiempo hace que ...?:

  • ¿Cuánto tiempo hace que vives aquí? (How long have you lived here?)

Pattern 2: desde hace + time (the same idea, reordered)

Exactly the same meaning, with the verb first and desde hace carrying the length of time:

verb (present) + desde hace + length of time

  • Vivo aquí desde hace dos años. (I've lived here for two years.)
  • Espero desde hace tres horas. (I've been waiting for three hours.)
  • No la veo desde hace mucho tiempo. (I haven't seen her for a long time.)

Pattern 1 and Pattern 2 are interchangeable. Hace dos años que vivo aquí and vivo aquí desde hace dos años say the identical thing. Use whichever falls out of your mouth first.

Pattern 3: desde + a point in time (the start point)

When you want to name when something began - a date, a day, an event, a clock time - use desde on its own, followed by that point:

verb (present) + desde + starting point

  • Vivo aquí desde 2020. (I've lived here since 2020.)
  • Trabajo aquí desde el lunes. (I've worked here since Monday.)
  • Estoy esperando desde las tres. (I've been waiting since three o'clock.)
  • No la veo desde el verano. (I haven't seen her since the summer.)

The test is what follows the word. A length of time (two years, three hours) takes desde hace. A point in time (2020, Monday, three o'clock) takes plain desde.

Pattern 4: hace + time + past verb (ago)

Now the twist. The very same hace means "ago" - but only when the verb is in the past and the action is finished:

hace + length of time + past-tense verb

  • Llegué hace dos horas. (I arrived two hours ago.)
  • La vi hace una semana. (I saw her a week ago.)
  • Terminamos hace un momento. (We finished a moment ago.)

What flips the meaning from "for" to "ago" is the tense of the verb, not the word hace. A present verb gives duration ("for"); a past verb gives "ago". You can also front it as hace + time + que + past verb (hace dos horas que llegué) for slight emphasis.

The patterns side by side

EnglishSpanish patternVerb tenseExample
for (still going)hace + time + que + verbpresentHace dos años que vivo aquí.
for (still going)verb + desde hace + timepresentVivo aquí desde hace dos años.
since (a point)verb + desde + pointpresentVivo aquí desde 2020.
ago (finished)hace + time + verbpastLlegué hace dos horas.

Common mistakes English speakers make

Using a perfect where Spanish wants the present. "I have lived here for two years" tempts a perfect, but ongoing duration is the present in Spanish: vivo, not he vivido. He vivido aquí dos años shifts the meaning towards a closed-off stretch.

Confusing desde and desde hace. A point in time takes desde (desde 2020); a length of time takes desde hace (desde hace dos años). Desde dos años is wrong; desde hace 2020 is wrong.

Reading hace dos años as always meaning "ago". Out of context, hace dos años is ambiguous. Hace dos años que vivo aquí is "for two years" (present verb); llegué hace dos años is "two years ago" (past verb). The verb decides.

Forgetting que in Pattern 1. When hace leads, you need the que: hace dos horas que espero, not hace dos horas espero.

See also

  • The present progressive page covers llevar + time + gerund (llevo dos horas esperando), a third way to say "have been doing for".
  • The ser vs estar page handles the verb you reach for with desde las tres (estoy esperando desde las tres).
  • The Spanish grammar cheatsheet lists the hace / desde patterns on one card.

Frequently asked questions

How do you say 'I have lived here for two years' in Spanish?
Hace dos años que vivo aquí, or equally vivo aquí desde hace dos años. The key surprise for English speakers is the verb tense: Spanish uses the present (vivo), not a perfect, because the action is still going on. The structure is hace + length of time + que + present-tense verb, or verb + desde hace + length of time. Both are correct and interchangeable.
What is the difference between desde and desde hace?
Desde is followed by a starting point - a date, a time, an event: vivo aquí desde 2020 (I have lived here since 2020). Desde hace is followed by a length of time: vivo aquí desde hace dos años (I have lived here for two years). Desde answers 'since when', desde hace answers 'for how long'.
How do you say 'ago' in Spanish?
Use hace + length of time with a past-tense verb: llegué hace dos horas (I arrived two hours ago), la vi hace una semana (I saw her a week ago). It is the same word hace, but the past verb is what signals 'ago' rather than ongoing duration. Hace dos horas que llegué also works and adds slight emphasis.