You already know how to give advice about now: you should call her. But what about advice that's too late — looking back at something that already happened and judging whether it was the right thing to do? English has a set of past modal forms for exactly that: should have, shouldn't have, and needn't have, all built the same way as the deduction forms you've already met — modal + have + past participle.
- You should have called me. Why didn't you? (criticism: you didn't do it, and it was the right thing to do)
- You shouldn't have shouted at him. It wasn't his fault. (criticism: you did it, and it was the wrong thing to do)
- I needn't have brought an umbrella. It didn't rain. (I brought one, but it turned out to be unnecessary)
The key shift: these modals both tell you what happened and judge it. Should have usually means the action didn't happen (and should have); shouldn't have and needn't have mean the action did happen — but shouldn't have, or wasn't necessary.
Should have / shouldn't have: criticism and regret
Use should have + past participle to say something was the right thing to do — but it didn't happen. It's a criticism of a missed action, often your own (regret) or someone else's.
- You should have told me you were coming. (you didn't tell me, and you should have)
- I should have studied harder for the exam. (I didn't, and now I regret it)
- We should have left earlier — now we're stuck in traffic.
Use shouldn't have + past participle for the opposite: something did happen, and it was the wrong thing to do.
- You shouldn't have said that — it hurt her feelings. (you said it, and it was wrong)
- I shouldn't have eaten so much cake. (I did, and now I regret it)
- He shouldn't have driven so fast in the rain.
| Form | What actually happened | Example |
|---|---|---|
| should have + past participle | it did NOT happen (but should have) | She should have worn a coat. (she didn't) |
| shouldn't have + past participle | it DID happen (but shouldn't have) | She shouldn't have worn heels for the hike. (she did) |
This is a completely different meaning from present should. ✅ You should call her (advice for the future) is not the same as ✅ You should have called her (criticism about the past) — the second one means the moment has already passed and the call never happened. For the present-time use, see Should (advice).
Should have can also express an expectation rather than a regret — They should have arrived by now means "I expect they have arrived," not a criticism. Context (and tone) usually makes it clear which meaning is intended; this article focuses on the regret/criticism use, which is by far the more common one to practise.
Needn't have: unnecessary, but done anyway
Use needn't have + past participle when an action was completed, but — looking back — it turns out it wasn't necessary. The key fact is that the action did happen.
- I needn't have hurried — the meeting was cancelled. (I hurried, but there was no need to)
- You needn't have bought so much food — only three people came. (you bought it, but it was more than needed)
- She needn't have worried; everything turned out fine. (she worried, but the worry was unnecessary)
Compare this with didn't need to (and didn't have to, which works the same way), which simply says there was no necessity — it doesn't tell you on its own whether the action happened or not:
- I didn't need to bring my passport, so I left it at home. (no requirement, and nothing was done)
- I didn't need to bring my passport, but I brought it anyway, just in case. (still no requirement — but here the context shows it was done)
- I needn't have brought my passport — it turned out I didn't need it. (this one always tells you the action was done, and only afterwards found unnecessary)
The useful distinction: if you want to say clearly, in one phrase, that something was done and turned out unnecessary, needn't have is the more precise choice — didn't need to leaves that ambiguous without extra context. ✅ I needn't have brought my umbrella — it didn't rain is unambiguous; ✅ I didn't need to bring my umbrella, so I left it at home is equally correct, but only because the second half of the sentence spells out what happened.
| Form | Does it say the action was done? | What it emphasises |
|---|---|---|
| needn't have + past participle | ✅ yes — always | the action happened, and turned out unnecessary |
| didn't need to / didn't have to + base verb | context decides | there was no obligation or requirement |
In American English, needn't have is less common; speakers more often use didn't have to, letting context show that the action was done anyway: I didn't have to bring an umbrella, but I did.
For the present-time equivalents of necessity and obligation — must, have to, don't need to — see Have to / must (obligation).
Could have: a missed possibility, sometimes criticism
Could have + past participle describes an unrealised possibility — something that was possible but didn't happen. Depending on context, it can sound neutral, admiring, or — especially with you — like mild criticism.
- You could have told me you'd be late! (it was possible, but you didn't — mild reproach)
- We could have taken a taxi, but we decided to walk. (an option that wasn't chosen — neutral)
- She could have won the race, but she stopped to help a friend instead. (not a criticism at all here — if anything, admiring)
The difference from should have is that should have always says the action was the right thing to do, while could have just points out it was possible — whether that reads as blame, praise, or plain fact depends entirely on the situation. You should have called is always a criticism; You could have called is not.
Could have also has the deduction sense you may already know (she could have missed the bus = maybe she did) — context tells you which meaning is intended. See Modals of deduction: past (must have, can't have) for that use.
All four side by side
| Modal + have | Meaning | Example |
|---|---|---|
| should have + past participle | right thing to do, but didn't happen | He should have apologised. |
| shouldn't have + past participle | wrong thing to do, and it happened | He shouldn't have laughed. |
| needn't have + past participle | happened, but wasn't necessary | He needn't have apologised — it wasn't his fault. |
| could have + past participle | possible, but didn't happen (neutral, or sometimes criticism) | He could have apologised, but he was too proud. |
All four share the same structure: modal + have + past participle, and the verb after have never changes for tense or subject.
Common mistakes
- ❌ You should call me yesterday. → ✅ You should have called me yesterday. (a past regret needs have + past participle, not the base form)
- ❌ I should to have told her. → ✅ I should have told her. (no to after should, even in the past form)
- ❌ I needn't have to bring an umbrella. → ✅ I needn't have brought an umbrella. (no to — needn't behaves like a modal, and the verb after have is a past participle, not the base form)
- ❌ He should have went home. → ✅ He should have gone home. (past participle gone, not the plain past tense went)
- ❌ You should of called me. → ✅ You should have called me. (should of is a common spelling mistake, from the sound of the contraction should've — always write have, never of)
Quick check
Choose the best form to complete each sentence.
- The roads were empty, so we ____ (leave) so early — we arrived an hour before the shop opened.
- I'm so sorry — I ____ (tell) you about the change of plans. It was wrong of me to stay silent.
- She was rude to the waiter. She ____ (be) so impatient.
- We ____ (buy) tickets in advance — they told us at the door it was free entry.
Show answers
- We needn't have left so early. (we left early, but it turned out unnecessary)
- I should have told you about the change of plans. (the right thing to do, but it didn't happen)
- She shouldn't have been so impatient. (it happened, and it was wrong)
- We needn't have bought tickets in advance. (we bought them, but it wasn't necessary)
Learn faster with GrammarMama
This article covers one topic — here's how GrammarMama helps you turn it into lasting progress:
-
Know your level — A quick placement test finds your CEFR level, so every exercise fits you. Find your level →
-
Follow a clear path — Practise every topic in the right order, from A1 all the way to C2. See the full path →
-
Set your own goal — Tell us what you're learning for, and exercises follow your interests. Set a goal →
-
Track your mistakes — See the patterns behind what trips you up, and fix them for good. Review your mistakes →
-
Build your vocabulary — Words from your exercises are saved and reviewed with spaced repetition. Open your vocabulary →
-
Practise speaking — Answer exercises out loud instead of typing, whenever you like. Try speech practice →
-
Train your pronunciation — Get instant, word-by-word feedback on how you sound. Train your pronunciation →
-
Practise a little every day — Short daily exercises, matched to your level, keep the language fresh. Start practising →
Key takeaways
- Should have + past participle = a criticism or regret about something that didn't happen but should have (it can also express expectation: they should have arrived by now).
- Shouldn't have + past participle = a criticism about something that did happen but shouldn't have.
- Needn't have + past participle = the action was done, but turned out to be unnecessary — more precise than didn't need to / didn't have to, which just say there was no obligation and leave it to context whether the action happened.
- Could have + past participle points out a missed possibility — something that was possible but didn't happen; this can read as criticism, praise, or neutral fact, depending on the situation.
- All of these follow modal + have + past participle, never to, and never a plain past-tense verb after have.