Spanish modals — poder, deber, tener que, haber que, querer — combine with the compound infinitive haber + participio to talk about possibility, obligation, ability or desire directed at the past. The construction (modal in conditional or imperfect + haber + past participle) is how Spaniards regret things they didn't do, scold themselves for things they did, and speculate about what might have happened. Debería haber estudiado más. Podrían haber avisado. No tendrías que haberlo dicho así. This page covers how to express past regret, possibility, obligation and ability — and the three or four shapes English speakers consistently get wrong.
The shape of the construction
The pattern is always the same: a conjugated modal verb + haber (in the plain infinitive) + a past participle.
| Modal |
|
| Meaning |
|---|---|---|---|
| debería | haber | estudiado | I should have studied |
| podrías | haber | llamado | you could have called |
| tendría que | haber | ido | I would have had to go |
| habría que | haber | hecho | it would have been necessary to do |
| habría podido | haber | venido | he might/could have come |
Note that the modal carries all the tense and person marking. Haber never conjugates inside this construction — it stays in the bare infinitive — and the past participle is always invariable in masculine singular form (never agreeing with anything, since haber + participio is a perfect tense, not a passive).
Debería haber cogido el paraguas, estoy empapado.
I should have taken the umbrella, I'm soaked.
Podríais haber avisado de que ibais a llegar tarde.
You lot could have warned us that you were going to be late.
Tendría que haberme quedado en casa.
I should have stayed at home.
The conditional shapes (the workhorses)
The single most common shape is conditional simple of the modal + haber + participio. This is the form for retrospective regret, retrospective reproach, and retrospective speculation — by far the most useful family.
debería haber + participio — past obligation, regret
The "should have" of Spanish. The conditional of deber puts the obligation in a counterfactual frame: the obligation existed in the past, and was not honoured.
Deberías haberme dicho que no te apetecía venir.
You should have told me you didn't feel like coming.
No deberíamos haber firmado ese contrato sin leerlo.
We shouldn't have signed that contract without reading it.
Debería haber sido más paciente con ella.
I should have been more patient with her.
podría haber + participio — past possibility, missed opportunity
"Could have." Two meanings depending on context: an opportunity that wasn't taken (podría haber estudiado medicina) or a hypothesis about what might have happened (podría haber sido peor).
Podríamos haber ido al cine, pero al final nos quedamos en casa.
We could have gone to the cinema, but in the end we stayed home.
Podría haber sido mucho peor.
It could have been a lot worse.
¿Quién podría haber imaginado que acabarían así?
Who could have imagined they'd end up like this?
tendría que haber + participio — past necessity, stronger regret
A stronger, more emphatic version of debería haber. Tener que in the conditional perfect frame feels more pressing — the obligation was harder, the failure to meet it more pointed.
Tendrías que haberle pedido perdón en su momento.
You should have apologised to him at the time.
Tendríamos que haber salido antes para evitar el atasco.
We should have left earlier to avoid the traffic jam.
The difference between debería and tendría que is subtle and partly a matter of register: tendría que feels more colloquial and more emphatic, debería slightly more measured and broadly applicable. Native speakers move freely between them.
habría que haber + participio — impersonal regret
The impersonal form. Useful when you want to express that something needed to have been done without specifying who should have done it. Very Spanish in flavour — English speakers rarely produce it naturally because English has no neat equivalent.
Habría que haberlo hecho hace meses.
That should have been done months ago.
Habría que haber avisado a los vecinos antes de cortar el agua.
The neighbours should have been warned before the water was cut off.
The conditional-perfect double shape
Spanish also allows conditional perfect of the modal + haber + participio: habría podido haber venido. This double-perfect is grammatically possible but stylistically heavy; native speakers prefer the simpler podría haber venido. The simple form (habría podido venir, habría debido callarse) is also commonly seen as an alternative to podría haber venido / debería callarse.
Habría podido decírtelo, pero pensé que no te interesaba.
I could have told you, but I thought you weren't interested.
The imperfect shape (less common, contextually distinct)
Spanish also uses the imperfect of the modal + haber + participio. Debía haber llegado a las ocho reports a scheduled expectation: "he was supposed to have arrived at eight." Debería haber llegado a las ocho expresses regret: "he should have arrived — and that's a problem." The imperfect shape is more neutral and newsy; the conditional shape is evaluative.
El tren debía haber salido a las nueve, pero hubo un retraso.
The train was supposed to have left at nine, but there was a delay.
Pronoun placement
Object pronouns attach either to haber (as a single unit haberlo, haberse, habérselo) or climb to before the modal. Both placements are correct and roughly equivalent in register, with the climbed version slightly more emphatic.
Deberías habérselo dicho ayer.
You should have told him yesterday.
Se lo deberías haber dicho ayer.
You should have told him yesterday.
No tendrías que haberte enfadado tanto.
You shouldn't have got so angry.
No te tendrías que haber enfadado tanto.
You shouldn't have got so angry.
Reflexive se, dative le/les, and accusative lo/la/los/las all follow the same rules. The cluster habérselo, habérsela, habérmelo attaches with the written accent on haber to preserve stress (since adding the clitic creates an esdrújula).
Negation
Negation goes before the modal, not before haber. No debería haber dicho eso — never debería no haber dicho eso (which is ungrammatical) or debería haber no dicho eso (also ungrammatical).
No debería haber dicho eso en público.
I shouldn't have said that in public.
No podríamos haber hecho mejor trabajo.
We couldn't have done a better job.
The one exception is when the negation falls on the participle as a lexical unit — podría haberlo no entendido is awkward Spanish; the natural form is podría no haberlo entendido or podría haberlo malentendido (using a different verb).
Querer and saber in this shape
The construction extends to querer and saber in restricted ways. Habría querido haber + participio expresses an unfulfilled past wish, but it is stylistically heavy; habría querido conocerle or me habría gustado conocerle are the everyday alternatives. Habría sabido + infinitive claims retrospective competence (yo sí habría sabido qué decirle).
Habría querido haberle conocido antes.
I would have liked to have known him sooner.
Discourse uses: reproach, regret, hindsight
The modal-perfect family is the engine of hindsight discourse. Three moves dominate: self-reproach (no tendría que haberme metido), reproach to others (al menos podrías haber llamado), and hindsight speculation (sin la ayuda de Marta, esto podría haber terminado fatal).
Al menos podrías haber llamado para avisar.
You could at least have called to warn us.
In conditional sentences
Modal perfects pair naturally with type-3 si-clauses (counterfactual past). The si-clause uses pluscuamperfecto de subjuntivo; the result clause can use a modal perfect to soften or modulate the consequence.
Si me lo hubieras dicho, habría podido ayudarte.
If you'd told me, I could have helped you.
Si hubiéramos salido antes, no tendríamos que haber esperado tanto.
If we'd left earlier, we wouldn't have had to wait so long.
Si lo hubiera sabido, debería haber actuado de otra manera.
If I'd known, I should have acted differently.
See Si-clauses tipo 3 for the full treatment of the conditional structure.
Register and frequency
These shapes are register-neutral in Spain — equally at home in conversation, journalism and formal writing. The colloquial peninsular alternative using hubiera + participio in the result clause of a counterfactual also accepts modal perfects: si me lo hubieras dicho, te hubiera podido ayudar is heard regularly in speech, though te habría podido ayudar is preferred in writing. Modal perfects are rarer in simple past narrative; they interrupt narrative time to comment on it — an evaluative move, not a narrative one.
How this differs from English
English uses should/could/would/might have + past participle, with shapes that line up one-to-one with Spanish: should have studied = debería haber estudiado. The differences:
- Clitic placement. Spanish allows climbing (se lo debería haber dicho) where English has no equivalent.
- Impersonal habría que haber. English has nothing parallel.
- Imperfect-modal shape. Debía haber llegado = "was supposed to have arrived," a distinct meaning English speakers tend to collapse into "should have."
Common Mistakes
❌ Debería estudiar más anoche.
Incorrect — English speakers map 'I should have studied' onto *debería* + infinitive, but *debería* + infinitive locates the obligation in the present/future. Past regret requires *haber* + participle.
✅ Debería haber estudiado más anoche.
I should have studied more last night.
❌ Debería haber estudiada más.
Incorrect — the participle in *haber* + participle never agrees; it stays masculine singular regardless of the subject's gender.
✅ Debería haber estudiado más.
I should have studied more.
❌ No debería haber no dicho eso.
Incorrect — negation goes before the modal, not between *haber* and the participle.
✅ No debería haber dicho eso.
I shouldn't have said that.
❌ Deberías haber dicho me la verdad.
Incorrect — clitics attach to *haber* as a single word (*habérmela*) or climb to before the modal; they cannot float after *haber*.
✅ Deberías haberme dicho la verdad. / Me deberías haber dicho la verdad.
You should have told me the truth.
❌ Debería de haber sido más amable.
Incorrect — *deber de* expresses inference ('must have been'), not retrospective obligation ('should have been'). For regret, use *deber* without *de*.
✅ Debería haber sido más amable.
I should have been nicer.
Key Takeaways
- The construction is modal (conditional or imperfect) + haber
- past participle
- Debería / tendría que / podría / habría que haber + participio is the everyday family for past regret, reproach, possibility, and impersonal necessity.
- The double-perfect habría podido haber + participio is grammatically possible but heavy — prefer the simpler conditional.
- Debía haber + participio (imperfect modal) reports a scheduled past expectation; debería haber + participio (conditional modal) evaluates a past failure. Don't blur them.
- Pronoun placement is free: se lo debería haber dicho = deberías habérselo dicho.
- Negation always goes before the modal: no debería haber, never debería no haber.
Now practice Spanish
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Spanish→Related Topics
- Infinitivo compuesto: 'haber + participio'B2 — The perfect infinitive (haber + participle) — how Spanish expresses prior action in non-finite contexts after verbs, prepositions, and connectors.
- Usos del condicional compuestoB2 — When to use the conditional perfect (habría hablado) — past counterfactuals, unrealised intentions, and reported future-perfect.
- Deseos y arrepentimientos: si hubieraB2 — How to express wishes, regrets, and counterfactuals in Spanish — ojalá, si hubiera, tendría que haber, and the constellation of structures around them.
- Matriz de tiempos modalesC1 — A reference grid for poder, deber and querer across present, imperfect, preterite, conditional and perfect — showing how tense rewrites the modal meaning.
- Si-clauses tipo 3: pluscuamperfecto de subjuntivo + condicional compuestoB2 — Past counterfactual conditionals — if I had done X, I would have done Y — built with the pluperfect subjunctive in the si-clause and the conditional perfect in the result clause.