We propose an image coding algorithm which employs data hiding techniques to ‘ ( f ~ l d ~ ’ a n image i n t o itself. Data hiding is a process of encoding extra information into a host image by making small modifications to its pixels. In our approach, an image is split into two parts of equal size: a host image and a residual image. The residual image is compressed into a bit stream and then embedded into the host image. The host image, which is 50% of the size of the original image, is coded using standard compression techniques. The embedded data does not increase the bit rate of the coded image. As a result, one may code only 50% pixels of the original image and still have perfect reconstruction. Experimental results indicate that the algorithm has a lot of potential in image coding.