A compound tense is one built from two pieces: an auxiliary verb carrying the tense and person, plus a past participle carrying the meaning. Brazilian Portuguese has a full set of these, and the good news for English speakers is that they line up well with the "have + done" structure you already know. The single most important fact on this page: in Brazil, the auxiliary is almost always ter, not haver. Once you internalize that, the whole system becomes a matter of conjugating one verb — ter — in different tenses and moods.
The unifying pattern: ter + past participle
Every compound tense below follows the same recipe. Conjugate ter in some tense or mood, then attach the invariable past participle of the main verb. The participle does not agree with anything in compound tenses — falado stays falado whether the subject is eu, nós, or elas.
Eu tenho falado muito com ela ultimamente.
I've been talking to her a lot lately.
Quando cheguei, eles já tinham saído.
When I arrived, they had already left.
The indicative compound tenses
Pretérito perfeito composto — tenho falado
Ter in the present + participle. Despite the name and the resemblance to the English present perfect, this tense does not mean "I have spoken (once)." It means a repeated or continuous action stretching from the recent past up to now. Use Eu falei (simple preterite) for a single completed act.
Tenho estudado português todas as noites.
I've been studying Portuguese every night.
O tempo tem estado horrível este mês.
The weather has been terrible this month.
This is the most counterintuitive compound tense for English speakers — see the dedicated page on composto vs. perfeito.
Pretérito mais-que-perfeito composto — tinha falado
Ter in the imperfect + participle. This is the everyday pluperfect: "had done X" before some other past moment. The formal written alternative is havia falado.
Eu já tinha jantado quando você ligou.
I had already had dinner when you called.
Ela disse que havia lido o livro inteiro.
She said she had read the whole book. (formal)
This tense has replaced the old synthetic pluperfect (falara, saíra) in everyday Brazilian speech — see pretérito mais-que-perfeito composto.
Futuro composto do indicativo — vou ter falado / terei falado
This names a future action that will already be finished by some later future point: "will have done X." Brazilian Portuguese has two ways to build it, and the periphrastic one (ir + ter + participle) dominates speech.
Até dezembro, eu vou ter terminado o curso.
By December, I'll have finished the course. (everyday)
Até dezembro, terei terminado o curso.
By December, I'll have finished the course. (formal/written)
See futuro composto for the full treatment.
Futuro do pretérito composto — teria falado
Ter in the conditional (futuro do pretérito) + participle. This is the "would have done X" of hypotheticals and regrets — the apodosis of past unreal conditionals.
Se eu tivesse sabido, teria avisado você.
If I had known, I would have warned you.
Eles teriam vindo, mas o carro quebrou.
They would have come, but the car broke down.
The subjunctive compound tenses
The subjunctive moods have their own compound forms, again all built with ter. They appear in subordinate clauses expressing doubt, emotion, hypothesis, or future condition about completed actions.
| Tense | Form (ter) | Example |
|---|---|---|
| Pretérito perfeito do subjuntivo | tenha + participle | que ela tenha falado |
| Pretérito mais-que-perfeito do subjuntivo | tivesse + participle | se ele tivesse falado |
| Futuro composto do subjuntivo | tiver + participle | quando tiver falado |
Espero que eles tenham chegado bem.
I hope they've arrived safely.
Se você tivesse me avisado, eu teria ajudado.
If you had told me, I would have helped.
Quando eu tiver lido o relatório, te aviso.
When I've read the report, I'll let you know.
Where does haver fit in?
Haver is the historical auxiliary — it is the verb that Latin habēre became, and it is the source of "have" in English, "avoir" in French, and "haber" in Spanish. In Portuguese, though, ter took over the job. In Brazil, haver as a compound auxiliary survives in just a few corners:
- havia + participle as a formal written equivalent of tinha + participle (a contract, a news article, an academic text);
- houver + participle for the future subjunctive composto in legal/formal prose;
- the rare, very formal haverá + participle.
In spoken Brazilian Portuguese these are vanishingly rare. The one haver form everyone uses is the existential há ("there is/are", and "ago" in time expressions) — but that is not a compound auxiliary, it is a standalone verb.
O réu havia confessado o crime antes do julgamento.
The defendant had confessed to the crime before the trial. (formal/legal)
Há três anos que não o vejo.
I haven't seen him in three years. (há = 'ago/for')
How this compares to English
English builds all its perfect tenses with one auxiliary — have (have done, had done, will have done, would have done). Portuguese works the same way conceptually, but uses ter where English uses have. The trickiest mismatch is the present perfect: English "I have lived here for five years" maps to the Portuguese present (Moro aqui há cinco anos), not the pretérito perfeito composto. And "I have already eaten" maps to the simple preterite (Já comi), not tenho comido. So while the machinery matches, the usage boundaries do not — which is exactly why each tense gets its own page.
Moro no Rio há cinco anos.
I have lived in Rio for five years. (present in Portuguese, not a compound tense)
Já comi, obrigado.
I've already eaten, thanks. (simple preterite, not tenho comido)
Common Mistakes
❌ Eu tenho comido no restaurante ontem.
Incorrect — a single past event takes the preterite, not the composto.
✅ Eu comi no restaurante ontem.
I ate at the restaurant yesterday.
❌ Quando cheguei, eles já têm saído.
Incorrect — a pluperfect needs ter in the imperfect (tinham), not the present.
✅ Quando cheguei, eles já tinham saído.
When I arrived, they had already left.
❌ Nós tinha falado com o gerente.
Incorrect — ter must agree with nós: tínhamos.
✅ Nós tínhamos falado com o gerente.
We had spoken with the manager.
❌ Eu hei falado com ela hoje.
Incorrect — haver as a spoken auxiliary sounds bizarre in Brazil; use ter.
✅ Eu tenho falado com ela hoje.
I've been talking with her today.
❌ Eles tinham chegados quando saímos.
Incorrect — the participle in a compound tense is invariable: chegado.
✅ Eles tinham chegado quando saímos.
They had arrived when we left.
Key Takeaways
- Every compound tense = ter (in the right tense/mood) + an invariable past participle.
- The participle never agrees with the subject in a compound tense.
- Haver as an auxiliary is formal/literary in Brazil; default to ter.
- The usage boundaries differ from English even though the structure matches — especially the present perfect.
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
- Pretérito Mais-que-Perfeito CompostoA2 — The everyday Brazilian pluperfect — ter in the imperfect plus a past participle — for the 'had done X' that happened before another past event.
- Compound Tenses with Haver Auxiliary (Formal)B2 — Haver as a compound auxiliary — havia falado, houver falado, haverá falado — a register marker for legal, journalistic, and academic Brazilian Portuguese.
- Synthetic Pluperfect: Literary Only (saíra, fizera)C1 — The one-word pluperfect — falara, saíra, fizera — alive in Brazilian literature but extinct in speech; learn to read it, not to say it.
- Composto vs Perfeito: When BR Uses WhichB1 — A clean decision rule for choosing the compound perfect (tenho feito) versus the simple preterite (eu fiz) in Brazilian Portuguese.
- Futuro Composto (vou ter feito)B1 — How to say 'will have done' in Brazilian Portuguese — and why speakers usually rephrase it away entirely.
- Conditional as Future-in-the-Past (Reported Speech)B1 — How the conditional reports a future statement made in the past, mapping cleanly to English 'would' in indirect speech.