Grammar · B1
Perfeito composto: tenho feito (“I’ve been doing”)
Pretérito perfeito composto (tenho feito)
The short answer
ter in the present + participle (tenho trabalhado) describes something repeated or ongoing from the past up to now: "I’ve been working". A single finished action takes the simple past: Já terminei, not *Tenho terminado.
Perfeito simples (once, finished)
- Já comi feijoada.
- Ainda não terminei.
- Hoje tomei café com a Jéssica.
Perfeito composto (repeated up to now)
- Tenho comido muita feijoada.
- Tenho trabalhado até tarde.
- Tenho tomado café sem açúcar.
Key forms
- tenho / tem / temos / têm + participle: Tenho trabalhado muito.
- Irregular participles: feito, dito, visto, escrito, aberto, posto, vindo.
- With ultimamente, nos últimos tempos, desde…, este ano: Não tenho dormido bem.
- One finished action → perfeito simples: Já terminei. Já comi feijoada uma vez.
What it is
The pretérito perfeito composto is ter in the present plus a participle: tenho trabalhado, tem chovido, temos saído. Despite its looks, it is not the Portuguese version of the English present perfect or of Spanish he hecho. It describes something that has been happening again and again, or continuously, from some point in the past up to now, and will probably go on:
- Tenho trabalhado muito. (I’ve been working a lot.)
- Não tenho dormido bem. (I haven’t been sleeping well.)
- Tem chovido muito em Belém. (It’s been raining a lot in Belém.)
For a single finished action, even a very recent one, Portuguese uses the simple past, the pretérito perfeito simples (pt-g-027): Já terminei. Hoje eu tomei café com a Jéssica. Você já comeu açaí?
How to form it
Conjugate ter in the present and add the participle, which never changes:
| ter | + participle | |
|---|---|---|
| eu | tenho | trabalhado |
| você / ele / ela / a gente | tem | comido |
| nós | temos | saído |
| vocês / eles / elas | têm | visto |
Regular participles end in -ado (-ar verbs) and -ido (-er and -ir verbs): falado, comido, dormido. Mind the accent in saído and caído. The common irregular ones (pt-g-047):
| Verb | Participle |
|---|---|
| fazer | feito |
| dizer | dito |
| ver | visto |
| escrever | escrito |
| abrir | aberto |
| pôr | posto |
| vir | vindo |
Two spelling points: plural têm has a circumflex (eles têm feito), and the participle with ter never agrees: ela tem trabalhado, not trabalhada.
Negatives and pronouns. Não goes before ter: Não tenho tido tempo. In Brazil an object or reflexive pronoun usually sits between ter and the participle: Ele tem me ajudado muito. A gente tem se falado pouco.
Try a few before reading on:
Quick drill
1 / 4
When to use it
The composto almost always carries a sense of "lately" or "since…", and many sentences have a time expression that says so:
- ultimamente, nos últimos tempos, nas últimas semanas: Ultimamente tenho saído pouco.
- desde…: Desde que voltei de viagem, tenho dormido mal.
- este ano, esses dias, este mês: Este ano a gente tem viajado bastante.
- friendly catch-up questions: O que você tem feito de bom? Tem passado bem?
It works for repeated actions (Tenho ido à academia três vezes por semana), for states that continue (Tenho estado muito cansada) and for trends (Os preços têm subido todo mês).
In everyday speech Brazilians often say the same with andar or estar + gerund: Ando dormindo mal. Tô trabalhando muito. Both are fine; the composto sounds a little more neutral and is the usual choice in writing.
Contrasts and traps
- Once vs again and again. Comi feijoada ontem (once). Tenho comido muita feijoada (lately, repeatedly).
- Experience and "already / not yet" take the simple past. Você já esteve no Brasil? Já li esse livro. Ainda não terminei. Never já tenho lido or ainda não tenho terminado.
- Counted events take the simple past. Este ano viajei três vezes (a number) vs Este ano tenho viajado muito (a tendency).
- Unfinished vs finished. Tenho lido esse livro means you are still reading it; Já li esse livro means you finished it.
- Participle, not gerund. Tenho estudado, not tenho estudando.
If you speak Spanish
This is the classic trap. Spanish he + participle looks like Portuguese tenho + participle, but they rarely match:
| Español | Português |
|---|---|
| He comido feijoada (alguna vez). | Já comi feijoada. |
| Todavía no he terminado. | Ainda não terminei. |
| Hoy he tomado café con Jéssica. | Hoje tomei café com a Jéssica. |
| He estado trabajando mucho. | Tenho trabalhado muito. |
| Últimamente no duermo bien. | Ultimamente não tenho dormido bem. |
Rule of thumb: if Spanish could say he estado …-ando, vengo …-ando or últimamente…, the composto fits; for one event, an experience, ya or todavía no, use the simple past. The auxiliary is always ter, and some participles differ: hecho → feito, dicho → dito, puesto → posto, venido → vindo.
Try 3 now
1 / 3
No account needed.
Examples
- Tenho estudado muito nas últimas semanas.I’ve been studying a lot over the last few weeks.
- Você tem visto o Paulo? — Não, faz tempo.Have you been seeing Paulo? — No, not for a while.Asks about repeated contact lately, not one meeting.
- Ultimamente não tenho dormido bem.I haven’t been sleeping well lately.
- Tem feito muito calor em Cuiabá.It’s been very hot in Cuiabá.fazer → feito, irregular.
- Desde que a Luana se mudou, a gente tem se falado por vídeo.Since Luana moved, we’ve been talking by video call.In Brazil the pronoun goes before the participle: tem se falado.
- Os preços têm subido todo mês.Prices have been going up every month.eles → têm, with a circumflex.
- Já comi feijoada, mas nunca comi tacacá.I’ve eaten feijoada, but I’ve never had tacacá.Life experience → simple past, even where English and Spanish use "have".
- O que você tem feito de bom?What have you been up to?A friendly catch-up question.
Common mistakes
The ones learners really make, with the reason behind each fix.
Eles tem feito muito barulho.Eles têm feito muito barulho.
Plural eles/vocês takes têm, with a circumflex.
A gente tem fazido muita coisa.A gente tem feito muita coisa.
fazer has an irregular participle: feito (also dito, visto, escrito, aberto).
Ela tem trabalhada muito.Ela tem trabalhado muito.
With ter, the participle never changes: trabalhado.
Eu tenho comido feijoada uma vez.Eu já comi feijoada uma vez.
One finished experience takes the simple past. Tenho comido means "I’ve been eating (repeatedly)".
Typical for Spanish speakers
Ainda não tenho terminado o relatório.Ainda não terminei o relatório.
"Not yet" about one task → simple past: ainda não terminei.
Typical for Spanish speakers
Hoje de manhã eu tenho tomado café com a Jéssica.Hoje de manhã eu tomei café com a Jéssica.
A single event today takes the simple past: tomei.
Typical for Spanish speakers
Ultimamente eu he trabalhado muito.Ultimamente eu tenho trabalhado muito.
The auxiliary is always ter: tenho trabalhado.
Typical for Spanish speakers
Note for English speakers
"I have eaten" (one event or an experience) = comi / já comi; "I’ve been eating (lately)" = tenho comido. Portuguese keeps the compound for repetition up to now.
Regional variation
- Same meaning in Brazil and Portugal; Brazilian speech often uses andar/estar + gerund instead (Ando dormindo mal, Tô trabalhando muito).
- In Brazil pronouns go before the participle: Ele tem me ajudado. Ela tem se sentido melhor.
- Very common catch-up questions: O que você tem feito? Tem passado bem?