Automatic Modulation Classification (AMC) is concerned with automatically identifying the modulation type of communication signals. AMC is the fundamental component of signal recovery systems and is also employed in jammers in military electronic warfare. Its potential to solve serious issues such as spectral congestion encourages one to develop systems that can quickly and efficiently identify the modulation class of intercepted signals. This thesis is dedicated to classifying digital signals into one of the eight classes: 8-Pulse shift keying (8-PSK), Binary pulse shift keying (BPSK), Continuous-phase frequency-shift keying (CPFSK), Gaussian frequency-shift keying (GFSK), 4-Pulse amplitude modulation (4-PAM), 16-Quadrature amplitude modulation (16-QAM), 64-QAM and Quadrature phase shift keying (QPSK). The classification task has been accomplished via machine learning techniques. The objective is to study and compare various classifiers for identifying the class of a digitally modulated signal. Machine learning classifiers k-Nearest Neighbors, Support Vector Machine, Decision Tree, Random Forests and Artificial Neural Networks were implemented. The classifiers were trained to perform the task of AMC and their performances were examined and compared with each other. Manual feature engineering was done to train the classifiers. An alternate solution to feature engineering was presented in the form of feature learning from raw data.