Istnieje wiele bezpośrednich przyczyn zmian barwy nieba, ale wszystkie one wiążą się z tym, jak światło jest dyfrakcjonowane w powietrzu. Światło ze słońca może być wygięte, gdy porusza się w przestrzeni Ziemi. Atmosfera, a fale świetlne, które są w stanie przechodzić najłatwiej przez powietrze, nadają nieboskłonu kolor.
Światło ze słońca jest białe. Białe światło składa się ze wszystkich kolorów widocznych dla ludzi. Gdy to światło przechodzi przez bogatą w tlen atmosferę wokół Ziemi, krótkie długości fal odpowiadające barwie fioletu i indygo zostają odfiltrowane, a ich fale rozpraszają się po niebie. O wschodzie i zachodzie słońca, gdy słońce zbliża się do lokalnego horyzontu, światło musi przedostać się przez obserwator. To rozjaśnia światło bardziej niż zwykle, pozostawiając przede wszystkim dłuższe fale o żółtych, pomarańczowych i czerwonych barwach.
Cząsteczki w powietrzu mogą stworzyć podobny efekt. Czasami erupcja wulkanu, zanieczyszczenie przemysłowe lub pożar lasu dostarcza dużej ilości popiołu i pyłu do górnej atmosfery. To powoduje ściemnienie powierzchni i rozpraszanie światła w sposób, który zmienia niebo w różne kolory.