Haver for Formal Existence and Time

In modern Brazilian Portuguese, the verb haver has shrunk to a handful of forms with three main jobs: formal existence (há muitas pessoas aqui), elapsed time (moro aqui há três anos), and "ago" (há três anos fui ao Rio). The form you will meet far more than any other is the present . This page drills the existential and temporal uses of haver, and unpacks the one feature that genuinely confuses learners: in time expressions can point in two opposite directions — "for X time up to now" and "X time ago" — using the very same word.

The forms that survive

As an existential and temporal verb, haver is impersonal — it has no subject and stays in the third-person singular. You only really need three forms:

TenseFormUse
Presentthere is/are (formal); duration up to now; "ago"
Imperfecthaviathere was/were (formal, past state)
Preteritehouvethere was/were (a past event that occurred)

All three are invariable: they never pluralize, even when many things exist. Há um problema and vários problemas both use .

1. Formal existence

is the formal/written "there is/are." In Brazil it lives in essays, news, signage, and careful speech — where conversation would use tem.

Há muitas pessoas interessadas na vaga de estágio.

There are many people interested in the internship position.

Não há motivo para preocupação.

There is no reason to worry.

Havia poucos clientes na loja àquela hora.

There were few customers in the store at that hour.

That last one uses the imperfect havia for a past state ("there were [customers present]"). It is the formal twin of colloquial tinha.

💡
Existential is invariable and subjectless, so it never agrees in number: há um carro / há dez carros. If you want a verb that does agree, use existe / existem (existem dez carros) — a neutral alternative that works in any register.

2. Houve — a past event that occurred

The preterite houve reports something that happened in the past — an event with a clear occurrence, as opposed to a lingering state. Use houve for accidents, meetings, changes, fights; use havia for backdrop conditions.

Houve um acidente grave na rodovia ontem à noite.

There was a serious accident on the highway last night.

Houve mudanças importantes na empresa este ano.

There were important changes at the company this year.

The contrast with havia mirrors the preterite/imperfect distinction throughout Portuguese: houve uma festa = a party took place (event); havia uma festa = a party was going on / existed as backdrop (state).

3. Há for time — the two-direction trap

This is the heart of the page. In time expressions, means roughly "it has been [duration]" — but the tense of the main verb flips its meaning between two opposite ideas.

(a) "for X time, up to now" — with a present-tense verb

When the action is still ongoing, you use a present-tense main verb plus + duration. This is how Portuguese says "I have been doing X for [time]."

Moro no Rio há três anos.

I have been living in Rio for three years. (and still do)

Estudo português há seis meses.

I've been studying Portuguese for six months.

Não vejo a minha prima há muito tempo.

I haven't seen my cousin in a long time.

Notice the English structure: "I have been living... for three years." Portuguese uses the present (moro), not a perfect tense, plus . This is a major divergence from English — see below.

(b) "X time ago" — with a past-tense verb

When the action is finished and you are locating it in the past, you use a past-tense main verb plus + duration. Now means "ago."

Há três anos eu fui ao Rio pela primeira vez.

Three years ago I went to Rio for the first time.

Ela se formou há dois meses.

She graduated two months ago.

Comprei este carro há cinco anos.

I bought this car five years ago.

Same word , opposite temporal direction. The clue is entirely in the main verb: present verb → "for [duration] up to now"; past verb → "[duration] ago."

💡
The whole distinction lives in the main verb, not in . Present verb + = "I have done X for this long." Past verb + = "I did X this long ago." Memorize the pair: moro aqui há três anos (for) vs. fui ao Rio há três anos (ago).

The "há ... que" frame

For duration, Portuguese also offers the emphatic frame + duration + que + present verb, which fronts the time span:

Há três anos que moro aqui.

It's been three years that I've lived here. / I've lived here for three years.

Faz tempo que a gente não se vê.

It's been a while since we last saw each other.

That second example shows the everyday alternative: in speech, Brazilians very often replace temporal with faz (from fazer): faz três anos que moro aqui, comprei faz cinco anos. Faz is the colloquial workhorse; is the more formal/written choice. Both are correct.

How this differs from English

Two clean contrasts to lock in:

  1. Duration uses the present, not the perfect. English says "I have lived here for three years" (present perfect). Portuguese says moro aqui há três anospresent tense, because the living is still happening. Do not reach for tenho morado here; the Portuguese present perfect (tenho morado) means something different (recent repeated/ongoing action), and it does not pair with

    • total duration in the English "for three years" sense.

  2. "Ago" is a verb, not a postposition. English tacks "ago" onto the end of a noun phrase ("three years ago"). Portuguese puts (or faz) in front: há três anos. There is no word that means "ago" by itself.

❌ Três anos atrás eu fui ao Rio... atrás está certo mas evite duplicar.

Note: 'três anos atrás' also exists and is correct; just don't combine it with 'há' (no 'há três anos atrás').

A quick word on atrás: três anos atrás ("three years back/ago") is a perfectly correct, common alternative to há três anos. What you must not do is stack them: há três anos atrás is a redundancy that careful writers avoid.

Common Mistakes

❌ Eu tenho morado aqui há três anos.

Incorrect — duration up to now uses the simple present, not the present perfect: 'moro'.

✅ Moro aqui há três anos.

I've lived here for three years.

❌ Eu fui ao Rio três anos atrás há.

Incorrect word placement and redundancy; use either 'há três anos' or 'três anos atrás', not both.

✅ Fui ao Rio há três anos. / Fui ao Rio três anos atrás.

I went to Rio three years ago.

❌ Hão muitos problemas na cidade.

Incorrect — existential 'haver' is invariable; it stays 'há' even with a plural.

✅ Há muitos problemas na cidade.

There are many problems in the city.

❌ Havia um acidente grave ontem à noite.

Questionable — for a one-time event that occurred, the preterite 'houve' is more precise than the imperfect.

✅ Houve um acidente grave ontem à noite.

There was a serious accident last night.

❌ Há três anos atrás eu morava no Rio.

Incorrect — don't combine 'há' with 'atrás'.

✅ Há três anos eu morava no Rio. / Três anos atrás eu morava no Rio.

Three years ago I was living in Rio.

Key Takeaways

  • Haver survives mainly as (present), havia (past state), and houve (past event), all invariable and subjectless.
  • = formal "there is/are" (conversation uses tem); havia = formal "there was/were" as a backdrop; houve = "there was/were" as an event that occurred.
  • In time expressions, present verb + = "for [duration] up to now"; past verb + = "[duration] ago." Same word, opposite directions.
  • Duration uses the simple present (moro... há três anos), not the present perfect — a key divergence from English.
  • Colloquial speech often swaps for faz; never combine with atrás.

Now practice Portuguese

Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.

Start learning Portuguese

Related Topics

  • Ter and Haver: OverviewA1How Brazilian Portuguese splits possession, existence, and compound-tense duties between ter and haver — and why ter wins almost everywhere.
  • Ter for 'There Is/Are' (Existential)A1How Brazilians use tem as the everyday 'there is/are', replacing formal há across all tenses.
  • Houve for Past Events ('There Was')B1How 'houve' expresses past existence and events — and why most Brazilians say 'teve' or 'aconteceu' instead in everyday speech.
  • Há vs Existe vs Tem: There is/areA2The three ways to say 'there is/are' in Brazilian Portuguese — spoken invariable tem, formal invariable há, and agreeing existe(m) — plus há for elapsed time.
  • HaverA2Usage reference for 'haver' — a highly irregular and, in modern Brazilian Portuguese, mostly defective verb that survives in a handful of frozen forms: há, havia, houve, houver, haja.
  • 'Há' / 'Faz' Constructions for Time DurationA2How Brazilian Portuguese expresses 'for X amount of time' using 'há' or 'faz' with the present tense — and why the verb is never the compound perfect.