I want to compile a list of most frequently used 100 words for every CEFR level in English language. Comprehensive word lists for each CEFR level are available online, but how do I select the most often used words from such detailed lists?

  • 1
    I'm pretty sure that the most commonly used words at A1 will still be the most common at C2 (the, a, an, of,...).
    – AML
    Aug 22, 2019 at 10:57

1 Answer 1


This does not seem to be a very interesting exercise, since even for level A1, you need to know more than 100 words (see What are estimates of vocabulary size for each CEFR level?, where the answers indicate that even for level A1, the estimated required vocabulary size varies a lot). You can't possibly pass tests for CEFR A2 or higher if at each level you add only the next 100 most frequently used words to your vocabulary.

However, identifying the most frequently used words among the new words for each level (i.e. ignoring those for lower levels) can be done; it is essentially a programming task, not a language learning task.

Assuming you have a list of the 20,000 most frequently used word in the English language (see e.g. the frequency lists based on COCA) and a separate list for each of the six CEFR levels, you need to take the following steps.

First, if the vocabulary list for CEFR C2 also contains the vocabulary for CEFR C1, and that the C1 lists also contains the vocabulary for B2, etc., you need to get rid of the words that the higher level list as in common with the lower level list. This requires the following steps:

  1. Take the C2 list. Take the C1 list.
  2. For each word in the C2 list, check whether it also occurs in the C1 list.
    • If yes, move on the the next word in the C2 list.
    • If no, copy the word to a new list called, for example, C2-only.

You need to repeat the same process with the C1 list and the B2 list, in order to create a C1-only list, etcetera. However, if the CEFR lists you acquired contained only the words that were "new" compared to the lower levels, you can skip this procedure. (And you don't need to do this for the A1 list anyway.)

Next, you need to identify the 100 most frequent words in C2-only, C1-only etcetera. This requires the following steps:

  1. Take the C2-only list. Take the frequency list, in which words are ordered by frequency.
  2. Descending the frequency list from most frequent to least frequent, check whether the "current word" (i.e. the one you're looking at) also occurs in the C2-only list.
    • If yes, copy it to a new list called, for example, C2-only-100.
    • If no, ignore it.
  3. Check the number of words in the new list (e.g. C2-only-100):
    • If the new list contains less than 100 words, move to the next word ("current word") and go to step two.
    • If the new list contains 100 words, stop the procedure.

You need to repeat the process for C1-only to create C1-only-100, etcetera, until you have a set of lists that contain only the 100 frequently used words among the new vocabulary at each CEFR level. How you do this in a specific programming language (Python, Ruby, Java, ...) is beyond the scope of this site.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.