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.
| Spanish | English | Example |
|---|---|---|
| hace + time | ago | Llegué hace dos años. — I arrived two years ago. |
| desde hace + time | for (still going) | Vivo aquí desde hace dos años. — I have lived here for two years. |
| hace + time + que | for (still going) | Hace dos años que vivo aquí. — I have lived here for two years. |
| llevar + time | for (still going) | Llevo dos años aquí. — I have been here for two years. |
| desde + a point in time | since | Vivo aquí desde 2024. — I have lived here since 2024. |
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.
| English | Spanish |
|---|---|
| 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. |
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.
| Now | Then |
|---|---|
| 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í. |
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.
| Right | Not 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. |
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 2020 | desde hace cinco años |
| desde el lunes | desde hace tres días |
| desde las ocho | desde hace una hora |
| desde que llegué | desde hace un rato |
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.
