Small ice pieces, as well as snow, looks white, because the sunlight shining onto them gets completely reflected back, and no absorption of light by the ice particles take place. Hence, small ice pieces and snow appear white. However, large ice bergs and glaciers in most places appear blue in color. In nature, there are other things that appear blue, like the sky and sea water. But the phenomena involved in both cases that makes them appear blue are different, although they result in the same blue color.
Sky is blue due to Rayleigh scattering, while sea water is blue due to reflection of blue light and absorption of red light. The blue color of the ice berg or glacier is also due to Rayleigh scattering, or the Tyndall effect, after the release of blue light from the sunlight. As the ice is transparent, it permits light to pass through. Before the ice allows light to pass through it, the ice crystals absorb light of longer wavelengths from the visible spectrum. Hence, red light is absorbed. The major color left, which is blue light, has a shorter wavelength, and is allowed to pass through the glacier.
As the light travels deeper and deeper into the glacier the ice appears dark blue. This phenomenon of blue color becoming darker as the light goes deeper is due to scattering. Though sky also appears blue due to scattering, it is slightly different from what is occurring in the ice. In the sky, blue light gets absorbed and scattered, while in the ice, blue light gets reflected and scattered.
If the ice berg is thin, then all the white light is transmitted through it. If the ice is thick, then only blue light is transmitted through it. If we make a hole in the glacier and look through it, we can observe the blue color inside. So, glaciers appear blue due to reflection and scattering of the blue light present in sunlight.