This document presents a comparison of different convolutional neural network (CNN) models for handwritten number recognition that vary by layers. The models are trained on the MNIST dataset. A basic CNN model with convolutional, pooling, and fully connected layers is described. Models with different numbers and placements of layers are tested, and their training accuracy, validation accuracy, and test loss are compared. The optimal model is found to have two dropout layers and achieves 99.64% validation accuracy and the lowest test loss. User input can be tested on the model, and future work may involve improving accuracy for different writing styles.