The main rule
Both tenses are haber in the subjunctive plus the participle. After a present trigger (no creo que, dudo que, me alegra que, es una pena que, espero que) an earlier event takes haya + participle: No creo que haya llegado. After a past trigger (no creía que, me molestó que, fue una pena que) it takes hubiera + participle: No creía que hubiera llegado. A regret about the past is ojalá hubiera + participle: Ojalá hubiera estudiado más.
Forms
Take haya (perfect) or hubiera (pluperfect) and add the participle, which never changes: haya hablado, hubiera comido. The auxiliary comes from haber and is the same for every verb.
| Tense | yo | tú | él, ella, usted | nosotros | vosotros (Spain) | ustedes, ellos |
|---|---|---|---|---|---|---|
| perfect | haya hablado | hayas hablado | haya hablado | hayamos hablado | hayáis hablado | hayan hablado |
| pluperfect | hubiera hablado | hubieras hablado | hubiera hablado | hubiéramos hablado | hubierais hablado | hubieran hablado |
Two spelling points: hayáis and hubiéramos carry a written accent, while hayamos does not. The other persons have none.
| Infinitive | Participle |
|---|---|
| hablar, comer, vivir | hablado, comido, vivido |
| hacer | hecho |
| decir | dicho |
| ver | visto |
| escribir | escrito |
| volver, devolver | vuelto, devuelto |
| poner | puesto |
| romper | roto |
| abrir | abierto |
| morir | muerto |
| resolver | resuelto |
| cubrir, descubrir | cubierto, descubierto |
Pronouns and no go before haya or hubiera, never between the auxiliary and the participle: Me alegra que se lo hayas dicho, No creo que lo haya hecho. Verbs built on these (descubrir, devolver, componer) keep the irregular participle.
English and Spanish
English keeps the plain indicative where Spanish wants the subjunctive: "I don't think he has arrived", "I'm glad you've passed", "It's a shame you didn't come". Spanish puts all of these in the subjunctive, and the perfect "has arrived" becomes haya llegado. The second trap is "I wish I had studied". English uses "had", and so must you, but as the subjunctive: Ojalá hubiera estudiado, never *había estudiado or *habría estudiado. Finally, "when you have finished" looks like a perfect, but Spanish needs the subjunctive after cuando for a future event: Cuando hayas terminado.
Which tense after which verb
| Main verb | Earlier event | Example |
|---|---|---|
| present, doubt or feeling (no creo que, me alegra que) | haya + participle | No creo que haya llegado |
| past, doubt or feeling (no creía que, me molestó que) | hubiera + participle | No creía que hubiera llegado |
| present, certainty (creo que, sé que) | indicative: ha llegado | Creo que ha llegado |
| past, certainty (sabía que, estaba seguro de que) | indicative: había llegado | Sabía que había llegado |
The triggers are the ones you already know: doubt and denial (no creo que, dudo que, es posible que, puede que), value judgements (es una pena que, es raro que), wishes (espero que, ojalá) and emotions (me alegra que, siento que). If the speaker states a fact (creo que, está claro que, es verdad que), the indicative stays.
Two honest nuances. After a present verb, the simple imperfect subjunctive is also possible for a past event: No creo que lo hiciera is correct next to No creo que lo haya hecho. The perfect ties the event to now, while the imperfect puts it in a closed past. After a past verb, the simple imperfect is common when the events are simultaneous or the order is clear anyway: Me molestó que no me llamaras. Hubiera makes "earlier" explicit. You will also meet hubiese (hubiese llegado), the -se variant with the same meaning. Recognise it, and use hubiera.
Examples
- No creo que haya llegado todavía. I don't think he has arrived yet.
- Me alegra que hayas aprobado el examen. I'm glad you've passed the exam.
- Es raro que no haya llamado. It's odd that he hasn't called.
- Espero que hayas dormido bien. I hope you slept well.
- No creía que hubiera llegado tan pronto. I didn't think he had arrived so soon.
- Me molestó que no me hubieras llamado. It annoyed me that you hadn't called me.
- Fue una pena que se hubieran ido antes. It was a shame they had left earlier.
- Ojalá haya salido bien la entrevista. I hope the interview went well.
- Ojalá hubiera estudiado más. I wish I had studied more.
- Cuando hayas terminado, llámame. When you have finished, call me.
Ojalá: not known yet or did not happen
Ojalá haya salido bien is a hope about something that has already happened, but the speaker does not know the result yet. Ojalá hubiera estudiado más is a regret: it did not happen. A time marker keeps the forms apart: Ojalá tuviera más tiempo ahora (present wish, previous topic) against Ojalá hubiera tenido más tiempo ayer (regret). Sentences with si hubiera belong to a later topic.
Cuando hayas terminado
For a future event that must be finished first, Spanish uses cuando, en cuanto, hasta que or después de que with the perfect subjunctive: En cuanto hayas terminado, avísame, No salgas hasta que haya parado la lluvia. The present subjunctive is just as correct (Cuando termines, llámame); the perfect stresses that the first action is complete. Never use the indicative or the future here.
Quick check
Ask two questions. Is the speaker doubting, judging or feeling something (not stating a fact)? Is the event earlier than the main verb? If both answers are yes, the main verb in the present gives haya, in the past gives hubiera.
Common mistakes
No creo que ha llegado.No creo que haya llegado. doubt takes the subjunctive, not the English-style indicativeMe alegra que has aprobado.Me alegra que hayas aprobado. feeling: subjunctiveMe sorprendió que ya habían terminado.Me sorprendió que ya hubieran terminado. past feeling about an earlier event: pluperfect subjunctiveOjalá había estudiado más.Ojalá hubiera estudiado más. regret: subjunctive, not the indicativeOjalá habría estudiado más.Ojalá hubiera estudiado más. no conditional after ojaláCuando habrás terminado, llámame.Cuando hayas terminado, llámame. subjunctive after cuando, not the futureEs raro que haya se ido.Es raro que se haya ido. pronoun before hayaDudo que hayan abrido la tienda.Dudo que hayan abierto la tienda. irregular participle
Questions and answers
What is the perfect subjunctive in Spanish?
It is haya + participle (haya llegado, hayas aprobado). It is used with doubt, feelings, judgements and wishes when the event happened before now: Me alegra que hayas aprobado.
What is the difference between haya hecho and hubiera hecho?
The tense of the main verb decides. A present verb takes haya hecho (No creo que lo haya hecho), a past verb takes hubiera hecho (No creía que lo hubiera hecho).
Can I say no creo que lo hiciera instead of no creo que lo haya hecho?
Yes, both are correct for a past event. The perfect links it to the present, while hiciera places it in a closed past.
What is the difference between hubiera and hubiese?
None in meaning. Hubiese is the -se variant; hubiera is more common, so use it and recognise the other.
How do you say "I wish I had studied" in Spanish?
Say Ojalá hubiera estudiado. For a hope about something whose result you do not know yet, use Ojalá haya salido bien.
Is it cuando hayas terminado or cuando termines?
Both are correct. Cuando hayas terminado stresses that the first action is complete; cuando termines is slightly more neutral.