Data hiding is a technique by which secret data can be delivered securely by embedding it into a cover multimedia document. In this paper, a high capacity data hiding scheme based on block classification is proposed for binary images. In the proposed scheme, the block classification process determines complex regions in the image used for embedding secret data. For each block in the complex region of the image, some secret bits are embedded by lightly modifying few pixels to minimize an embedding distortion. On the receiver side, the secret bits can be then extracted without requiring the original image. Experimental results demonstrated that the proposed scheme obtained a high embedding capacity while maintaining a low distortion. In addition, when compared with previous schemes for binary images, the proposed scheme improved the embedding capacity significantly with the same level of embedding distortion.