Which one is correct to say: "It's me" or "It's I"?

I was taught at school that the following expression is not grammatically correct:

Who is there? It's me.

The correct one is:

Who is there? It's I.

Can you let me know which one is accurate?

Here is a good explanation about both forms.


As reported from the NOAD:

me /mi/
pronoun [first person singular]
1. used by a speaker to refer to himself or herself as the object of a verb or preposition:

Do you understand me?
Wait for me!

• used after the verb to be and after than or as:

Hi, it's me.
You have more than me.

• informal to or for myself:

I've got me a job.

It's then correct to say it's me.


"It is ME" is not grammatically correct in the academic sense, but is used in spoken English.

"It is I" is grammatically correct in the pure sense, but would never be used in spoken English - or very rarely by people who speak in an ultra-formal dialect.

"It is I" would have been correct in Shakespeare's time, in spoken English, but not now.


The answer to the question 'Who's there?' is 'It's me.' 'It is I' would normally be heard only when something else follows it, and then only in rather formal contexts, as in 'It is I who have done all the work, so it is I who should get the compensation.'