Modal + Perfect Infinitive (Should Have, Could Have, Must Have)

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 constructionEnglish equivalentFunction
debería haber + participleshould haveRegret or criticism about a past action
no debería haber + participleshouldn't haveRegret or reproach about something done
podría haber + participlecould haveUnrealized possibility — something was possible but didn't happen
tiene que haber + participlemust have (certainty)Strong deduction about the past from present evidence
puede haber + participlemay / might haveOpen possibility about the past — uncertain
debe de haber + participlemust have (probability)Inference or assumption — softer than tiene que haber
querría haber + participlewould have liked to haveUnfulfilled 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.

Debería haber estudiado más para el examen.

I should have studied more for the exam.

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.

💡
There is an alternative construction: hubiera debido + infinitive. Hubiera debido estudiar más means the same as Debería haber estudiado más. Both are correct, but debería haber + participle is far more common in everyday Latin American speech. Use the alternative primarily for variety in writing.

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ía haber sido mucho peor.

It could have been much worse.

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.

💡
Podría haber looks backward at what was possible but didn't happen. For what might still be possible (present uncertainty about a past event), use the present tense: Puede haber sido un error (it may have been a mistake — we still don't know). The conditional podría implies the window of possibility has closed.

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.

💡
The distinction between deber (obligation) and deber de (probability) is one of the most commonly tested grammar points at B2-C1 level. Debería haber estudiado = "I should have studied" (obligation — expressing regret). Debe de haber estudiado = "He must have studied" (probability — deducing from evidence). In everyday speech, many speakers drop the de, but in writing and exams, maintaining the distinction demonstrates grammatical precision.

Pronoun placement — two valid positions

With modal + perfect infinitive, pronouns can go in two positions, and both are equally correct and natural:

PositionExampleTranslation
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.

💡
When pronouns attach to haber, add the accent mark: habérselo, habértelo, habernos. When they go before the modal, no accent changes are needed. Crucially, never place pronouns between the modal and haberdebería selo haber dicho is incorrect. They go either before the modal or after haber, never in the middle.

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

ConstructionMeaningExampleTranslation
debería haber + ppshould haveDebería haber ido.I should have gone.
no debería haber + ppshouldn't haveNo debería haber ido.I shouldn't have gone.
podría haber + ppcould havePodría haber venido.She could have come.
no podría haber + ppcouldn't haveNo podría haber venido.She couldn't have come.
tiene que haber + ppmust have (certainty)Tiene que haber sido él.It must have been him.
puede haber + ppmay/might havePuede haber sido un error.It may have been a mistake.
no puede haber + ppcan't haveNo puede haber sido ella.It can't have been her.
debe de haber + ppmust have (probability)Debe de haber costado mucho.It must have cost a lot.
querría haber + ppwould have liked toQuerrí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 Topics