Tell is followed by the person who hears it; say is followed by the words themselves. So it's "he told me a secret" and "he said something strange" — never "he said me". If you want to name the listener after say, you need "to": "she said goodbye to her brother."
The pattern, not the meaning
These two verbs mean roughly the same thing. What separates them is the shape of the sentence they sit in.
- tell + person + thing: Tell me the truth. He told the police everything. She told us she was leaving.
- say + thing: Say something. He said nothing for a full minute. She said she was leaving.
Add the listener to a say sentence and you must bolt on to: What did you say to him? Leave the listener out of a tell sentence and it usually collapses: "He told that he was leaving" is not English.
The test
Look at the word that comes straight after the verb. If it names a person, you want tell. If it names what was spoken, you want say. That single check settles the overwhelming majority of cases.
Fixed phrases worth memorising
A handful of expressions simply belong to one verb, and no rule will predict them. These are best learnt as units:
- Tell: tell a story, tell a lie, tell a joke, tell the truth, tell the time, tell the difference, tell someone off
- Say: say hello, say sorry, say a prayer, say yes, say no, say a few words, say so
Notice that tell in some of these has drifted away from speaking altogether — tell the difference means distinguish, and I can't tell means I can't work it out.
Giving orders
For instructions, tell takes an infinitive and say does not: The doctor told me to rest. You cannot say "the doctor said me to rest". If you want say, you need a clause: The doctor said I should rest.
The mistake almost everyone makes
Two errors account for nearly all the trouble:
- He said me the answer. → He told me the answer.
- He told that he was busy. → He said that he was busy. (or He told me that he was busy.)
There are a few exceptions where tell stands without a named listener — time will tell, you never can tell, as far as I can tell — but these are set phrases, and none of them is about reporting speech.
Frequently Asked Questions
Is it "he said me" or "he told me"?
Always "he told me". Say cannot take a person directly after it. If you want to keep say, add "to": "he said it to me".
Can I say "tell a joke" and "say a joke"?
"Tell a joke" is the standard phrase. "Say a joke" is understood but sounds non-native; keep it as tell.
Which is right: "say goodbye" or "tell goodbye"?
Say goodbye. Greetings and farewells all take say — say hello, say goodnight, say sorry — and the person goes after "to": "I said goodbye to everyone".