Skip to content
Hace or desde hace? How to say ago and for in Spanish

Nivelo

Hace or desde hace? How to say ago and for in Spanish

English uses ago for a finished moment and for for a stretch of time, and Spanish builds both from the same verb, hacer. Hace dos años is two years ago; desde hace dos años, with the verb in the present, is for two years and still going. Add llevar, the past form hacía and plain desde for a starting point, and you have the whole set. The charts below lay it out, and ten sentences show whether it is automatic yet.

Free · 2 minutes · 10 sentences

Hace or desde hace? Ten sentences, instant answers

Tap the form that fits. Each answer comes with the reason — a moment or a stretch, a point or a length, now or then — so a miss teaches the rule instead of just counting against you. About two minutes.

Ten sentences on one grammar point are not a level test. The free Spanish level test above places you on the A1–C2 scale from reading and listening; this quiz tells you whether one rule is automatic yet.

Hace or desde hace? The chart

Hace looks back from now to a finished moment: hace dos años, llegué — two years ago, I arrived. Desde hace measures a stretch that runs up to now: vivo aquí desde hace dos años — I have lived here for two years, and still do.

That is the part English speakers miss: for a situation that is still going, the everyday Spanish keeps the verb in the present. Vivo aquí desde hace dos años, hace dos años que vivo aquí and llevo dos años viviendo aquí all say I have been living here for two years.

SpanishEnglishExample
hace + timeagoLlegué hace dos años. — I arrived two years ago.
desde hace + timefor (still going)Vivo aquí desde hace dos años. — I have lived here for two years.
hace + time + quefor (still going)Hace dos años que vivo aquí. — I have lived here for two years.
llevar + timefor (still going)Llevo dos años aquí. — I have been here for two years.
desde + a point in timesinceVivo aquí desde 2024. — I have lived here since 2024.
Hace + a length of time counts back from now. From the academies' Diccionario de la lengua española (hacer, 38; desde, 1.a; llevar, 5.a). Checked 3 November 2026.

The present tense, not the present perfect

Translate have been word for word and you reach for the perfect plus por: he vivido aquí por dos años. A Spanish speaker understands it, but por dos años sounds like a planned length — me voy a Chile por dos años, I'm going to Chile for two years — not a stretch that is still running. For that, keep the present and add desde hace, hace … que or llevar.

EnglishSpanish
I have lived here for two years.Vivo aquí desde hace dos años.
I have been waiting for an hour.Llevo una hora esperando.
She has worked there for ten years.Trabaja allí desde hace diez años.
How long have you been learning Spanish?¿Cuánto tiempo llevas estudiando español?
We haven't seen each other for months.Hace meses que no nos vemos.
For something still going, Spanish keeps the present tense where English uses have been. Checked 3 November 2026.

Ago in a past story: hacía

When the story is in the past, the clock moves with it: hacía dos años que no la veía — I hadn't seen her for two years, by then. Llevar follows the same pattern: llevaba dos años en Madrid cuando la conocí — I had been in Madrid for two years when I met her.

NowThen
Hace dos años que vivo aquí.Hacía dos años que vivía allí.
Vivo aquí desde hace dos años.Vivía allí desde hacía dos años.
Llevo dos años aquí.Llevaba dos años allí.
Seen from a point in the past, hace becomes hacía and llevar becomes llevaba. Checked 3 November 2026.

Always singular: hace, never hacen

The length of time is not the subject, so hacer never agrees with it: hace dos años, hace diez minutos, hacía meses. The academies list desde hacen unos treinta años among the forms to avoid.

They also flag hace dos años atrás as redundant: hace already means ago, so say hace dos años or dos años atrás, not both.

RightNot right
Hace dos años.Hacen dos años.
Desde hace treinta años.Desde hacen treinta años.
Hacía meses que no llovía.Hacían meses que no llovía.
Hace dos años. / Dos años atrás.Hace dos años atrás.
Hacer with a length of time is impersonal: third person singular in every tense. From the academies' Diccionario panhispánico de dudas (hacer, 2). Checked 3 November 2026.

Desde or desde hace?

English splits since, for a point, from for, for a length, and Spanish splits desde from desde hace the same way: desde el lunes, desde que llegué; desde hace tres días, desde hace un rato. A length after plain desde — desde tres días — is the classic slip.

A point (since)A length (for)
desde 2020desde hace cinco años
desde el lunesdesde hace tres días
desde las ochodesde hace una hora
desde que lleguédesde hace un rato
Desde takes a point in time; desde hace takes a length of time. From the Diccionario de la lengua española (desde, 1.a). Checked 3 November 2026.

Why do English speakers mix them up?

Because English puts the stretch in one verb shape — I have been living — while Spanish uses the present, and because ago comes after the time (two years ago) while hace comes before it (hace dos años). The slips follow: he vivido aquí por dos años for vivo aquí desde hace dos años, desde dos años for desde hace dos años, and hacen dos años with a plural verb.

There is no first-party error rate on this page yet: our mistake tagger counts ser vs estar, por vs para, the tenses and the object pronouns, not time expressions. When it does, the number will sit here. Until then the quiz is the measure.

What comes after hace?

Preterite vs imperfect is the tense choice inside every hace story — llegué hace dos años, vivía allí desde hacía años. Ya vs todavía is the other time word English splits differently: already, still, yet. Por vs para explains por dos años, the planned length. Ponerse, volverse or hacerse is the next verb English says with one word: become. Tiempo, vez or hora sorts the three words English calls time — ¿cuánto tiempo?, la primera vez, ¿qué hora es? The present perfect is the past for a stretch that reaches now — este año he ido tres veces — and the participles it is built with. The present tense is the tense of every desde hace — vivo aquí desde hace dos años — and the present progressive has the gerund in llevo dos años viviendo aquí. The free Spanish level test places you on the A1–C2 scale in five minutes; A2 vs B1 Spanish says what changes after the first levels.

Ready to find out?

Take the free 5-minute test

Frequently asked questions

How do you say ago in Spanish?▾

With hace before the length of time: hace dos años (two years ago), hace un rato (a little while ago). The verb with it is usually in the preterite: llegué hace dos años.

What is the difference between hace and desde hace?▾

Hace dos años points to a finished moment two years back: llegué hace dos años. Desde hace dos años measures a stretch that is still going, with the verb in the present: vivo aquí desde hace dos años — I have lived here for two years.

How do you say I have been doing something for … in Spanish?▾

Use the present with desde hace, hace … que or llevar: estudio español desde hace un año, hace un año que estudio español, llevo un año estudiando español. All three mean I have been studying Spanish for a year.

Is it hace dos años or hacen dos años?▾

Hace. With a length of time, hacer is impersonal and stays singular in every tense: hace dos años, hacía meses. The academies list the plural among the forms to avoid.

Can you say hace dos años atrás?▾

Better not: hace already means ago, so atrás repeats it. The academies call it redundant — say hace dos años or dos años atrás.

What is the difference between desde and desde hace?▾

Desde takes a point in time: desde 2020, desde el lunes, desde que llegué. Desde hace takes a length: desde hace cinco años, desde hace una hora. Since is desde; for, still going, is desde hace.

CEFR-based proficiency assessment. Not an official certification from Cambridge, Cervantes, or the Council of Europe.