Kar ve dolu arasındaki fark, oluşum süreçlerinden kaynaklanıyor. Kar, sıcaklık 0°C’un altına düştüğünde havadaki su buharının aniden soğuyarak katı hâle geçmesi ve oluşan küçük buz kristallerinin birleşmesiyle ortaya çıkan bir yağış türüdür. Küçük buz kristalleri, havadaki küçük bir parçacığın, örneğin bir toz taneciğinin üzerinde birikir ve büyüdükçe yere doğru düşmeye başlar. Kar taneleri sıcaklığı 0°C’un biraz üstünde olan nemli havanın içinden yere doğru düşerse dış yüzeyleri bir miktar erir ve bu nedenle başka kar taneleriyle bir araya gelebilir. Bu, daha büyük kar tanelerini oluşturur. Kuru ve soğuk bir havada ise toz hâlinde, daha küçük kar taneleri oluşur.
Dolu ise bulutların içindeki yuvarlak ya da düzensiz şekilli buz parçacıklarıdır. Bulutların içindeki yağmur damlacıklarının bir fırtına sırasında yükselmesi nedeniyle aniden soğuyarak donması sonucu oluşur. Yukarı ve aşağı yönlü hareketleri sırasında dolu tanelerinin yüzeyinde daha fazla su donarak birikir. Bu nedenle taneleri portakal büyüklüğünde dolu yağabilir. Dolu tanelerinin büyüklüğü bulutun içindeki suyun miktarına ve bulutun ne kadar yükseğe ulaştığına bağlı olarak değişir.