These terms are most commonly used in relation to teaching and learning English.
ESL - English as a Second Language
EFL - English as a Foreign Language
TESL - Teaching English as a Second Language
TEFL - Teaching English as a Foreign Language
TESOL - Teaching English to Students of Other Languages
ESL is taught when students are living in an English environment and have opportunities to use English outside of the classroom in natural authentic contexts. US, Canada & Australia are ESL contexts.
EFL is taught in countries where English is not the language of daily discourse and there are few if any opportunities to use English outside of class. Taiwan, Japan, & Korea are EFL contexts.
TEFL stands for Teaching English as a Foreign Language.
TESL stands for Teaching English as a Second Language.
The main difference between these are that ESL (English as a Second Language ), is English taught to foreign language speakers living in an English speaking country like The United States, Canada, England, Australia, etc.
EFL (English as a foreign language), on the other hand, is taught to those wishing to learn English for their study / work / hobby needs but who live in countries where English is not the first language.
TESOL (Teachers of English to Speakers of Other Languages, Inc.) is a global education association for English language teachers to speakers of others languages with individual and institutional members and extensive affiliations worldwide.
All these ways of teaching English can be bundled together into one unified term. Unfortunately, all the English teachers in the world cannot agree on just one. The term TESOL (teaching English to speakers of other languages) is used in American English to include both TEFL and TESL. British English uses ELT (English language teaching)
British qualifications:
Common, respected qualifications for teachers within the United Kingdom's sphere of influence include certificates and diplomas issued by UCLES (University of Cambridge Local Examinations Syndicate) and Trinity International Examinations Board of Trinity College, London.
A certificate course is usually undertaken before starting to teach. This is sufficient for many EFL jobs (see TEFL) and for some ESOL ones. UCLES offers the CELTA (Certificate in English Language Teaching to Adults), perhaps the most widely taken and accepted course for new teacher trainees. It is usually taught full-time over a one-month period; sometimes, part-time over a period up to a year. Trinity offer the CertTESOL (Certificate in Teaching English to Speakers of Other Languages), which is usually considered equivalent to the CELTA.
United States qualifications:
Most U.S. instructors at community colleges and universities qualify by taking an MA in TESOL. This degree also qualifies them to teach in most EFL contexts as well. In some areas of the country, nearly all elementary school teachers are involved in teaching ELLs (English Language Learners, that is, children who come to school speaking a home language other than English.) The qualifications for these classroom teachers vary from state to state but always include a state-issued teaching certificate for public instruction.
Admission to the MA in TESOL typically requires at least a bachelor's degree with a minor in English or linguistics. A degree in a foreign language can sometimes also be considered sufficient for admission.