Steganography is the technique/science of hiding information inside some innocent looking canvas like images. The growth of internet and communication technology has enabled the demand to send a message as safely and as securely as possible. In the last few years, we have seen that new and powerful steganography techniques reported in the literature. This paper intends to give an overview of image steganography, its applications and techniques. The paper gives the description of various techniques used in steganography and attempts to identify the requirements of a good steganography algorithm.