How to reply to question tags

English is not my native-tongue, so I always find it hard to grasp the concept of "question tags" and more importantly the way to answer to them. Let me explain with the help of this situation -

I am supposed to complete my homework and I haven't. My mom suspects that I haven't and asks me the below question. I want to confess that I haven't. What should I answer?

Mom : You didn't finish your homework, did you?

Me : Yes, I haven't [OR] No, I haven't?

I've always thought that it is "Yes, I haven't" because the questioner has already found out that I haven't and I should just assert it by saying 'Yes'. But a friend of mine says that it is "No, I haven't" because I am effectively answering the question "did you?".

Which of us is correct?


When someone asks a question by stating a negative fact, it would seem logical to answer affirmatively because the fact is true. However, it is more common to answer negatively to confirm the negativity.

Mom: You didn't finish your homework, did you?

You: No, I didn't

Mom: You finished your homework, didn't you?

You: No, I didn't

In both cases the Mom wants to know about the status of the homework and the questions are equivalent to

Mom: Did you finish your homework?

(The reason to use the tag form is to communicate the speaker's assumptions or surprise or expectations about the homework rather than just asking for a status update).

There is more explanation about this here.


I personally think you should reply "No I didn't", because you didn't finish your homework.

You should not base your answer on the question tag itself, but rather on the actual answer to (in this case) "Did you finish your homework?"...

Look, I got a nice example from a site. Both these question tags are negative, but still the answer changes:

  • The earth is bigger than the moon, isn't it? Yes, it is.
  • The earth is bigger than the sun, isn't it? No, it isn't!

EDIT (@MediumOne in the comments):
That doesn't really matter and I'll tell you why: when I reply to a question with a question tag, I don't really mind the question tag itself. I'm not a native speaker so I don't know how native speakers behave. But I think the way is to look at the question, is it negative or positive? Let's try, for example, with a "negative" question:
"You didn't go to the Mall, did you?".
If you say "No I didn't", you are CONFIRMING the question (you didn't go to the Mall), on the contrary, if you say "yes, I did", you are DENYING the question (you did go to the Mall).

The same goes for a "positive question" but on the opposite.
EX: "You did go to the Mall, didn't you?".
If you say "No I didn't", in this case, you are not confirming like before, but denying, and so if you say "Yes I did" you are confirming.

Summary: If the question (not question tag, just the actual question) is negative, a "no" confirms, if the question is positive, "yes" confirms. (If some native speaker can say something about this, it would be nice.)