Alright, I'm having this huge ongoing debate with my friend about 'can't have' and 'couldn't have'. So I was talking to him a few days ago and, quite naturally, said, "No, she can't have passed the test!'' and he said that I meant 'couldn't have passed the test'. But 'can't have' sounds correct to me. Since then, we've been constantly arguing over 'can't have''s correctness. I say that both are right but he initially said that 'can't have' is totally incorrect, then switched to saying that it is correct, but MY context was wrong. Final question: would it be (in)correct for me to say, 'she can't have done that'. Please enlighten me.

  • Your first and last question seem to be the same question. If I say she has passed the test, you can argue it can't be: "No, she can't have passed the test." Same story with "She can't have done that." An aside: the idea that already/all ready carries over to alright/all right is natural, but not factual. Apr 5, 2017 at 15:40
  • 3
    Possible duplicate of can't have been vs. couldn't have been. Also Difference between can't and couldn't, but that one has no upvotes for the question or any answers. I think that suggests no-one here cares much about this specific point, and that it would be a better fit on English Language Learners. Apr 5, 2017 at 15:55

2 Answers 2


In my experience, (British English), both can't have and couldn't have are used. In language, context is key.

In your example (can't / couldn't have passed the test), the surrounding circumstances are not known.

Can't have done something expresses surprise at that moment or expressing something is not plausible, whereas couldn't have done something expresses a lack of ability or capability based on known facts. A couple of examples:

A: Guess what, I just heard that Sarah passed her driving test! B: Wow! She can't have! There must have been no other cars on the road!

A: The policeman arrested him for the burglary. B: He couldn't have done it as he was with me in the coffee shop all day.

  • I understand what you're saying. So if my friend said 'she passed the test' would it be incorrect for me to say that 'she can't have (passed the test)!'?
    – Dhruv Erry
    Apr 5, 2017 at 19:54
  • @DhruvErry - Only if you want to express disbelief. Apr 6, 2017 at 2:55

Can't is simply the opposite of can. A simple solution would be to check if can would work in the sentence. "She can have passed the test." This sentence sounds incredibly awkward however luckily for us English doesn't work in such a fashion. Since, can /can't show affirmation . They can only be used when you are sure that she hasn't passed the test. However whenever we are affirmitive we can just say "She did not pass the test". This leaves us with a intriguing paradox as there is no usage of can't .
Yet , colloquially it has a widespread usage . Since it has no probability in action . It is widely used in situations where you are sure that your statement is mostly true. Eg She can't have won the race as she was injured. She can't have been dirty as she just had a shower.

Whenever such a sentence is written in formal text, the reason for affirmation must become apparent in the sentence. Editors generally edit out and replace it with couldn't . This is because could has much more widespread application and is much more accepted. Back to your question. If you knew that she was failing the test for sure but you didn't know that she has failed. Then your sentence is correct provided it was apparent in the conversation which preceded that you had enough knowledge to be affirmative.However , in 100% pure and formal English your sentence would be incorrect.

Not the answer you're looking for? Browse other questions tagged or ask your own question.