How it works
Snell's law describes how light bends when it crosses from one transparent material into another: the product of refractive index and the sine of the angle stays the same on both sides. Light entering a denser medium (higher index) bends toward the normal; entering a lighter one, it bends away.
The refractive index n measures how much a material slows light — 1.00 for vacuum, about 1.33 for water, 1.5 for glass, 2.42 for diamond. That slowing is the whole cause of refraction: as one edge of a light beam enters the slower medium first, the beam pivots, exactly like a trolley veering when one wheel hits sand.
Push the incidence angle far enough while leaving a dense medium for a lighter one and the required refraction sine exceeds 1 — impossible, so no ray escapes and all the light reflects internally. That threshold is the critical angle, and it is why optical fibres trap light and why a diamond sparkles.
Use it in real life
Why a straw looks bent: light from the submerged part refracts as it leaves the water, shifting where your eye thinks the straw is.
Fibre optics: light hits the fibre wall beyond the critical angle and totally internally reflects, racing down the cable for kilometres with almost no leakage — the backbone of the internet.
Lenses and glasses: every corrective lens, camera and microscope bends light by Snell's law at each curved surface to focus an image where you need it.
Frequently asked questions
What is the refractive index?
It is the ratio of light's speed in vacuum to its speed in the material. Higher index means slower light and stronger bending — water is 1.33, glass about 1.5, diamond 2.42.
What is total internal reflection?
When light tries to leave a denser medium for a lighter one at an angle beyond the critical angle, no refracted ray can exist, so all the light reflects back inside. This calculator shows a dash for θ₂ when that happens.
What is the critical angle?
The incidence angle at which refraction would be exactly 90°. Beyond it you get total internal reflection. It only exists when going from a higher-index medium to a lower-index one, so the calculator shows it only in that case.