What is the difference between who and whom?

“Whom” is not always used when it should be.

Who and Whom are Relative Pronouns , and pronouns have cases — different versions, depending on how they are used.

Who ” is the nominative case, used as a subject or a predicate noun:

Who is he? Is she who we think she is?

(The verb “to be” is a linking verb and NEVER takes an object, always a predicate noun or predicate adjective.)

Whom ” is the objective case, used whenever you need an object in a sentence — Direct Object, Indirect Object, Object of Preposition:

Whom did you give it to? (“whom” is I.O., “it” is D.O.)

To whom is he speaking? (“whom” is I.O.)

They are the people from whom I received the gift. (“whom” is object of preposition “from”), (“gift” is D.O.)

You gave the present to WHOM? (incredulous) (“present” is D.O.; “whom” is I.O.)

In a sentence with both a direct and an indirect object, you may give something (D.O.) to someone/thing/a pet (I.O.), or you may do something (D.O.) for someone (I.O.).

A couple more examples of nominative case pronouns versus objective case pronouns:

I gave the book to him/her. (“I” is nominative case; “him/her” are objective case.)

She/He gave the book to me. (“She/He” are nominative case; “me” is objective case.)

Who ” is also an Interrogative pronoun — used to ask questions and can be singular or plural:

Who is he? Who are they?

Here is a partial pronoun chart from the site http://www.learnbritishenglish.co.uk/english-pronouns-visual-chart/ that shows the different versions of the Personal Pronouns :

Here’s an image from the Bogota Post that adds the Relative Pronouns “Who” and “Whom” in the last two columns:

Sorry if this is too long. Hope it’s helpful.