Should Have vs. Must Have

Learning English? Check out my study guides.

Whether to use “should have” or “must have” trips up a lot of English learners.

The problem is that both of the following sentences are grammatical but carry different meanings:

[1] Tom should have paid the rent yesterday.
[2] Tom must have paid the rent yesterday.

The trick is that the same modal verbs show two very different concepts: obligation and inference. The first of these is the most straightforward, something is required.


[3] Tom has to pay the rent today.
[4] Tom needs to pay the rent today.
[5] Tom must pay the rent today.

These are all more or less the same. “Must” tends to be used with external obligations whereas “have to” with personal obligation. At the end of the day this isn’t critical and shortcut of “must” being more formal works nearly as well.

The tricky verb of this family is “should”, and it’s a magnet for mistakes, unintentional rudeness and awkward phrasings. Mastering “should” is tricky, but here’s a quick guide to at least avoid the worst faux pas.

Obligation in the future

Looking ahead with obligation is easy, just changed the adverb of time:

[3.f] Tom has to pay the rent tomorrow.
[4.f] Tom needs to pay the rent tomorrow.
[5.f] Tom must pay the rent tomorrow.

My general caution about the future holds: English has no true future tense, so be careful with will.

Obligation in the past

Examples [3] and [4] behave just like you’d expect in the past:

[3.p] Tom had to pay the rent yesterday.
[4.p] Tom needed to pay the rent yesterday.

Example [5] poses a problem, though. “Must” in the sense of obligation doesn’t have a past form. We simply use “had to”, thus:

[5.p] Tom had to pay the rent yesterday.

Alas! The land of regrets

Let’s say Tom was a bit forgetful and didn’t pay the rent even though he had to. To talk about regret over something that did not happen.

[6] Tom should have paid the rent yesterday. Now he’ll have to pay a late fee in addition to the rent.

Regrets in this format can be infinite:

[7] I should have gone on a diet before summer, now I’ll look terrible in my speedo and gold chain.

If we regret something that did actually happen, “should have” becomes “shouldn’t have”:

[8] I shouldn’t have eaten that second pizza, now I feel like crap.


We also use the same modal verbs to show that we’re making a guess based on evidence instead of directly knowing something. When we’re in the present, the structures for inferences and obligation are much the same:

[9] It’s got to be hot outside since everybody is wearing shorts.
[10] It has to be hot outside since everybody is wearing shorts.

[11] It must be hot outside since everybody is wearing shorts.

Both [9] and [10] are common while [11] is bit a more formal.

Inferences about future events

If you look at the weather for tomorrow and would like to make a prediction, “will” and “should” are you modal verbs of choice. “Going to” or present continuous are also possible for events that certain.

[12] I don’t have anything else to do, so I should finish the project tomorrow.
[13] I’ll finish the project tomorrow.
[14] I’m going to finish the project tomorrow.

Of these, [12] is the least certain and based on some sort of reason or evidence. Be careful to not confuse this meaning of “should” with obligation. [13] has the flavor of promise or spur or the moment decision, while [14] is a planned action.

Inferences about past events

If you see the results of an event in the past, you can make an inference about the event that caused what you’re currently observing. This structure causes the most confusion!

[15] The salesperson looks awful this morning, he must have gone out drinking with clients last night.
[16] He definitely has a hangover, he must not have drunk any pickle juice.

The key point to remember is that “must have done” can never refer to an obligation. It refers to an event that happened in the past with results that can be observed now.

One last gotcha is that “must not have” isn’t about prohibition or inability:

[17] I couldn’t go to the concert since I got sick.
[18] The bouncers didn’t let the guy into the club.

No need to translate

The best advice I can offer is to go through these examples without trying to translate them. In my experience this always leads to confusion. Instead, think through the meaning of each example, flesh out the broader context, decide whether it is inference or obligation and then select the right form. This won’t come naturally at first, but with enough practice it will slowly become intuitive.

You’re not a Chinese Room, take advantage of the fact that you can understand meaning! For more practice with inferences, see my study guide on modal verbs of probability.

Back to Tom

Let’s revisit our friend Tom.

[1] Tom should have paid the rent yesterday.

This means Tom didn’t pay the rent yesterday even though he had to.

[2] Tom must have paid the rent yesterday.

Some bit of evidence led an observer to conclude that Tom did, in fact, pay his rent yesterday. Maybe his wallet looked lighter, he wasn’t served an eviction notice or Tom has simply never missed a payment in his life.