These are used to give advice, or say what we think would be a good thing to do now or in the future.
- Should and ought to mean the same, but should is used much more often.
The team should spend / ought to spend less time chatting, and more time training.
- Shouldn’t is used to give advice about what not to do. Oughtn’t to is also possible, but is used less and less.
The team shouldn’t spend so much time chatting.
- Had better (usually shortened to ’d better) normally refers to the present situation, rather than the future, and is more informal than the other two. It is used in speech more than in writing.
We’d better do some more practice before the match.

Should have done and ought to have done
These refer to the past, and are often used for criticism because an action didn’t happen.
We should have spent / ought to have spent longer practising.

Shouldn’t have done and (occasionally) oughtn’t to have done
These refer to the past, and are often used for criticism because an action happened. We shouldn’t have spent so long chatting. (We’ve missed our train.)


These activities practise this Grammar: