Image compression is one of the most widespread techniques for applications that require transmission and storage of images in databases. In this paper we discuss about the image compression techniques, their need for compression, their characteristics, principles, and classes of compression and various algorithm of image compression. This paper discuss about available image compression algorithms based on Wavelet, JPEG/DCT, Vector Quantizer and Fractal compression. We also sum up the advantages and disadvantages of these algorithms for compression of grayscale images.