Why do soap bubbles have rainbow colors?
A bubble’s skin is thinner than the waves of light. Light bounces off both its outer and inner surface, and the two reflections overlap. Depending on how thick the film is at each spot, some colors are strengthened and others cancel out.
A skin thinner than a hair
A bubble is a layer of water held between two layers of soap. It’s only a few hundred millionths of a millimeter thick, hundreds of times thinner than a hair, and about as thick as light waves are long.
Share this stepLight bounces off twice
White light is a mix of all colors. When it hits the bubble, some reflects off the outer surface and some goes into the film and reflects off the inner surface.
Share this stepWaves add up or cancel out
The light from the inner surface travels a tiny bit farther. When the two reflections meet, some colors line up and get brighter while others cancel. Which colors win depends on the thickness of the film.
Share this stepA moving film means moving colors
The film is never even. Soap flows, water evaporates and gravity drains liquid to the bottom, so the thickness keeps changing and the colors swirl. Just before a bubble pops, the top often turns dark: it’s become too thin to strengthen any color.
Share this stepThe colors come from thickness, not dye.
White lightthin filmrainbow
You can see the same effect in a thin film of oil on a wet road. The bubble itself is colorless: change its thickness and you change its colors.
Common follow-up questions
Why do bubbles pop?
Water evaporates and drains to the bottom until the film at the top is too thin to hold together. Touching something dry or dusty pops it instantly.
Why are bubbles round?
The film pulls itself as tight as it can, and a sphere is the shape with the smallest surface for the air inside.
How do I make bubbles last longer?
Add a little glycerin or sugar to the soap mix to slow evaporation, and blow bubbles on a humid day out of the wind.
Why does an oil slick look like a rainbow too?
Same physics. A very thin layer of oil on water reflects light from its top and bottom, and the overlapping reflections create the colors.