C-tests are a reliable, accurate method for assessing learners’ language proficiency at any level. I’ve decided to create a simplified version of my C-Test generator MILA (multimedia interactive learning application) and to make it publicly accessible so that learners everywhere can use it to help them with their reading, anywhere at any time.
What is a c-test?
The C-test was developed in the 1980s at the Universität Duisburg-Essen in Germany – based on theories of language redundancy relating to Gestalt theory. The Simtest, a computerised adaptive test of foreign language ability designed and developed at the Universitat Autònoma de Barcelona (UAB) in Catalonia, Spain, uses c-tests extensively. Esmat Babaii and Hasan Ansary published a research paper at Shiraz University in Tehran on an objective evaluation of the c-test.
What does the free online c-test app do?
Learners can find any piece of electronic text that they can copy (Ctrl + c) and paste (Ctrl + v) into the C-Test generator text window. It then generates an interactive c-test that they can complete online in order to test themselves or the suitability of a text for extensive or intensive reading.
What doesn’t it do?
Unlike the fully functioning licensed version for learning management systems, the simplified version doesn’t send or record any user data, e.g. name, course, time taken, number of attempts, the source text used, or number of words completed. Also, you cannot download the C-Test generator app and use it elsewhere: It only works on this website. If you want to license the fully functioning version of the C-Test MILA, you can find out more about what it does here and how to license it here.
How to set the language proficiency level
The selected text used to generate the test determines the proficiency level. For example, if a learner is at B1 (CEFR) / Intermediate, they should select a text that is at that level. There are a variety of ways of determining the reading proficiency of texts, all with their specific uses and pros and cons, which are beyond the scope of this article. See this Wikipedia.org page for more details.
Conversely, it’s also a quick and easy way for learners to check if a text is at a suitable reading proficiency level for them. They can copy a sample paragraph of text, generate a c-test, and see if they can complete enough words on it. For example, if they score 95% or higher the text is suitable for Extensive Reading and anywhere below that will be suitable for intensive reading. A score below 50% will more than likely mean that the text is unsuitable for that learner.
Something that you may notice is that learners often score quite differently on texts that are supposedly at the same level of reading proficiency. This is usually because most learners acquire language “unevenly” and have strengths and weaknesses in particular topic areas. Typically, learners tend to score quite low on topics that are not interesting to them or that they’ve had little prior exposure to. You can experience this phenomenon for yourself by finding a text on a highly specialised topic in your native language that you know very little about.
The C-Test generator app
If the generated c-test is too long to fit in the app, click on the full screen button on the top left.




