The main rule
Both tenses are haber + the participle, which never changes. Habré hecho looks back from a future point ("will have done") or guesses about a recent past. Habría hecho looks back from a past point ("would have done"): a guess about an earlier past, a reported habré hecho, or what would have happened. Pronouns go before haber: Lo habré terminado.
Forms
Take the future or the conditional of haber and add the participle (terminado, comido, vivido). Both tenses use the same stem habr-; only the endings differ, and the -ía endings of the conditional carry the written accent.
| Person | Future perfect | Conditional perfect |
|---|---|---|
| yo | habré | habría |
| tú | habrás | habrías |
| él, ella, usted | habrá | habría |
| nosotros | habremos | habríamos |
| vosotros (Spain) | habréis | habríais |
| ustedes, ellos | habrán | habrían |
| Infinitive | Participle | Example |
|---|---|---|
| hacer | hecho | Habré hecho la compra. |
| decir | dicho | Habría dicho la verdad. |
| escribir | escrito | Habrán escrito ya. |
| ver | visto | Habrás visto el mensaje. |
| poner | puesto | ¿Dónde habré puesto las llaves? |
| volver | vuelto | Habrá vuelto a casa. |
| romper | roto | Habrán roto la ventana. |
| abrir | abierto | Habrán abierto la tienda. |
| morir | muerto | La planta habrá muerto sin agua. |
| resolver | resuelto | Habremos resuelto el problema. |
| descubrir | descubierto | Habrían descubierto el error. |
| devolver | devuelto | Habré devuelto el libro. |
The participle stays -o whatever it refers to: Las cartas las habrá escrito Ana, not *escritas. The pronoun stands before habré or habría and cannot be attached to the participle: Lo habré terminado, never *habré terminadolo. Compound forms of the participles follow the same irregularities: deshecho, descrito, supuesto.
English and Spanish
Here English helps a lot. "Will have done" is habrá hecho and "would have done" is habría hecho, nearly word for word. There are two differences. First, English has no use of "will have" for a guess, so you need another way to say "he must have left" or "I wonder where I put my keys". Spanish uses the future perfect for both: Habrá salido, ¿Dónde habré puesto las llaves?. Second, "by Monday" is para el lunes, never *por el lunes.
Finished before a future point
Use the future perfect for an action that will be complete by a future time. The usual frame is para + time, or a time clause with cuando in the subjunctive: Para el lunes habré terminado el informe, Cuando llegues, ya habré salido. The time can also be a length of time ahead: Dentro de un año habremos ahorrado bastante, En 2030 ya habrán construido el puente. Spanish also accepts the plain future with para (Para el lunes terminaré el informe), but the future perfect stresses that the work is already done by then. Antes de + time works as well; hasta does not, because it means "until".
Guesses: habrá or habría
A guess about something that happened is made with the tense whose reference point matches. If the point is now, use habrá: No contesta: habrá salido, Ya habrán llegado a casa, ¿Quién habrá llamado?. If the point is in the past, use habría: Cuando llegué, ya se habría ido, Anoche a las diez ya se habrían acostado.
| Reference point | Tense | Example |
|---|---|---|
| now (recent past) | habrá + participle | Habrá perdido el tren. |
| a point in the past | habría + participle | Cuando la llamé, habría salido ya. |
A guess is not the same as a statement. Ha salido says you know it; Habrá salido says you suppose it. With words like probablemente or quizás you can use the plain form too, so the future perfect is what you reach for when nothing else shows that you are guessing.
The future of a past: reported speech
After a past verb, habré hecho becomes habría hecho, just as "will" becomes "would" in English: Dijo: "Para las ocho lo habré terminado" becomes Dijo que para las ocho lo habría terminado. When the time point is already behind you, habrá is no longer right.
What would have happened
The conditional perfect also gives the result of something that did not happen, often with no si-clause: Yo no lo habría hecho, En tu lugar, habría llamado, Me habría gustado verte, Con más tiempo, habríamos visitado el museo, Sin tu ayuda, no lo habría conseguido. In this use hubiera hecho is equally correct: Yo no lo hubiera hecho. The full si-sentence with its two tenses comes in a later topic.
Examples
- Para el lunes habré terminado el informe. I will have finished the report by Monday.
- Cuando llegues, ya habré salido. By the time you arrive, I will have left.
- Dentro de un año habremos ahorrado bastante. In a year we will have saved quite a lot.
- No contesta: habrá salido. He isn't answering: he must have gone out.
- ¿Dónde habré puesto las llaves? I wonder where I put my keys.
- Cuando llegué, ya se habría ido. When I arrived, he had probably already left.
- Dijo que para las ocho lo habría terminado. He said he would have finished it by eight.
- En tu lugar, habría llamado. In your place, I would have called.
- Sin tu ayuda, no lo habría conseguido. Without your help, I wouldn't have managed it.
Quick check
Ask where the action sits. Before a point in the future, or a guess about now: habrá. Before a point in the past, or what would have happened: habría.
Common mistakes
Por el lunes habré terminado el informe.Para el lunes habré terminado el informe. "by Monday" is paraCuando llegué, ya se habrá ido.Cuando llegué, ya se habría ido. a guess about the past needs habríaHabré lo terminado.Lo habré terminado. the pronoun goes before haberLas cartas las habrá escritas Ana.Las cartas las habrá escrito Ana. the participle never agreesYa habrán abrido la tienda.Ya habrán abierto la tienda. irregular participleYo no lo habria hecho.Yo no lo habría hecho. accent on habría
Questions and answers
What is the future perfect in Spanish?
It is haber in the future plus a participle: habré terminado, habrá salido. It means an action finished before a future point, or a guess about a recent past.
How do you say "he must have left" in Spanish?
Use the future perfect: Habrá salido. The speaker is supposing, not stating. Ha salido would be a plain statement.
What is the difference between habrá hecho and habría hecho?
Both look back, but from different points. Habrá hecho looks back from the future or from now; habría hecho looks back from a past point or says what would have happened.
Is it por el lunes or para el lunes?
Use para el lunes for a deadline: Para el lunes habré terminado. Por does not express "by" with a date.
Can I say hubiera hecho instead of habría hecho?
Yes, when it is the result of something that did not happen: Yo no lo habría hecho and Yo no lo hubiera hecho are both correct. It does not work for a guess or for the future of a past.
Does the participle agree with the object?
No. After haber it always ends in -o: Las cartas las habré escrito.