Channel codes can be divided into two main categories. One is the block codes, and the other is the convolutional codes. In the previous chapters, we studied the block codes in details. In this chapter, we will explain different types of error-correcting codes which are convolutional codes. Convolutional codes as their names imply are types of codes based on the convolutional operation. There are fundamental differences between convolutional and block codes. For block codes, we have definite code-word lengths; however, for convolutional codes, the length of the code-words is not a fixed number. Convolutional encoder circuits are constructed using memory elements such as flip-flops. In this chapter, we provide information about convolutional encoding and decoding operations. The impulse responses of the convolutional encoders are inspected in details. We also considered the generator and parity check matrices of the convolutional codes. The Viterbi decoding of convolutional codes is explained in a clear manner.