The goal of this work is to build a classifier that can identify text complexity in service of English as a Second Language (ESL) learners. In order to present language learners with texts that are suitable to their level of English, a set of features that can best describe the lexical and syntactic complexity of a given text were identified. Using a corpus of 355 texts which had already been classified into three different levels of difficulty, I built two different models with different sets of features. These models were tested using four popular machine learning algorithms. The recall of the SVM classifier, who achieved the best results, is 0.87 and its precision is 0.88.