It is a very tedious procedure to conduct exams. Exams are intended to test the students understanding, learning and knowledge acquired in the subject. The traditional way of conducting exams is expensive and very time consuming. The tasks that are involved in conducting an examination is to set the question paper by the teachers, answers to be written by the students and the teachers evaluating those answers manually. To set the question paper, the teacher has to go through lot of effort by reading several text books and prepare for the same. In the same way, it is very time consuming to check the answer sheet of each and every individual by reading it line to line and then giving them the marks. Another problem is the fair conduction of examination as it involves risks such as the paper getting leaked by some middleman during transportation or the teachers not evaluating the answer sheet for students in an unbiased manner. Therefore, the objective of this project is to develop an automated examination system that helps to make the examination system less tedious and time consuming and also helps to save multiple resources using machine learning, natural language processing and web technology. This will reduce human intervention and help to conduct examinations in a fast and efficient manner. It will also help to understand the student behaviour behind answering questions. Thus, this project aims at automating the process of examination system by preparing question papers as well as evaluating them and generate the results to reduce the hectic process that goes through preparing question papers and evaluating them.