The aim of this study is to develop an algorithm to detect and classify six types of electrocardiogram (ECG) signal beats including normal beats (N), atrial premature beats (A), right bundle branch block beats (R), left bundle branch block beats (L), paced beats (P), and premature ventricular contraction beats (PVC or V) using a neural network classifier. In order to prepare an appropriate input vector for the neural classifier several preprocessing stages have been applied. Continuous wavelet transform (CWT) has been applied in order to extract features from the ECG signal. Moreover, Principal component analysis (PCA) is used to reduce the size of the data. Finally, the MIT-BIH database is used to evaluate the proposed algorithm, resulting in 99.5% sensitivity (Se), 99.66% positive predictive accuracy (PPA) and 99.17% total accuracy (TA).