Some of the most emotionally loaded sentences in any language involve looking back at what should have, could have, or must have happened. In Spanish, these are built by combining a modal verb with the perfect infinitive (haber + past participle). The result is a precise, expressive structure that lets you talk about regret, missed opportunities, deductions about the past, and unrealized possibilities.
These constructions are essential for B2-level conversation. Without them, you cannot express ideas like "I should have called her," "something must have happened," or "we could have avoided this." These concepts come up constantly in daily life — in arguments, apologies, detective stories, medical consultations, and workplace conversations. This page covers every major modal + perfect combination, organized by the emotion or function each one expresses.
If you need a refresher on the perfect infinitive itself, see The Perfect Infinitive. For how modals behave across all tenses (not just with the perfect), see Modal Verbs Across All Tenses.
Overview of modal + perfect patterns
| Modal construction | English equivalent | Function |
|---|---|---|
| debería haber + participle | should have | Regret or criticism about a past action |
| no debería haber + participle | shouldn't have | Regret or reproach about something done |
| podría haber + participle | could have | Unrealized possibility — something was possible but didn't happen |
| tiene que haber + participle | must have (certainty) | Strong deduction about the past from present evidence |
| puede haber + participle | may / might have | Open possibility about the past — uncertain |
| debe de haber + participle | must have (probability) | Inference or assumption — softer than tiene que haber |
| querría haber + participle | would have liked to have | Unfulfilled desire about the past |
Debería haber — should have (regret and criticism)
This is the modal + perfect combination you will use most often. It expresses regret about a past action (things you wish you had done differently) or criticism of what someone did or failed to do.
No deberías haber dicho eso delante de todos.
You shouldn't have said that in front of everyone.
Deberíamos haber salido más temprano para evitar el tránsito.
We should have left earlier to avoid the traffic.
The modal debería (conditional of deber) softens the obligation compared to the present debo. You can also use the imperfect subjunctive form debiera haber, which is common in Latin America and carries the same meaning: Debieras haber ido al médico is equivalent to Deberías haber ido al médico.
Podría haber — could have (unrealized possibility)
This expresses something that was possible but did not happen. It can be neutral (simply noting a missed possibility) or carry a tone of mild reproach (pointing out what someone failed to do):
Podrías haberme avisado antes de cambiar los planes.
You could have warned me before changing the plans.
The first example is a neutral observation — things turned out okay, but the outcome could have been worse. The second carries reproach — you should have warned me and you didn't. Context and tone of voice determine which reading applies.
In Latin American Spanish, podría haber is extremely common in casual conversation. You will hear it constantly in phrases expressing relief (Podría haber sido peor), frustration (Podrías haberme dicho), and speculation (Podría haber pasado cualquier cosa).
Unlike debería haber (which almost always involves regret), podría haber is more versatile — it can express gratitude for what was avoided, frustration at missed chances, or simply neutral acknowledgment that things might have gone differently.
Tiene que haber / Tuvo que haber — must have (strong deduction)
These express strong deduction or near-certainty about what happened in the past. The speaker is drawing a firm conclusion based on evidence.
Tiene que haber uses the present tense of tener — you are making the deduction now about a past event. Tuvo que haber uses the preterite — you are narrating a deduction made in the past.
Tiene que haber sido muy difícil para vos crecer en esas condiciones.
It must have been very difficult for you to grow up in those conditions.
Alguien tiene que haber dejado la puerta abierta, porque el gato se escapó.
Someone must have left the door open, because the cat escaped.
Tuvo que haber pasado algo grave para que cancelaran todo el evento.
Something serious must have happened for them to cancel the entire event.
Puede haber — may / might have (open possibility)
This expresses uncertainty — you consider it possible that something happened, but you are not sure:
Puede haber sido un error del sistema, no necesariamente un fraude.
It may have been a system error, not necessarily fraud.
Puede haber is weaker than tiene que haber (which implies near-certainty) and weaker than debe de haber (which implies a strong hunch). It leaves the question genuinely open. Think of it as a spectrum of certainty:
- Tiene que haber sido = I'm almost sure it was (95% certainty)
- Debe de haber sido = I think it probably was (75% certainty)
- Puede haber sido = it's possible it was (50% certainty or less)
Debe de haber — must have (probability / inference)
This is where the crucial distinction between deber (obligation) and deber de (probability) becomes most visible and most consequential. Debe de haber + participle expresses an inference or educated guess — the speaker has reason to believe something happened, but is not certain. Without de, the sentence would express obligation, which changes the meaning entirely.
Debe de haber llegado ya, porque salió hace dos horas.
He must have arrived by now, because he left two hours ago.
Debe de haber sido muy caro, a juzgar por el restaurante que eligieron.
It must have been very expensive, judging by the restaurant they chose.
Pronoun placement — two valid positions
With modal + perfect infinitive, pronouns can go in two positions, and both are equally correct and natural:
| Position | Example | Translation |
|---|---|---|
| Attached to haber (enclitic) | Debería habérselo dicho. | I should have told him. |
| Before the modal (proclitic) | Se lo debería haber dicho. | I should have told him. |
| Attached to haber (enclitic) | Podría habértelo contado antes. | I could have told you before. |
| Before the modal (proclitic) | Te lo podría haber contado antes. | I could have told you before. |
The choice between the two positions is purely a matter of personal preference and sentence rhythm. In Latin American Spanish, the proclitic position (before the modal) tends to be slightly more common in speech, while the enclitic position (attached to haber) is more common in writing.
Negation
Place no before the modal verb. The negative forms often carry specific nuances:
No debería haber aceptado ese trabajo tan rápido.
I shouldn't have accepted that job so quickly.
No puede haber sido tan difícil como decís.
It can't have been as difficult as you say.
Note the second example: no puede haber sido means "it can't have been" — expressing disbelief or impossibility, not just "it may not have been." The negation of puede haber creates a much stronger statement than the affirmative.
Querría haber — would have liked to
This construction expresses an unfulfilled desire about the past — something you wish you had done but didn't:
Querría haber viajado más cuando era joven.
I would have liked to have traveled more when I was young.
Querría haber estudiado medicina, pero no me alcanzó el dinero.
I would have liked to study medicine, but I couldn't afford it.
You can also use me hubiera gustado for the same meaning: Me hubiera gustado haber viajado más. Both are common in Latin American Spanish, though me hubiera gustado is heard more often in casual conversation.
Combining negation with different modals
The meaning of negation varies significantly depending on which modal you negate. Pay attention to these contrasts:
- No debería haber ido = I shouldn't have gone (I went, and I regret it)
- No podría haber ido = I couldn't have gone (it was impossible for me)
- No puede haber sido ella = It can't have been her (I reject the possibility)
- No tiene que haber sido fácil = It can't have been easy / It must not have been easy
The last example is particularly tricky: no tiene que haber sido can express either "it doesn't have to have been" (no obligation) or "it must not have been" (negative deduction), depending on context and intonation.
Full reference table
| Construction | Meaning | Example | Translation |
|---|---|---|---|
| debería haber + pp | should have | Debería haber ido. | I should have gone. |
| no debería haber + pp | shouldn't have | No debería haber ido. | I shouldn't have gone. |
| podría haber + pp | could have | Podría haber venido. | She could have come. |
| no podría haber + pp | couldn't have | No podría haber venido. | She couldn't have come. |
| tiene que haber + pp | must have (certainty) | Tiene que haber sido él. | It must have been him. |
| puede haber + pp | may/might have | Puede haber sido un error. | It may have been a mistake. |
| no puede haber + pp | can't have | No puede haber sido ella. | It can't have been her. |
| debe de haber + pp | must have (probability) | Debe de haber costado mucho. | It must have cost a lot. |
| querría haber + pp | would have liked to | Querría haber viajado más. | I would have liked to travel more. |
Common errors
Error 1: Confusing debería haber with debe de haber. Debería haber estudiado = I should have studied (regret / obligation about the past) Debe de haber estudiado = He must have studied (deduction / probability about the past) These express completely different ideas — obligation vs. inference.
Error 2: Double participle. Incorrect: Debería haber sido ido. Correct: Debería haber ido. — only one participle follows haber. Spanish compound tenses never stack two participles.
Error 3: Placing pronouns between modal and haber. Incorrect: Debería se lo haber dicho. Correct: Debería habérselo dicho. OR Se lo debería haber dicho. — pronouns go either before the modal or after haber, never in between.
Error 4: Using the wrong tense of the modal for the intended meaning. Debería haber ido = I should have gone (present regret about the past — most common) Debía haber ido = I was supposed to have gone (past obligation — narrative context) Hubiera debido ir = I should have gone (literary alternative — same as debería haber ido)
Related pages
- The Perfect Infinitive — haber + participle in all its uses
- Modal Verbs Across All Tenses — how modals change meaning across tenses
- Deber — deber and deber de in detail
- Poder — poder in all its uses
- Tener que — tener que as an obligation modal
- Conditional: Regular Forms — forming the conditional tense
Related Topics
- Deber + Infinitive (Should/Must)B1 — Use deber + infinitive to express moral obligation, duty, or strong recommendation, and deber de + infinitive for probability.
- Poder + Infinitive (Can/Be Able)A2 — Use poder + infinitive to express ability, permission, or possibility in Spanish.
- Tener + Que + Infinitive (Have To)A2 — Use tener que + infinitive to express personal obligation or something you have to do.
- The Perfect Infinitive (Haber + Participle)B2 — How to use the compound infinitive 'haber + past participle' after prepositions, with modals, and as a subject — emphasizing completed actions in non-finite clauses.
- Modal Verbs Across All TensesB2 — How poder, deber, saber, querer, and tener que shift meaning depending on the tense — especially the critical meaning changes in the preterite.
- Regular FormationB1 — Form the Spanish conditional by adding -ía endings to the full infinitive of any regular verb.