Confident and accurate license plate recognition is challenging due to the large number of noise factors. Such factors as: dirt on the plate, background of the plate, light, etc. To solve the problem under such conditions, a three-stage algorithm based on several convolutional neural networks is proposed. At the first stage, the plate is detected using a fast convolutional neural network SSD, in the second stage, the location of each character is quickly searched using the ResNet convolutional neural network, and in the third stage, each character is recognized using several ResNet convolutional neural networks. The experimental results on the sets show that the proposed approach surpasses the existing methods in terms of performance and recognition speed, while maintaining the same accuracy.