- Understand the three types of conditional sentences in Spanish
- Master Type 1: Real conditions (si + present, future)
- Master Type 2: Hypothetical present (si + imperfect subjunctive, conditional)
- Master Type 3: Hypothetical past (si + pluperfect subjunctive, conditional perfect)
- Know when to use indicative vs subjunctive with "si"
The rule at a glance
Si + condition, result
The less likely the condition, the further back the tenses go
Type 1: real
si + present, future
likely to happen
Si llueve, me quedaré en casa.
If it rains, I'll stay at home.
Type 2: hypothetical
si + imperfect subjunctive, conditional
unreal now or unlikely
Si tuviera dinero, compraría un piso.
If I had money, I would buy a flat.
Type 3: past
si + pluperfect subjunctive, conditional perfect
didn't happen
Si hubiera estudiado, habría aprobado.
If I had studied, I would have passed.
- When si means "if", never put the future or conditional after it: Si llueve mañana, not Si lloverá mañana; Si tuviera, not Si tendría. (When si means "whether", you can: No sé si vendrá.)
- Type 1 or Type 2? It depends on how likely it is: Si viene Juan (I think he will) vs Si viniera Juan (I doubt it).
What You'll Learn
Overview
Conditional sentences (also called "if clauses" or "si clauses") express what will, would, or would have happened under certain conditions. Spanish has three main types, each with specific verb tenses and meanings.
Type 1: Real/Possible
Type 2: Hypothetical Present
Type 3: Hypothetical Past
Key Insight
The type of conditional you choose depends on how real or possible the condition is:
- Type 1 = Real possibility (might actually happen)
- Type 2 = Unreal present (contrary to current reality)
- Type 3 = Unreal past (contrary to what actually happened)
Structure & Formation
Type 1: Real/Possible Conditions
Formula: Si + present indicative, future/present/imperative
Use Type 1 for conditions that are real and possible in the present or future.
Si + present, future
Si + present, present
Si + present, imperative
Si + present, ir a + infinitive
Type 2: Hypothetical Present/Future
Formula: Si + imperfect subjunctive, conditional
Use Type 2 for hypothetical or contrary-to-fact situations. These are things that are not true now or unlikely to happen.
Tip: Type 2 is the most common conditional for giving advice:
Yo en tu lugar, estudiaría más = If I were you, I would study more
Type 3: Hypothetical Past
Formula: Si + pluperfect subjunctive, conditional perfect
Use Type 3 for impossible past situations - things that didn't happen but you're imagining what would have happened if they had.
Pluperfect subjunctive: hubiera/hubiese + participle | Conditional perfect: habría + participle
Quick Reference: All Three Types
Examples
Type 1: Real/Possible
Type 2: Hypothetical Present
Type 3: Hypothetical Past
Common Mistakes
Never use future or conditional after "si"
Unlike English, you can never use future or conditional in the "si" clause:
Don't confuse "si" (if) with "sí" (yes)
These are two different words - notice the accent mark on "sí" meaning "yes":
Type 1 vs Type 2: probability matters
Both can refer to future time, but with different implications:
Wrong subjunctive form for Type 2
Use imperfect subjunctive (not present subjunctive) for Type 2:
Mixing up conditional types
Keep the verb tenses consistent within each type:
Forgetting "hubiera" in Type 3
Type 3 requires pluperfect subjunctive (hubiera + past participle):
Quick Test
Test your mastery of all three types of conditional sentences!
1. Si _____ (tener-yo) tiempo mañana, iré al gimnasio. (Type 1)
2. Si _____ (ser-yo) rico, viajaría por todo el mundo. (Type 2)
3. Si _____ (estudiar-yo) más, habría pasado el examen. (Type 3)
4. Si llueve, _____ en casa. (Habitual action)
5. Si tuviera más dinero, _____ (comprar) un coche nuevo.
6. Si hubieras venido a la fiesta, _____ (conocer) a mis amigos.
7. Which is correct for a real possibility tomorrow?
8. Si _____ (ver-tú) a María, dile que me llame.
Want more practice? Try our interactive fill-in-the-blank exercises to master conditional sentences in context!