This should make things a little clearer…
TEFL = teaching English as a foreign language
TESOL = teaching English to speakers of other languages
TESL = teaching English as a second language
What’s the difference then? Quite often there isn’t one. Although technically they stand for different things, many people use them interchangeably.
TESOL could be said to be the main umbrella term and could apply to teaching anyone whose first language is not English.
TESL is more often used when the learners are staying more permanently in a country where English is the native language. Therefore, English will be their second language, rather than a foreign language in that context. This could, for example, involve teaching asylum seekers or people who have permanent residence in an English speaking country, but are still learning the language.
You’re more likely to talk about TEFL when you are teaching in a country where the first language is not English, i.e. English is a foreign language. For example, you go to Japan to teach. TEFL can sometimes also refer to teaching English in an English-speaking country to temporary students. For example, a Spanish student going to the UK to study for the summer and then return to Spain.